diff --git a/packages/nc-gui/components/smartsheet-toolbar/ColumnFilter.vue b/packages/nc-gui/components/smartsheet-toolbar/ColumnFilter.vue index 1c5c7c2e7a..9094b60422 100644 --- a/packages/nc-gui/components/smartsheet-toolbar/ColumnFilter.vue +++ b/packages/nc-gui/components/smartsheet-toolbar/ColumnFilter.vue @@ -46,9 +46,7 @@ const { filters, deleteFilter, saveOrUpdate, loadFilters, addFilter, addFilterGr activeView, parentId, computed(() => autoSave), - () => { - reloadDataHook.trigger() - }, + reloadDataHook.trigger, modelValue || nestedFilters.value, !modelValue, ) diff --git a/packages/nc-gui/components/smartsheet/Grid.vue b/packages/nc-gui/components/smartsheet/Grid.vue index efb4a3e99a..ee63f384b7 100644 --- a/packages/nc-gui/components/smartsheet/Grid.vue +++ b/packages/nc-gui/components/smartsheet/Grid.vue @@ -23,6 +23,7 @@ import { provide, reactive, ref, + useClipboard, useEventListener, useGridViewColumnWidth, useI18n, @@ -96,6 +97,8 @@ const { const { loadGridViewColumns, updateWidth, resizingColWidth, resizingCol } = useGridViewColumnWidth(view) +const { copy } = useClipboard() + onMounted(loadGridViewColumns) provide(IsFormInj, ref(false)) @@ -113,8 +116,15 @@ provide(ReadonlyInj, !hasEditPermission) const disableUrlOverlay = ref(false) provide(CellUrlDisableOverlayInj, disableUrlOverlay) -reloadViewDataHook?.on(async () => { +const showLoading = ref(true) + +reloadViewDataHook?.on(async (shouldShowLoading) => { + // set value if spinner should be hidden + showLoading.value = !!shouldShowLoading await loadData() + + // reset to default (showing spinner on load) + showLoading.value = true }) const skipRowRemovalOnCancel = ref(false) @@ -179,8 +189,6 @@ const clearCell = async (ctx: { row: number; col: number }) => { await updateOrSaveRow(rowObj, columnObj.title) } -const { copy } = useClipboard() - const makeEditable = (row: Row, col: ColumnType) => { if (!hasEditPermission || editEnabled || isView) { return @@ -373,10 +381,12 @@ onBeforeUnmount(async () => {