Browse Source

fix(nc-gui): shared base breadcrumb link issue nocodb/nocodb#7571

pull/7573/head
Ramesh Mane 8 months ago
parent
commit
ddf34029fc
  1. 3
      packages/nc-gui/components/smartsheet/toolbar/ViewInfo.vue
  2. 25
      packages/nc-gui/store/tables.ts

3
packages/nc-gui/components/smartsheet/toolbar/ViewInfo.vue

@ -17,6 +17,7 @@ const openedBaseUrl = computed(() => {
return `${window.location.origin}/#${baseUrl({
id: base.value.id!,
type: 'database',
isSharedBase: isSharedBase.value,
})}`
})
</script>
@ -112,7 +113,7 @@ const openedBaseUrl = computed(() => {
<NuxtLink
v-else
class="!text-inherit !underline-transparent !hover:(text-black underline-gray-600)"
:to="tableUrl({ table: activeTable, completeUrl: true })"
:to="tableUrl({ table: activeTable, completeUrl: true, isSharedBase })"
>
{{ activeTable?.title }}
</NuxtLink>

25
packages/nc-gui/store/tables.ts

@ -214,19 +214,28 @@ export const useTablesStore = defineStore('tablesStore', () => {
}
}
const tableUrl = ({ table, completeUrl }: { table: TableType; completeUrl: boolean }) => {
const base = basesStore.bases.get(table.base_id!)
if (!base) return
const tableUrl = ({ table, completeUrl, isSharedBase }: { table: TableType; completeUrl: boolean; isSharedBase?: boolean }) => {
let base
if (!isSharedBase) {
base = basesStore.bases.get(table.base_id!)
if (!base) return
}
const nuxtPageName = 'index-typeOrId-baseId-index-index-viewId-viewTitle'
const url = router.resolve({
name: nuxtPageName,
params: {
typeOrId: workspaceStore.activeWorkspaceId,
baseId: base.id,
viewId: table.id,
},
params: isSharedBase
? {
typeOrId: route.value.params.typeOrId,
baseId: route.value.params.baseId,
viewId: route.value.params.viewId,
}
: {
typeOrId: workspaceStore.activeWorkspaceId,
baseId: base?.id,
viewId: table.id,
},
})
if (completeUrl) return `${window.location.origin}/${url.href}`

Loading…
Cancel
Save