From 85c7465e26dc1a81723aa75b013cbb5a4a6252bf Mon Sep 17 00:00:00 2001 From: mertmit Date: Tue, 14 Nov 2023 21:04:57 +0300 Subject: [PATCH 1/2] fix: use options instead of rendered options Signed-off-by: mertmit --- packages/nc-gui/components/smartsheet/column/SelectOptions.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/nc-gui/components/smartsheet/column/SelectOptions.vue b/packages/nc-gui/components/smartsheet/column/SelectOptions.vue index e9206cdd5a..e21357c787 100644 --- a/packages/nc-gui/components/smartsheet/column/SelectOptions.vue +++ b/packages/nc-gui/components/smartsheet/column/SelectOptions.vue @@ -168,7 +168,7 @@ const addNewOption = () => { // } const syncOptions = () => { - vModel.value.colOptions.options = renderedOptions.value.filter((op) => op.status !== 'remove') + vModel.value.colOptions.options = options.value.filter((op) => op.status !== 'remove') } const removeRenderedOption = (index: number) => { From 4f19b030b9dd38c323359fcc112c6015b3acf45d Mon Sep 17 00:00:00 2001 From: mertmit Date: Thu, 16 Nov 2023 15:37:12 +0300 Subject: [PATCH 2/2] fix: update options array on remove Signed-off-by: mertmit --- .../smartsheet/column/SelectOptions.vue | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/packages/nc-gui/components/smartsheet/column/SelectOptions.vue b/packages/nc-gui/components/smartsheet/column/SelectOptions.vue index e21357c787..ff8a32d367 100644 --- a/packages/nc-gui/components/smartsheet/column/SelectOptions.vue +++ b/packages/nc-gui/components/smartsheet/column/SelectOptions.vue @@ -172,7 +172,17 @@ const syncOptions = () => { } const removeRenderedOption = (index: number) => { - renderedOptions.value[index].status = 'remove' + const renderedOption = renderedOptions.value[index] + const option = options.value[loadedOptionAnchor.value + index] + + renderedOption.status = 'remove' + option.status = 'remove' + + renderedOption.status = 'remove' + if (option) { + option.status = 'remove' + } + syncOptions() const optionId = renderedOptions.value[index]?.id @@ -193,7 +203,12 @@ const optionChanged = (changedId: string) => { } const undoRemoveRenderedOption = (index: number) => { - renderedOptions.value[index].status = undefined + const renderedOption = renderedOptions.value[index] + const option = options.value[loadedOptionAnchor.value + index] + + renderedOption.status = undefined + option.status = undefined + syncOptions() const optionId = renderedOptions.value[index]?.id