/** * 把详情面板的属性表变成只读版本:同事的工单在板上只能看。 * * 一处消毒覆盖所有行,避免每加一行就得记得判断归属。放行的只有纯查看 * 动作——双击 PR 编号跳浏览器、双击文件名打开本地文件;会改工单状态、 * 开会话、删 worktree 的按钮一律禁用。 */ import type { PropertyGroup } from '../components/property-grid' export function toReadOnlySchema(schema: PropertyGroup[]): PropertyGroup[] { return schema.map(group => ({ ...group, actions: undefined, properties: group.properties.map(prop => ({ ...prop, readOnly: true, // 'action' 行的双击是「在本机恢复会话」,别人的会话恢复不了也不该恢复。 onAction: prop.type === 'action' ? undefined : prop.onAction, onReload: undefined, secondaryActions: prop.secondaryActions?.map(a => ({ ...a, disabled: true })), })), })) }