// 按钮可用性配置 export interface ButtonAvailabilityConfig { action: string; multiGridDisabled?: boolean; singleGridDisabled?: boolean; tooltip?: string; } // 多分格时不可用的按钮列表 export const MULTI_GRID_DISABLED_BUTTONS = [ 'Add L Mark', 'Add R Mark', 'AddMark', 'Delete Selected Mark', 'Add Mask', 'Delete Mask', 'Rotate Any Angle', 'Crop Selected Area', 'Delete Digital Mask', 'Magnifier', 'Invert Image', 'Reset Image', 'Snapshot', 'Advanced Processing', 'Image Measurement', 'Rectangle Crop', 'More' ]; // 单分格时不可用的按钮列表(如果有的话) export const SINGLE_GRID_DISABLED_BUTTONS :string[]= []; // 获取按钮可用性配置 export const getButtonAvailabilityConfig = (action: string): ButtonAvailabilityConfig => { // 默认配置 const config: ButtonAvailabilityConfig = { action, multiGridDisabled: MULTI_GRID_DISABLED_BUTTONS.includes(action), singleGridDisabled: SINGLE_GRID_DISABLED_BUTTONS.includes(action), }; // 特殊按钮的额外配置 switch (action) { case 'Send': config.multiGridDisabled = false; config.singleGridDisabled = false; break; case '拒绝': config.multiGridDisabled = true; config.singleGridDisabled = false; break; case '恢复': config.multiGridDisabled = true; config.singleGridDisabled = false; break; case '另存为': config.multiGridDisabled = true; config.singleGridDisabled = false; break; default: break; } return config; }; // 判断按钮是否应该在多分格模式下禁用 export const isButtonDisabledInMultiGrid = (action: string): boolean => { return MULTI_GRID_DISABLED_BUTTONS.includes(action); }; // 判断按钮是否应该在单分格模式下禁用 export const isButtonDisabledInSingleGrid = (action: string): boolean => { return SINGLE_GRID_DISABLED_BUTTONS.includes(action); };