From e033e3ff2bbefcc08f7ac61e274b798348c4a204 Mon Sep 17 00:00:00 2001 From: Alexander Onnikov Date: Mon, 21 Aug 2023 18:28:17 +0700 Subject: [PATCH] UBER-775 Handle doc defaults for empty groups (#3610) Signed-off-by: Alexander Onnikov --- .../src/components/list/ListCategories.svelte | 2 +- .../src/components/list/ListCategory.svelte | 14 ++++++-------- .../src/components/list/ListHeader.svelte | 2 +- 3 files changed, 8 insertions(+), 10 deletions(-) diff --git a/plugins/view-resources/src/components/list/ListCategories.svelte b/plugins/view-resources/src/components/list/ListCategories.svelte index 31e6284e74..66aad05481 100644 --- a/plugins/view-resources/src/components/list/ListCategories.svelte +++ b/plugins/view-resources/src/components/list/ListCategories.svelte @@ -67,7 +67,7 @@ export let props: Record = {} export let level: number export let initIndex = 0 - export let newObjectProps: (doc: Doc) => Record | undefined + export let newObjectProps: (doc: Doc | undefined) => Record | undefined export let viewOptionsConfig: ViewOptionModel[] | undefined export let dragItem: { doc?: Doc diff --git a/plugins/view-resources/src/components/list/ListCategory.svelte b/plugins/view-resources/src/components/list/ListCategory.svelte index ecf9f15132..f5fecca76f 100644 --- a/plugins/view-resources/src/components/list/ListCategory.svelte +++ b/plugins/view-resources/src/components/list/ListCategory.svelte @@ -69,7 +69,7 @@ export let config: (string | BuildModelKey)[] export let configurations: Record>, Viewlet['config']> | undefined export let viewOptions: ViewOptions - export let newObjectProps: (doc: Doc) => Record | undefined + export let newObjectProps: (doc: Doc | undefined) => Record | undefined export let viewOptionsConfig: ViewOptionModel[] | undefined export let dragItem: { doc?: Doc @@ -167,16 +167,14 @@ $: selectedObjectIdsSet = new Set>(selectedObjectIds.map((it) => it._id)) - $: _newObjectProps = (doc: Doc) => { + $: _newObjectProps = (doc: Doc | undefined): Record | undefined => { const groupValue = - typeof category === 'object' ? category.values.find((it) => it.space === doc.space)?._id : category - if (groupValue === undefined) { - return undefined - } + typeof category === 'object' ? category.values.find((it) => it.space === doc?.space)?._id : category + return { ...newObjectProps(doc), - [groupByKey]: groupValue, - space: doc.space + ...(doc ? { space: doc.space } : {}), + ...(groupValue !== undefined ? { [groupByKey]: groupValue } : {}) } } diff --git a/plugins/view-resources/src/components/list/ListHeader.svelte b/plugins/view-resources/src/components/list/ListHeader.svelte index c4cfba63d0..9f137ec901 100644 --- a/plugins/view-resources/src/components/list/ListHeader.svelte +++ b/plugins/view-resources/src/components/list/ListHeader.svelte @@ -56,7 +56,7 @@ export let createItemLabel: IntlString | undefined export let extraHeaders: AnyComponent[] | undefined export let props: Record = {} - export let newObjectProps: (doc: Doc) => Record | undefined + export let newObjectProps: (doc: Doc | undefined) => Record | undefined export let viewOptions: ViewOptions