From 55780b116a26b3b96a715a38043d544c44d05697 Mon Sep 17 00:00:00 2001 From: Andrey Sobolev Date: Tue, 16 May 2023 20:03:10 +0700 Subject: [PATCH] UBER-130: Fix expand/collapse on multiple levels (#3198) Signed-off-by: Andrey Sobolev --- plugins/view-resources/src/components/list/List.svelte | 1 + .../src/components/list/ListCategories.svelte | 3 +++ .../view-resources/src/components/list/ListCategory.svelte | 6 +++--- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/plugins/view-resources/src/components/list/List.svelte b/plugins/view-resources/src/components/list/List.svelte index 9e415a498c..be95103913 100644 --- a/plugins/view-resources/src/components/list/List.svelte +++ b/plugins/view-resources/src/components/list/List.svelte @@ -124,6 +124,7 @@ {viewOptionsConfig} {selectedObjectIds} level={0} + groupPersistKey={''} {createItemDialog} {createItemLabel} on:check diff --git a/plugins/view-resources/src/components/list/ListCategories.svelte b/plugins/view-resources/src/components/list/ListCategories.svelte index c3a0925bf5..e931480021 100644 --- a/plugins/view-resources/src/components/list/ListCategories.svelte +++ b/plugins/view-resources/src/components/list/ListCategories.svelte @@ -56,6 +56,7 @@ } export let listDiv: HTMLDivElement export let selection: number | undefined = undefined + export let groupPersistKey: string $: groupByKey = viewOptions.groupBy[level] ?? noCategory let categories: CategoryType[] = [] @@ -297,6 +298,7 @@ {config} {itemModels} {_class} + groupPersistKey={`${groupPersistKey}_${level}_${typeof category === 'object' ? category.name : category}`} singleCat={level === 0 && categories.length === 1} oneCat={viewOptions.groupBy.length === 1} lastCat={i === categories.length - 1} @@ -357,6 +359,7 @@ {flatHeaders} {props} {level} + groupPersistKey={`${groupPersistKey}_${level}_${typeof category === 'object' ? category.name : category}`} {initIndex} {viewOptionsConfig} {listDiv} diff --git a/plugins/view-resources/src/components/list/ListCategory.svelte b/plugins/view-resources/src/components/list/ListCategory.svelte index e6bc00bdfc..10ad2c1693 100644 --- a/plugins/view-resources/src/components/list/ListCategory.svelte +++ b/plugins/view-resources/src/components/list/ListCategory.svelte @@ -63,6 +63,7 @@ } export let listDiv: HTMLDivElement export let index: number + export let groupPersistKey: string $: lastLevel = level + 1 >= viewOptions.groupBy.length @@ -72,9 +73,7 @@ $: initialLimit = !lastLevel ? undefined : singleCat ? singleCategoryLimit : defaultLimit $: limit = initialLimit - $: categoryCollapseKey = `list_collapsing_${location.pathname}_${ - typeof category === 'object' ? category.name : category - }` + $: categoryCollapseKey = `list_collapsing_${location.pathname}_${groupPersistKey}` $: storedCollapseState = localStorage.getItem(categoryCollapseKey) $: collapsed = storedCollapseState === 'true' || storedCollapseState === null @@ -402,6 +401,7 @@ {flatHeaders} {props} level={level + 1} + {groupPersistKey} {viewOptionsConfig} {listDiv} dragItem