diff --git a/packages/kanban/src/components/Kanban.svelte b/packages/kanban/src/components/Kanban.svelte index d6f222706d..8e04fb415a 100644 --- a/packages/kanban/src/components/Kanban.svelte +++ b/packages/kanban/src/components/Kanban.svelte @@ -305,7 +305,7 @@ <div class="kanban-container top-divider"> <ScrollBox> <div class="kanban-content"> - {#each categories as state, si (state)} + {#each categories as state, si (typeof state === 'object' ? state.name : state)} {@const stateObjects = getGroupByValues(groupByDocs, state)} <div @@ -325,6 +325,7 @@ <KanbanRow bind:this={stateRows[si]} on:obj-focus + {groupByDocs} {stateObjects} {isDragging} {dragCard} diff --git a/packages/kanban/src/components/KanbanRow.svelte b/packages/kanban/src/components/KanbanRow.svelte index b776f576ac..c01b59e8a6 100644 --- a/packages/kanban/src/components/KanbanRow.svelte +++ b/packages/kanban/src/components/KanbanRow.svelte @@ -23,6 +23,7 @@ export let isDragging: boolean export let dragCard: Item | undefined export let objects: Item[] + export let groupByDocs: Record<string | number, Item[]> export let selection: number | undefined = undefined export let checkedSet: Set<Ref<Doc>> export let state: CategoryType diff --git a/plugins/workbench-resources/src/components/SpecialView.svelte b/plugins/workbench-resources/src/components/SpecialView.svelte index f87fb4db95..50dc0eb305 100644 --- a/plugins/workbench-resources/src/components/SpecialView.svelte +++ b/plugins/workbench-resources/src/components/SpecialView.svelte @@ -70,7 +70,9 @@ let viewlets: WithLookup<Viewlet>[] = [] const viewletQuery = createQuery() + let vl = false $: { + vl = true viewletQuery.query( view.class.Viewlet, { @@ -79,6 +81,7 @@ descriptor: { $in: descriptors ?? [view.viewlet.Table] } }, (res) => { + vl = false viewlets = res }, { @@ -104,9 +107,11 @@ active: Ref<Viewlet> | null, viewlets: WithLookup<Viewlet>[] ): Promise<void> { - preference = undefined - viewlet = viewlets.find((viewlet) => viewlet._id === active) ?? viewlets[0] - setActiveViewletId(viewlet._id) + if (vl === false) { + preference = undefined + viewlet = viewlets.find((viewlet) => viewlet?._id === active) ?? viewlets[0] + setActiveViewletId(viewlet?._id) + } } $: if (viewlet !== undefined) {