From 075c19c5073c34683cffe40e4080f17b8c52773f Mon Sep 17 00:00:00 2001 From: Pranav C Date: Thu, 11 Aug 2022 12:19:52 +0530 Subject: [PATCH] fix(gui-v2): tab navigation bug Signed-off-by: Pranav C --- packages/nc-gui-v2/composables/useTabs.ts | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/packages/nc-gui-v2/composables/useTabs.ts b/packages/nc-gui-v2/composables/useTabs.ts index 384e20e15f..99817e6b5a 100644 --- a/packages/nc-gui-v2/composables/useTabs.ts +++ b/packages/nc-gui-v2/composables/useTabs.ts @@ -61,15 +61,7 @@ export function useTabs() { const tab = tabs.value[index] if (!tab) return - - switch (tab.type) { - case TabType.TABLE: - return navigateTo(`/nc/${route.params.projectId}/table/${tab?.title}${tab.viewTitle ? `/${tab.viewTitle}` : ''}`) - case TabType.VIEW: - return navigateTo(`/nc/${route.params.projectId}/view/${tab?.title}${tab.viewTitle ? `/${tab.viewTitle}` : ''}`) - case TabType.AUTH: - return navigateTo(`/nc/${route.params.projectId}/auth`) - } + return navigateToTab(tab) } }, }) @@ -101,12 +93,23 @@ export function useTabs() { if (newTabIndex === -1) { await navigateTo(`/nc/${route.params.projectId}`) } else { - await navigateTo(`/nc/${route.params.projectId}/table/${tabs.value?.[newTabIndex]?.title}`) + await navigateToTab(tabs.value?.[newTabIndex]) } } tabs.value.splice(index, 1) } + function navigateToTab(tab: TabItem) { + switch (tab.type) { + case TabType.TABLE: + return navigateTo(`/nc/${route.params.projectId}/table/${tab?.title}${tab.viewTitle ? `/${tab.viewTitle}` : ''}`) + case TabType.VIEW: + return navigateTo(`/nc/${route.params.projectId}/view/${tab?.title}${tab.viewTitle ? `/${tab.viewTitle}` : ''}`) + case TabType.AUTH: + return navigateTo(`/nc/${route.params.projectId}/auth`) + } + } + const updateTab = (key: number | Partial, newTabItemProps: Partial) => { const tab = typeof key === 'number' ? tabs.value[key] : tabs.value.find(getPredicate(key)) if (tab) {