Browse Source

fix: Disabled view delete in the case of locked view

pull/7067/head
Muhammed Mustafa 11 months ago
parent
commit
11e5cbdb27
  1. 17
      packages/nc-gui/components/smartsheet/toolbar/ViewActionMenu.vue
  2. 1
      packages/nc-gui/lang/en.json
  3. 3
      packages/nc-gui/store/views.ts

17
packages/nc-gui/components/smartsheet/toolbar/ViewActionMenu.vue

@ -18,8 +18,6 @@ const { isUIAllowed } = useRoles()
const isPublicView = inject(IsPublicInj, ref(false))
const isLocked = inject(IsLockedInj, ref(false))
const { $api, $e } = useNuxtApp()
const { t } = useI18n()
@ -28,7 +26,7 @@ const view = computed(() => props.view)
const table = computed(() => props.table)
const { viewsByTable } = storeToRefs(useViewsStore())
const { viewsByTable, isActiveViewLocked: isLocked } = storeToRefs(useViewsStore())
const { loadViews, navigateToView } = useViewsStore()
const { base } = storeToRefs(useBase())
@ -274,7 +272,18 @@ const onDelete = async () => {
</NcSubMenu>
<template v-if="!view.is_default">
<NcDivider />
<NcMenuItem class="!hover:bg-red-50 !text-red-500" @click="onDelete">
<NcTooltip v-if="isLocked">
<template #title> {{ $t('msg.info.disabledAsViewLocked') }} </template>
<NcMenuItem class="!cursor-not-allowed !text-gray-400">
<GeneralIcon icon="delete" class="nc-view-delete-icon" />
{{
$t('general.deleteEntity', {
entity: $t('objects.view'),
})
}}
</NcMenuItem>
</NcTooltip>
<NcMenuItem v-else class="!hover:bg-red-50 !text-red-500" @click="onDelete">
<GeneralIcon icon="delete" class="nc-view-delete-icon" />
{{
$t('general.deleteEntity', {

1
packages/nc-gui/lang/en.json

@ -1033,6 +1033,7 @@
"duplicateTable": "Are you sure you want to duplicate the table?"
},
"info": {
"disabledAsViewLocked": "Disabled as View is locked",
"basesMigrated": "Bases are migrated. Please try again.",
"pasteNotSupported": "Paste operation is not supported on the active cell",
"roles": {

3
packages/nc-gui/store/views.ts

@ -110,6 +110,8 @@ export const useViewsStore = defineStore('viewsStore', () => {
},
})
const isActiveViewLocked = computed(() => activeView.value?.lock_type === 'locked')
// Used for Grid View Pagination
const isPaginationLoading = ref(true)
@ -317,6 +319,7 @@ export const useViewsStore = defineStore('viewsStore', () => {
removeFromRecentViews,
activeSorts,
activeNestedFilters,
isActiveViewLocked,
}
})

Loading…
Cancel
Save