From db7f68c9a38d53ba3548f83fb4ec37b1a4d64995 Mon Sep 17 00:00:00 2001 From: Pranav C Date: Wed, 20 Mar 2024 07:58:51 +0000 Subject: [PATCH 1/2] fix: reset children excluded list offset when closing the modal to avoid unexpected behaviour --- .../virtual-cell/components/UnLinkedItems.vue | 4 ++++ packages/nc-gui/composables/useLTARStore.ts | 10 ++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/packages/nc-gui/components/virtual-cell/components/UnLinkedItems.vue b/packages/nc-gui/components/virtual-cell/components/UnLinkedItems.vue index 7419a0db30..dc9a6f7cd0 100644 --- a/packages/nc-gui/components/virtual-cell/components/UnLinkedItems.vue +++ b/packages/nc-gui/components/virtual-cell/components/UnLinkedItems.vue @@ -51,6 +51,7 @@ const { unlink, row, headerDisplayValue, + resetChildrenExcludedOffsetCount } = useLTARStoreOrThrow() const { addLTARRef, isNew, removeLTARRef, state: rowState } = useSmartsheetRowStoreOrThrow() @@ -101,6 +102,9 @@ watch( } loadChildrenExcludedList(rowState.value) } + if(!nextVal){ + resetChildrenExcludedOffsetCount() + } }, { immediate: true, diff --git a/packages/nc-gui/composables/useLTARStore.ts b/packages/nc-gui/composables/useLTARStore.ts index e0bcb2e0b8..e9e4d67269 100644 --- a/packages/nc-gui/composables/useLTARStore.ts +++ b/packages/nc-gui/composables/useLTARStore.ts @@ -186,8 +186,8 @@ const [useProvideLTARStore, useLTARStore] = useInjectionState( const loadChildrenExcludedList = async (activeState?: any) => { if (activeState) newRowState.state = activeState try { - let offset = - childrenExcludedListPagination.size * (childrenExcludedListPagination.page - 1) - childrenExcludedOffsetCount.value + // todo: confirm the use case of `childrenExcludedOffsetCount.value` + let offset = childrenExcludedListPagination.size * (childrenExcludedListPagination.page - 1) - childrenExcludedOffsetCount.value if (offset < 0) { offset = 0 @@ -540,6 +540,10 @@ const [useProvideLTARStore, useLTARStore] = useInjectionState( }) }) + const resetChildrenExcludedOffsetCount = () =>{ + childrenExcludedOffsetCount.value = 0; + } + return { relatedTableMeta, loadRelatedTableMeta, @@ -569,6 +573,8 @@ const [useProvideLTARStore, useLTARStore] = useInjectionState( deleteRelatedRow, getRelatedTableRowId, headerDisplayValue, + relatedTableDisplayValuePropId, + resetChildrenExcludedOffsetCount } }, 'ltar-store', From 54547634e89b9f2bdbf629cda6cb8ce7e55628f5 Mon Sep 17 00:00:00 2001 From: Pranav C Date: Wed, 20 Mar 2024 07:58:51 +0000 Subject: [PATCH 2/2] fix: reset children excluded list offset when changing filter query --- .../components/virtual-cell/components/UnLinkedItems.vue | 7 ++++++- packages/nc-gui/composables/useLTARStore.ts | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/nc-gui/components/virtual-cell/components/UnLinkedItems.vue b/packages/nc-gui/components/virtual-cell/components/UnLinkedItems.vue index dc9a6f7cd0..e585956636 100644 --- a/packages/nc-gui/components/virtual-cell/components/UnLinkedItems.vue +++ b/packages/nc-gui/components/virtual-cell/components/UnLinkedItems.vue @@ -259,6 +259,11 @@ onUnmounted(() => { childrenExcludedListPagination.query = '' window.removeEventListener('keydown', linkedShortcuts) }) + +const onFilterChange = () => { + childrenExcludedListPagination.page = 1; + resetChildrenExcludedOffsetCount() +}