diff --git a/src/views/list/ListWrapper.vue b/src/components/list/ListWrapper.vue similarity index 100% rename from src/views/list/ListWrapper.vue rename to src/components/list/ListWrapper.vue diff --git a/src/helpers/saveCollapsedBucketState.ts b/src/helpers/saveCollapsedBucketState.ts index f784a9190a..aa74ad34e9 100644 --- a/src/helpers/saveCollapsedBucketState.ts +++ b/src/helpers/saveCollapsedBucketState.ts @@ -1,19 +1,20 @@ +import type {IBucket} from '@/modelTypes/IBucket' import type {IList} from '@/modelTypes/IList' const key = 'collapsedBuckets' -const getAllState = () => { - const saved = localStorage.getItem(key) - if (saved === null) { - return {} - } +export type CollapsedBuckets = {[id: IBucket['id']]: boolean} - return JSON.parse(saved) +function getAllState() { + const saved = localStorage.getItem(key) + return saved === null + ? {} + : JSON.parse(saved) } export const saveCollapsedBucketState = ( listId: IList['id'], - collapsedBuckets, + collapsedBuckets: CollapsedBuckets, ) => { const state = getAllState() state[listId] = collapsedBuckets @@ -25,11 +26,9 @@ export const saveCollapsedBucketState = ( localStorage.setItem(key, JSON.stringify(state)) } -export const getCollapsedBucketState = (listId : IList['id']) => { +export function getCollapsedBucketState(listId : IList['id']) { const state = getAllState() - if (typeof state[listId] !== 'undefined') { - return state[listId] - } - - return {} + return typeof state[listId] !== 'undefined' + ? state[listId] + : {} } diff --git a/src/stores/kanban.ts b/src/stores/kanban.ts index 76d29dfe2b..cd5dfc65a4 100644 --- a/src/stores/kanban.ts +++ b/src/stores/kanban.ts @@ -69,7 +69,7 @@ export const useKanbanStore = defineStore('kanban', { getters: { getBucketById(state) { - return (bucketId: IBucket['id']) => findById(state.buckets, bucketId) + return (bucketId: IBucket['id']): IBucket | undefined => findById(state.buckets, bucketId) }, getTaskById(state) { @@ -265,11 +265,12 @@ export const useKanbanStore = defineStore('kanban', { // Clear everything to prevent having old buckets in the list if loading the buckets from this list takes a few moments this.setBuckets([]) - params.per_page = TASKS_PER_BUCKET - const bucketService = new BucketService() try { - const buckets = await bucketService.getAll({listId}, params) + const buckets = await bucketService.getAll({listId}, { + ...params, + per_page: TASKS_PER_BUCKET, + }) this.setBuckets(buckets) this.setListId(listId) return buckets diff --git a/src/views/list/ListGantt.vue b/src/views/list/ListGantt.vue index b032f74bb5..b46b42819c 100644 --- a/src/views/list/ListGantt.vue +++ b/src/views/list/ListGantt.vue @@ -57,7 +57,7 @@ import {useBaseStore} from '@/stores/base' import {useAuthStore} from '@/stores/auth' import Foo from '@/components/misc/flatpickr/Flatpickr.vue' -import ListWrapper from './ListWrapper.vue' +import ListWrapper from '@/components/list/ListWrapper.vue' import Fancycheckbox from '@/components/input/fancycheckbox.vue' import TaskForm from '@/components/tasks/TaskForm.vue' diff --git a/src/views/list/ListKanban.vue b/src/views/list/ListKanban.vue index 8d77c9e330..c59411a536 100644 --- a/src/views/list/ListKanban.vue +++ b/src/views/list/ListKanban.vue @@ -1,12 +1,13 @@ - + - + - + @@ -18,7 +19,7 @@ class="kanban kanban-bucket-container loader-container" > @@ -43,9 +44,9 @@ showSetLimitInput = false" @keyup.enter="() => showSetLimitInput = false" :value="bucket.limit" - @input="(event) => setBucketLimit(bucket.id, parseInt(event.target.value))" + @input="(event) => setBucketLimit(bucket.id, parseInt((event.target as HTMLInputElement).value))" class="input" type="number" min="0" @@ -122,7 +123,7 @@ updateTasks(bucket.id, tasks)" @start="() => dragstart(bucket)" @@ -131,7 +132,7 @@ :disabled="!canWrite" :data-bucket-index="bucketIndex" tag="ul" - :item-key="(task) => `bucket${bucket.id}-task${task.id}`" + :item-key="(task: ITask) => `bucket${bucket.id}-task${task.id}`" :component-data="getTaskDraggableTaskComponentData(bucket)" > @@ -184,7 +185,7 @@ :disabled="loading || undefined" @blur="() => showNewBucketInput = false" @keyup.enter="createNewBucket" - @keyup.esc="$event.target.blur()" + @keyup.esc="($event.target as HTMLInputElement).blur()" class="input" :placeholder="$t('list.kanban.addBucketPlaceholder')" type="text" @@ -224,27 +225,35 @@ -