1
0

feat: rename list to project everywhere

fix: project table view

fix: e2e tests

fix: typo in readme

fix: list view route

fix: don't wait until background is loaded for list to show

fix: rename component imports

fix: lint

fix: parse task text

fix: use list card grid

fix: use correct class names

fix: i18n keys

fix: load project

fix: task overview

fix: list view spacing

fix: find project

fix: setLoading when updating a project

fix: loading saved filter

fix: project store loading

fix: color picker import

fix: cypress tests

feat: migrate old list settings

chore: add const for project settings

fix: wrong projecten rename from lists

chore: rename unused variable

fix: editor list

fix: shortcut list class name

fix: pagination list class name

fix: notifications list class name

fix: list view variable name

chore: clarify comment

fix: i18n keys

fix: router imports

fix: comment

chore: remove debugging leftover

fix: remove duplicate variables

fix: change comment

fix: list view variable name

fix: list view css class name

fix: list item property name

fix: name update tasks function correctly

fix: update comment

fix: project create route

fix: list view class names

fix: list view component name

fix: result list class name

fix: animation class list name

fix: change debug log

fix: revert a few navigation changes

fix: use @ for imports of all views

fix: rename link share list class

fix: remove unused css class

fix: dynamically import project components again
This commit is contained in:
kolaente
2022-11-13 22:04:57 +01:00
committed by Gitea
parent b9d3b5c756
commit befa6f27bb
133 changed files with 1873 additions and 1881 deletions

View File

@ -31,10 +31,10 @@
:loading="loading"
>
<div class="p-2">
<single-task-in-list
<single-task-in-project
v-for="t in tasks"
:key="t.id"
:show-list="true"
:show-project="true"
:the-task="t"
@taskUpdated="updateTasks"/>
</div>
@ -52,7 +52,7 @@ import {formatDate} from '@/helpers/time/formatDate'
import {setTitle} from '@/helpers/setTitle'
import Fancycheckbox from '@/components/input/fancycheckbox.vue'
import SingleTaskInList from '@/components/tasks/partials/singleTaskInList.vue'
import SingleTaskInProject from '@/components/tasks/partials/singleTaskInProject.vue'
import DatepickerWithRange from '@/components/date/datepickerWithRange.vue'
import {DATE_RANGES} from '@/components/date/dateRanges'
import LlamaCool from '@/assets/llama-cool.svg?component'

View File

