Browse Source

fix: disable editing system column

pull/7173/head
Ramesh Mane 9 months ago
parent
commit
c30bf3c0a0
  1. 1
      packages/nc-gui/components/smartsheet/grid/Table.vue
  2. 3
      packages/nc-gui/components/smartsheet/header/Cell.vue
  3. 4
      packages/nc-gui/components/smartsheet/header/Menu.vue

1
packages/nc-gui/components/smartsheet/grid/Table.vue

@ -1717,6 +1717,7 @@ onKeyStroke('ArrowDown', onDown)
v-else-if="contextMenuTarget && hasEditPermission" v-else-if="contextMenuTarget && hasEditPermission"
class="nc-base-menu-item" class="nc-base-menu-item"
@click="clearSelectedRangeOfCells()" @click="clearSelectedRangeOfCells()"
:disabled="!!isSystemColumn(fields[contextMenuTarget.col])"
> >
<div v-e="['a:row:clear-range']" class="flex gap-2 items-center"> <div v-e="['a:row:clear-range']" class="flex gap-2 items-center">
<GeneralIcon icon="closeBox" class="text-gray-500" /> <GeneralIcon icon="closeBox" class="text-gray-500" />

3
packages/nc-gui/components/smartsheet/header/Cell.vue

@ -1,5 +1,6 @@
<script setup lang="ts"> <script setup lang="ts">
import type { ColumnReqType, ColumnType } from 'nocodb-sdk' import type { ColumnReqType, ColumnType } from 'nocodb-sdk'
import { UITypes, isSystemColumn } from 'nocodb-sdk'
import { ColumnInj, IsExpandedFormOpenInj, IsFormInj, IsKanbanInj, inject, provide, ref, toRef, useRoles } from '#imports' import { ColumnInj, IsExpandedFormOpenInj, IsFormInj, IsKanbanInj, inject, provide, ref, toRef, useRoles } from '#imports'
interface Props { interface Props {
@ -48,7 +49,7 @@ const closeAddColumnDropdown = () => {
} }
const openHeaderMenu = () => { const openHeaderMenu = () => {
if (isLocked.value) return if (isLocked.value || (!!isSystemColumn(column.value) && column.value.uidt !== UITypes.ID)) return
if (!isForm.value && !isExpandedForm.value && isUIAllowed('fieldEdit') && !isMobileMode.value) { if (!isForm.value && !isExpandedForm.value && isUIAllowed('fieldEdit') && !isMobileMode.value) {
editColumnDropdown.value = true editColumnDropdown.value = true

4
packages/nc-gui/components/smartsheet/header/Menu.vue

@ -1,6 +1,6 @@
<script lang="ts" setup> <script lang="ts" setup>
import type { ColumnReqType } from 'nocodb-sdk' import type { ColumnReqType } from 'nocodb-sdk'
import { RelationTypes, UITypes, isLinksOrLTAR } from 'nocodb-sdk' import { RelationTypes, UITypes, isLinksOrLTAR, isSystemColumn } from 'nocodb-sdk'
import { import {
ActiveViewInj, ActiveViewInj,
ColumnInj, ColumnInj,
@ -292,7 +292,7 @@ const onInsertAfter = () => {
</div> </div>
<template #overlay> <template #overlay>
<a-menu class="shadow bg-white nc-column-options"> <a-menu class="shadow bg-white nc-column-options">
<a-menu-item @click="onEditPress"> <a-menu-item @click="onEditPress" :disabled="!!isSystemColumn(column) && column?.uidt !== UITypes.ID">
<div class="nc-column-edit nc-header-menu-item"> <div class="nc-column-edit nc-header-menu-item">
<component :is="iconMap.edit" class="text-gray-700 mx-0.65 my-0.75" /> <component :is="iconMap.edit" class="text-gray-700 mx-0.65 my-0.75" />
<!-- Edit --> <!-- Edit -->

Loading…
Cancel
Save