diff --git a/packages/nc-gui/components/smartsheet/Toolbar.vue b/packages/nc-gui/components/smartsheet/Toolbar.vue index 7587db85f8..fd1347b27e 100644 --- a/packages/nc-gui/components/smartsheet/Toolbar.vue +++ b/packages/nc-gui/components/smartsheet/Toolbar.vue @@ -39,7 +39,7 @@ const { allowCSVDownload } = useSharedView() - +
diff --git a/packages/nc-gui/components/smartsheet/VirtualCell.vue b/packages/nc-gui/components/smartsheet/VirtualCell.vue index 9b11cc2af7..a9b78586be 100644 --- a/packages/nc-gui/components/smartsheet/VirtualCell.vue +++ b/packages/nc-gui/components/smartsheet/VirtualCell.vue @@ -31,6 +31,7 @@ const props = defineProps<{ modelValue: any row?: Row active?: boolean + readOnly?: boolean }>() const emit = defineEmits(['update:modelValue', 'navigate', 'save']) @@ -38,12 +39,14 @@ const emit = defineEmits(['update:modelValue', 'navigate', 'save']) const column = toRef(props, 'column') const active = toRef(props, 'active', false) const row = toRef(props, 'row') +const readOnly = toRef(props, 'readOnly', false) provide(ColumnInj, column) provide(ActiveCellInj, active) provide(RowInj, row) provide(CellValueInj, toRef(props, 'modelValue')) provide(SaveRowInj, () => emit('save')) +provide(ReadonlyInj, readOnly) const isGrid = inject(IsGridInj, ref(false)) @@ -94,7 +97,9 @@ onUnmounted(() => {
diff --git a/packages/nc-gui/components/smartsheet/column/EditOrAdd.vue b/packages/nc-gui/components/smartsheet/column/EditOrAdd.vue index 506cf59843..67cf1abd6c 100644 --- a/packages/nc-gui/components/smartsheet/column/EditOrAdd.vue +++ b/packages/nc-gui/components/smartsheet/column/EditOrAdd.vue @@ -223,7 +223,7 @@ if (props.fromTableExplorer) { '!w-146': isTextArea(formState) && formState.meta.richMode, '!w-[600px]': formState.uidt === UITypes.Formula && !props.embedMode, '!w-[500px]': formState.uidt === UITypes.Attachment && !props.embedMode && !appInfo.ee, - 'shadow-lg border-1 border-gray-50 shadow-gray-100 rounded-md p-6': !embedMode, + 'shadow-lg border-1 border-gray-100 shadow-gray-300 rounded-xl p-6': !embedMode, }" @keydown="handleEscape" @click.stop diff --git a/packages/nc-gui/components/smartsheet/expanded-form/index.vue b/packages/nc-gui/components/smartsheet/expanded-form/index.vue index 0d871effbf..4695736513 100644 --- a/packages/nc-gui/components/smartsheet/expanded-form/index.vue +++ b/packages/nc-gui/components/smartsheet/expanded-form/index.vue @@ -88,6 +88,8 @@ const isRecordLinkCopied = ref(false) const { isUIAllowed } = useRoles() +const readOnly = computed(() => !isUIAllowed('dataEdit') || isPublic.value) + const reloadTrigger = inject(ReloadRowDataHookInj, createEventHook()) const { addOrEditStackRow } = useKanbanViewStoreOrThrow() @@ -669,6 +671,7 @@ export default { :class="{ 'px-1': isReadOnlyVirtualCell(col), }" + :read-only="readOnly" /> @@ -737,6 +740,7 @@ export default { v-model="_row.row[col.title]" :row="_row" :column="col" + :read-only="readOnly" /> diff --git a/packages/nc-gui/components/smartsheet/toolbar/ViewActionMenu.vue b/packages/nc-gui/components/smartsheet/toolbar/ViewActionMenu.vue index 7616aaf08e..82795110c7 100644 --- a/packages/nc-gui/components/smartsheet/toolbar/ViewActionMenu.vue +++ b/packages/nc-gui/components/smartsheet/toolbar/ViewActionMenu.vue @@ -239,44 +239,48 @@ const onDelete = async () => { - - - - - - -