@ -13,10 +13,10 @@
:can-write="canWrite"
ref="heading"
/>
<h6 class="subtitle" v-if="parent && parent.namespace && parent.list">
<h6 class="subtitle" v-if="parent && parent.namespace && parent.project">
{{ getNamespaceTitle(parent.namespace) }} &rsaquo;
<router-link :to="{ name: 'list.index', params: { listId: parent.list.id } }">
{{ getListTitle(parent.list) }}
<router-link :to="{ name: 'project.index', params: { projectId: parent.project.id } }">
{{ getProjectTitle(parent.project) }}
</router-link>
</h6>
@ -35,7 +35,7 @@
</div>
<edit-assignees
:disabled="!canWrite"
:list-id="task.listId"
:project-id="task.projectId"
:task-id="task.id"
:ref="e => setFieldRef('assignees', e)"
v-model="task.assignees"
@ -254,7 +254,7 @@
<related-tasks
:edit-enabled="canWrite"
:initial-related-tasks="task.relatedTasks"
:list-id="task.listId"
:project-id="task.projectId"
:show-no-relations-notice="true"
:task-id="taskId"
:ref="e => setFieldRef('relatedTasks', e)"
@ -262,7 +262,7 @@
</div>
<!-- Move Task -->
<div class="content details" v-if="activeFields.moveList">
<div class="content details" v-if="activeFields.moveProject">
<h3>
<span class="icon is-grey">
<icon icon="list"/>
@ -271,9 +271,9 @@
</h3>
<div class="field has-addons">
<div class="control is-expanded">
<list-search
@update:modelValue="changeList"
:ref="e => setFieldRef('moveList', e)"
<project-search
@update:modelValue="changeProject"
:ref="e => setFieldRef('moveProject', e)"
/>
</div>
</div>
@ -386,12 +386,12 @@
{{ $t('task.detail.actions.relatedTasks') }}
</x-button>
<x-button
@click="setFieldActive('moveList')"
@click="setFieldActive('moveProject')"
variant="secondary"
icon="list"
v-shortcut="'m'"
>
{{ $t('task.detail.actions.moveList') }}
{{ $t('task.detail.actions.moveProject') }}
</x-button>
<x-button
@click="setFieldActive('color')"
@ -455,7 +455,7 @@ import TaskService from '@/services/task'
import TaskModel, {TASK_DEFAULT_COLOR} from '@/models/task'
import type {ITask} from '@/modelTypes/ITask'
import type {IList} from '@/modelTypes/IList'
import type {IProject} from '@/modelTypes/IProject'
import {PRIORITIES, type Priority} from '@/constants/priorities'
import {RIGHTS} from '@/constants/rights'
@ -473,7 +473,7 @@ import Description from '@/components/tasks/partials/description.vue'
import EditAssignees from '@/components/tasks/partials/editAssignees.vue'
import EditLabels from '@/components/tasks/partials/editLabels.vue'
import Heading from '@/components/tasks/partials/heading.vue'
import ListSearch from '@/components/tasks/partials/listSearch.vue'
import ProjectSearch from '@/components/tasks/partials/projectSearch.vue'
import PercentDoneSelect from '@/components/tasks/partials/percentDoneSelect.vue'
import PrioritySelect from '@/components/tasks/partials/prioritySelect.vue'
import RelatedTasks from '@/components/tasks/partials/relatedTasks.vue'
@ -484,7 +484,7 @@ import CustomTransition from '@/components/misc/CustomTransition.vue'
import {uploadFile} from '@/helpers/attachments'
import {getNamespaceTitle} from '@/helpers/getNamespaceTitle'
import {getListTitle} from '@/helpers/getListTitle'
import {getProjectTitle} from '@/helpers/getProjectTitle'
import {scrollIntoView} from '@/helpers/scrollIntoView'
import {useBaseStore} from '@/stores/base'
@ -536,26 +536,26 @@ const visible = ref(false)
const taskId = toRef(props, 'taskId')
const parent = computed(() => {
if (!task.listId) {
if (!task.projectId) {
return {
namespace: null,
list: null,
project: null,
}
}
if (!namespaceStore.getListAndNamespaceById) {
if (!namespaceStore.getProjectAndNamespaceById) {
return null
}
return namespaceStore.getListAndNamespaceById(task.listId)
return namespaceStore.getProjectAndNamespaceById(task.projectId)
})
watch(
parent,
(parent) => {
const parentList = parent !== null ? parent.list : null
if (parentList !== null) {
baseStore.handleSetCurrentList({list: parentList})
const parentProject = parent !== null ? parent.project : null
if (parentProject !== null) {
baseStore.handleSetCurrentProject({project: parentProject})
}
},
{immediate: true},
@ -616,7 +616,7 @@ type FieldType =
| 'dueDate'
| 'endDate'
| 'labels'
| 'moveList'
| 'moveProject'
| 'percentDone'
| 'priority'
| 'relatedTasks'
@ -631,7 +631,7 @@ const activeFields : {[type in FieldType]: boolean} = reactive({
dueDate: false,
endDate: false,
labels: false,
moveList: false,
moveProject: false,
percentDone: false,
priority: false,
relatedTasks: false,
@ -666,7 +666,7 @@ const activeFieldElements : {[id in FieldType]: HTMLElement | null} = reactive({
dueDate: null,
endDate: null,
labels: null,
moveList: null,
moveProject: null,
percentDone: null,
priority: null,
relatedTasks: null,
@ -743,7 +743,7 @@ const showDeleteModal = ref(false)
async function deleteTask() {
await taskStore.delete(task)
success({message: t('task.detail.deleteSuccess')})
router.push({name: 'list.index', params: {listId: task.listId}})
router.push({name: 'project.index', params: {projectId: task.projectId}})
}
function toggleTaskDone() {
@ -758,12 +758,12 @@ function toggleTaskDone() {
})
}
async function changeList(list: IList) {
async function changeProject(project: IProject) {
kanbanStore.removeTaskInBucket(task)
await saveTask({
task: {
...task,
listId: list.id,
projectId: project.id,
},
})
}