// 编辑画布属性 export enum EditCanvasTypeEnum { EDIT_LAYOUT_DOM = 'editLayoutDom', EDIT_CONTENT_DOM = 'editContentDom', WIDTH = 'width', HEIGHT = 'height', OFFSET = 'offset', SCALE = 'scale', USER_SCALE = 'userScale', LOCK_SCALE = 'lockScale', BACKGROUND = 'background' } export type EditCanvasType = { // 编辑区域 DOM [EditCanvasTypeEnum.EDIT_LAYOUT_DOM]: HTMLElement | null [EditCanvasTypeEnum.EDIT_CONTENT_DOM]: HTMLElement | null // 大屏宽度 [EditCanvasTypeEnum.WIDTH]: number // 大屏高度 [EditCanvasTypeEnum.HEIGHT]: number // 偏移大小 [EditCanvasTypeEnum.OFFSET]: number // 缩放 [EditCanvasTypeEnum.SCALE]: number // 缩放 [EditCanvasTypeEnum.USER_SCALE]: number // 锁定缩放 [EditCanvasTypeEnum.LOCK_SCALE]: boolean // 背景色 [EditCanvasTypeEnum.BACKGROUND]?: string } // 坐标轴信息 export enum EditCanvasTypeEnum { X = 'x', Y = 'y' } // 鼠标位置 export type MousePositionType = { // X 轴 [EditCanvasTypeEnum.X]: number // y 轴 [EditCanvasTypeEnum.Y]: number } // 操作目标 export type TargetChartType = { hoverId?: string selectId?: string } // Store 枚举 export enum ChartEditStoreEnum { EDIT_RANGE = 'editRange', EDIT_CANVAS = 'editCanvas', RIGHT_MENU_SHOW = 'rightMenuShow', MOUSE_POSITION = 'mousePosition', TARGET_CHART = 'targetChart', COMPONENT_LIST = 'componentList' } // Store 类型 export interface chartEditStoreType { [ChartEditStoreEnum.EDIT_CANVAS]: EditCanvasType [ChartEditStoreEnum.RIGHT_MENU_SHOW]: boolean [ChartEditStoreEnum.MOUSE_POSITION]: MousePositionType [ChartEditStoreEnum.TARGET_CHART]: TargetChartType [ChartEditStoreEnum.COMPONENT_LIST]: any[] }