diff --git a/packages/nc-gui/components/dashboard/TreeView/ViewsNode.vue b/packages/nc-gui/components/dashboard/TreeView/ViewsNode.vue
index 4a5525df75..cb173d617e 100644
--- a/packages/nc-gui/components/dashboard/TreeView/ViewsNode.vue
+++ b/packages/nc-gui/components/dashboard/TreeView/ViewsNode.vue
@@ -256,7 +256,7 @@ watch(isDropdownOpen, async () => {
-
+
{
-
-
+
+
+
{{ $t('activity.renameView') }}
@@ -283,7 +284,7 @@ const onDelete = async () => {
-
+
{{ $t('msg.info.disabledAsViewLocked') }}
diff --git a/packages/nc-gui/components/smartsheet/toolbar/ViewInfo.vue b/packages/nc-gui/components/smartsheet/toolbar/ViewInfo.vue
index 5c0f72aa25..cf881c5b72 100644
--- a/packages/nc-gui/components/smartsheet/toolbar/ViewInfo.vue
+++ b/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,
})}`
})
@@ -112,7 +113,7 @@ const openedBaseUrl = computed(() => {
{{ activeTable?.title }}
diff --git a/packages/nc-gui/store/tables.ts b/packages/nc-gui/store/tables.ts
index 976f7b1a18..0a7d24d0c8 100644
--- a/packages/nc-gui/store/tables.ts
+++ b/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}`