diff --git a/packages/nc-gui/components/dashboard/TreeView/TableNode.vue b/packages/nc-gui/components/dashboard/TreeView/TableNode.vue index 577c13977c..95c1380988 100644 --- a/packages/nc-gui/components/dashboard/TreeView/TableNode.vue +++ b/packages/nc-gui/components/dashboard/TreeView/TableNode.vue @@ -5,11 +5,12 @@ import { message } from 'ant-design-vue' import { storeToRefs } from 'pinia' import { ProjectRoleInj, TreeViewInj, useNuxtApp, useRoles, useTabs } from '#imports' +import type { SidebarTableNode } from '~/lib' const props = withDefaults( defineProps<{ base: BaseType - table: TableType & { isViewsLoading?: boolean } + table: SidebarTableNode sourceIndex: number }>(), { sourceIndex: 0 }, @@ -44,7 +45,7 @@ provide(SidebarTableInj, table) const { setMenuContext, openRenameTableDialog, duplicateTable } = inject(TreeViewInj)! const { loadViews: _loadViews } = useViewsStore() -const { activeView } = storeToRefs(useViewsStore()) +const { activeView, activeViewTitleOrId } = storeToRefs(useViewsStore()) const { isLeftSidebarOpen } = storeToRefs(useSidebarStore()) // todo: temp @@ -135,7 +136,7 @@ watch( ) const isTableOpened = computed(() => { - return openedTableId.value === table.value?.id && activeView.value?.is_default + return openedTableId.value === table.value?.id && (activeView.value?.is_default || !activeViewTitleOrId.value) }) @@ -176,7 +177,7 @@ const isTableOpened = computed(() => { > vPaginationData.value?.pageSize ?? 25) const page = computed({ get: () => vPaginationData?.value?.page ?? 1, set: async (p) => { - isViewDataLoading.value = true + isPaginationLoading.value = true try { await changePage?.(p) - isViewDataLoading.value = false + isPaginationLoading.value = false } catch (e) { if (axios.isCancel(e)) { return } - isViewDataLoading.value = false + isPaginationLoading.value = false } }, }) @@ -100,7 +100,7 @@ const renderAltOrOptlKey = () => { 'ml-8': alignLeft, }" > -
+
{ reloadViewDataHook?.on(reloadViewDataHandler) openNewRecordFormHook?.on(openNewRecordHandler) -// TODO: Use CSS animations -const showLoaderAfterDelay = ref(false) -watch([isViewDataLoading, showSkeleton, isPaginationLoading], () => { - if (!isViewDataLoading.value && !showSkeleton.value && !isPaginationLoading.value) { - showLoaderAfterDelay.value = false - - return - } - - showLoaderAfterDelay.value = false - - setTimeout(() => { - showLoaderAfterDelay.value = true - }, 500) -}) - // #Watchers // reset context menu target on hide @@ -1226,7 +1210,7 @@ const handleCellClick = (event: MouseEvent, row: number, col: number) => { } const loaderText = computed(() => { - if (isViewDataLoading.value) { + if (isPaginationLoading.value) { if (paginationDataRef.value?.totalRows && paginationDataRef.value?.pageSize) { return `Loading page
${paginationDataRef.value.page} of ${Math.ceil( paginationDataRef.value?.totalRows / paginationDataRef.value?.pageSize, @@ -1265,10 +1249,7 @@ onKeyStroke('ArrowDown', onDown) >
-
+
@@ -1793,7 +1774,7 @@ onKeyStroke('ArrowDown', onDown) :extra-style="paginationStyleRef?.extraStyle" >