2022-02-01 20:57:54 +08:00
|
|
|
import { CreateComponentType } from '@/packages/index.d'
|
2022-02-04 12:17:50 +08:00
|
|
|
import { HistoryActionTypeEnum } from '@/store/modules/chartHistoryStore/chartHistoryStore.d'
|
2022-03-23 20:41:50 +08:00
|
|
|
import { RequestHttpEnum, RequestDataTypeEnum } from '@/enums/httpEnum'
|
2022-03-17 20:18:46 +08:00
|
|
|
import type {
|
|
|
|
ChartColorsNameType,
|
2022-03-19 23:28:33 +08:00
|
|
|
GlobalThemeJsonType,
|
2022-03-17 20:18:46 +08:00
|
|
|
} from '@/settings/chartThemes/index'
|
2022-02-01 20:57:54 +08:00
|
|
|
|
2022-01-30 00:43:37 +08:00
|
|
|
// 编辑画布属性
|
2022-01-20 21:25:35 +08:00
|
|
|
export enum EditCanvasTypeEnum {
|
2022-01-24 21:12:18 +08:00
|
|
|
EDIT_LAYOUT_DOM = 'editLayoutDom',
|
|
|
|
EDIT_CONTENT_DOM = 'editContentDom',
|
2022-01-20 21:25:35 +08:00
|
|
|
OFFSET = 'offset',
|
|
|
|
SCALE = 'scale',
|
2022-01-24 21:12:18 +08:00
|
|
|
USER_SCALE = 'userScale',
|
|
|
|
LOCK_SCALE = 'lockScale',
|
2022-04-11 18:17:09 +08:00
|
|
|
IS_CREATE = 'isCreate',
|
2022-03-19 23:28:33 +08:00
|
|
|
IS_DRAG = 'isDrag',
|
2022-01-20 21:25:35 +08:00
|
|
|
}
|
2022-01-30 00:43:37 +08:00
|
|
|
|
2022-02-04 12:17:50 +08:00
|
|
|
// 编辑区域
|
2022-01-20 21:25:35 +08:00
|
|
|
export type EditCanvasType = {
|
|
|
|
// 编辑区域 DOM
|
2022-01-24 21:12:18 +08:00
|
|
|
[EditCanvasTypeEnum.EDIT_LAYOUT_DOM]: HTMLElement | null
|
|
|
|
[EditCanvasTypeEnum.EDIT_CONTENT_DOM]: HTMLElement | null
|
2022-01-20 21:25:35 +08:00
|
|
|
// 偏移大小
|
|
|
|
[EditCanvasTypeEnum.OFFSET]: number
|
|
|
|
// 缩放
|
|
|
|
[EditCanvasTypeEnum.SCALE]: number
|
2022-01-20 22:13:51 +08:00
|
|
|
// 缩放
|
2022-01-24 21:12:18 +08:00
|
|
|
[EditCanvasTypeEnum.USER_SCALE]: number
|
2022-01-20 21:25:35 +08:00
|
|
|
// 锁定缩放
|
2022-01-24 21:12:18 +08:00
|
|
|
[EditCanvasTypeEnum.LOCK_SCALE]: boolean
|
2022-04-11 18:17:09 +08:00
|
|
|
// 初始化创建
|
|
|
|
[EditCanvasTypeEnum.IS_CREATE]: boolean
|
2022-02-16 19:18:39 +08:00
|
|
|
// 拖拽中
|
2022-03-04 20:57:36 +08:00
|
|
|
[EditCanvasTypeEnum.IS_DRAG]: boolean
|
2022-02-06 01:04:05 +08:00
|
|
|
}
|
|
|
|
|
2022-03-17 20:18:46 +08:00
|
|
|
// 滤镜/背景色/宽高主题等
|
2022-02-06 21:35:38 +08:00
|
|
|
export enum EditCanvasConfigEnum {
|
|
|
|
WIDTH = 'width',
|
|
|
|
HEIGHT = 'height',
|
2022-02-06 01:04:05 +08:00
|
|
|
HUE_ROTATE = 'hueRotate',
|
|
|
|
SATURATE = 'saturate',
|
|
|
|
BRIGHTNESS = 'brightness',
|
|
|
|
CONTRAST = 'contrast',
|
|
|
|
UN_OPACITY = 'unOpacity',
|
2022-02-21 19:45:11 +08:00
|
|
|
CHART_THEME_COLOR = 'chartThemeColor',
|
|
|
|
CHART_THEME_SETTING = 'chartThemeSetting',
|
2022-02-06 21:35:38 +08:00
|
|
|
BACKGROUND = 'background',
|
|
|
|
BACKGROUND_IAMGE = 'backgroundImage',
|
2022-03-19 23:28:33 +08:00
|
|
|
SELECT_COLOR = 'selectColor',
|
2022-02-06 01:04:05 +08:00
|
|
|
}
|
2022-02-06 21:35:38 +08:00
|
|
|
|
2022-02-06 01:04:05 +08:00
|
|
|
export interface EditCanvasConfigType {
|
|
|
|
// 大屏宽度
|
2022-02-06 21:35:38 +08:00
|
|
|
[EditCanvasConfigEnum.WIDTH]: number
|
2022-02-06 01:04:05 +08:00
|
|
|
// 大屏高度
|
2022-02-06 21:35:38 +08:00
|
|
|
[EditCanvasConfigEnum.HEIGHT]: number
|
2022-02-06 01:04:05 +08:00
|
|
|
// 色相
|
2022-02-06 21:35:38 +08:00
|
|
|
[EditCanvasConfigEnum.HUE_ROTATE]: number
|
2022-02-06 01:04:05 +08:00
|
|
|
// 饱和度
|
2022-02-06 21:35:38 +08:00
|
|
|
[EditCanvasConfigEnum.SATURATE]: number
|
2022-02-06 01:04:05 +08:00
|
|
|
// 亮度
|
2022-02-06 21:35:38 +08:00
|
|
|
[EditCanvasConfigEnum.BRIGHTNESS]: number
|
2022-02-06 01:04:05 +08:00
|
|
|
// 对比度
|
2022-02-06 21:35:38 +08:00
|
|
|
[EditCanvasConfigEnum.CONTRAST]: number
|
2022-02-06 01:04:05 +08:00
|
|
|
// 不透明度
|
2022-02-06 21:35:38 +08:00
|
|
|
[EditCanvasConfigEnum.UN_OPACITY]: number
|
2022-01-20 21:25:35 +08:00
|
|
|
// 背景色
|
2022-02-06 21:35:38 +08:00
|
|
|
[EditCanvasConfigEnum.BACKGROUND]?: string
|
2022-02-12 12:16:00 +08:00
|
|
|
[EditCanvasConfigEnum.BACKGROUND_IAMGE]?: string | null
|
2022-02-06 21:35:38 +08:00
|
|
|
// 图表主题颜色
|
2022-02-21 19:45:11 +08:00
|
|
|
[EditCanvasConfigEnum.CHART_THEME_COLOR]: ChartColorsNameType
|
|
|
|
// 图表全局配置
|
|
|
|
[EditCanvasConfigEnum.CHART_THEME_SETTING]: GlobalThemeJsonType
|
2022-02-06 01:04:05 +08:00
|
|
|
// 图表主题颜色
|
2022-02-06 21:35:38 +08:00
|
|
|
[EditCanvasConfigEnum.SELECT_COLOR]: boolean
|
2022-01-20 21:25:35 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
// 坐标轴信息
|
|
|
|
export enum EditCanvasTypeEnum {
|
2022-03-04 20:57:36 +08:00
|
|
|
START_X = 'startX',
|
|
|
|
START_Y = 'startY',
|
2022-01-20 21:25:35 +08:00
|
|
|
X = 'x',
|
2022-03-19 23:28:33 +08:00
|
|
|
Y = 'y',
|
2022-01-20 21:25:35 +08:00
|
|
|
}
|
2022-01-30 00:43:37 +08:00
|
|
|
|
|
|
|
// 鼠标位置
|
2022-01-20 21:25:35 +08:00
|
|
|
export type MousePositionType = {
|
2022-03-04 20:57:36 +08:00
|
|
|
// 开始 X
|
|
|
|
[EditCanvasTypeEnum.START_X]: number
|
|
|
|
// 开始 Y
|
|
|
|
[EditCanvasTypeEnum.START_Y]: number
|
|
|
|
// X
|
2022-01-20 21:25:35 +08:00
|
|
|
[EditCanvasTypeEnum.X]: number
|
2022-03-04 20:57:36 +08:00
|
|
|
// y
|
2022-01-20 21:25:35 +08:00
|
|
|
[EditCanvasTypeEnum.Y]: number
|
|
|
|
}
|
|
|
|
|
2022-01-29 11:44:51 +08:00
|
|
|
// 操作目标
|
|
|
|
export type TargetChartType = {
|
2022-02-01 01:20:00 +08:00
|
|
|
hoverId?: string
|
|
|
|
selectId?: string
|
2022-01-29 11:44:51 +08:00
|
|
|
}
|
|
|
|
|
2022-02-04 12:17:50 +08:00
|
|
|
// 数据记录
|
|
|
|
export type RecordChartType = {
|
|
|
|
charts: CreateComponentType | CreateComponentType[]
|
|
|
|
type: HistoryActionTypeEnum.CUT | HistoryActionTypeEnum.COPY
|
|
|
|
}
|
|
|
|
|
2022-01-30 00:43:37 +08:00
|
|
|
// Store 枚举
|
2022-01-29 21:44:22 +08:00
|
|
|
export enum ChartEditStoreEnum {
|
2022-01-30 00:43:37 +08:00
|
|
|
EDIT_RANGE = 'editRange',
|
|
|
|
EDIT_CANVAS = 'editCanvas',
|
2022-01-31 23:37:43 +08:00
|
|
|
RIGHT_MENU_SHOW = 'rightMenuShow',
|
2022-01-30 00:43:37 +08:00
|
|
|
MOUSE_POSITION = 'mousePosition',
|
|
|
|
TARGET_CHART = 'targetChart',
|
2022-02-04 12:17:50 +08:00
|
|
|
RECORD_CHART = 'recordChart',
|
2022-03-17 20:18:46 +08:00
|
|
|
// 以下需要存储
|
|
|
|
EDIT_CANVAS_CONFIG = 'editCanvasConfig',
|
2022-03-22 15:46:17 +08:00
|
|
|
REQUEST_GLOBAL_CONFIG = 'requestGlobalConfig',
|
2022-03-19 23:28:33 +08:00
|
|
|
COMPONENT_LIST = 'componentList',
|
2022-01-20 21:25:35 +08:00
|
|
|
}
|
2022-01-24 21:12:18 +08:00
|
|
|
|
2022-03-22 15:46:17 +08:00
|
|
|
// 全局的图表请求配置
|
|
|
|
export type RequestGlobalConfigType = {
|
|
|
|
// 请求源地址
|
|
|
|
requestOriginUrl?: string
|
|
|
|
// 轮询时间
|
2022-03-23 20:41:50 +08:00
|
|
|
requestInterval: number
|
2022-03-22 15:46:17 +08:00
|
|
|
}
|
|
|
|
// 单个图表请求配置
|
2022-03-17 20:18:46 +08:00
|
|
|
export type RequestConfigType = {
|
|
|
|
// 获取数据的方式
|
2022-03-18 20:36:05 +08:00
|
|
|
requestDataType: RequestDataTypeEnum
|
2022-03-21 20:56:42 +08:00
|
|
|
// 请求方式 get/post/del/put/patch
|
|
|
|
requestHttpType: RequestHttpEnum
|
2022-03-22 15:46:17 +08:00
|
|
|
// 去除源的 url
|
2022-03-18 20:36:05 +08:00
|
|
|
requestUrl?: string
|
2022-03-17 20:18:46 +08:00
|
|
|
}
|
|
|
|
|
2022-01-30 00:43:37 +08:00
|
|
|
// Store 类型
|
2022-03-06 02:08:14 +08:00
|
|
|
export interface ChartEditStoreType {
|
2022-01-30 00:43:37 +08:00
|
|
|
[ChartEditStoreEnum.EDIT_CANVAS]: EditCanvasType
|
2022-02-06 01:04:05 +08:00
|
|
|
[ChartEditStoreEnum.EDIT_CANVAS_CONFIG]: EditCanvasConfigType
|
2022-01-31 23:37:43 +08:00
|
|
|
[ChartEditStoreEnum.RIGHT_MENU_SHOW]: boolean
|
2022-01-30 00:43:37 +08:00
|
|
|
[ChartEditStoreEnum.MOUSE_POSITION]: MousePositionType
|
2022-01-29 21:44:22 +08:00
|
|
|
[ChartEditStoreEnum.TARGET_CHART]: TargetChartType
|
2022-02-04 12:17:50 +08:00
|
|
|
[ChartEditStoreEnum.RECORD_CHART]?: RecordChartType
|
2022-03-22 15:46:17 +08:00
|
|
|
[ChartEditStoreEnum.REQUEST_GLOBAL_CONFIG]: RequestGlobalConfigType
|
2022-02-01 20:57:54 +08:00
|
|
|
[ChartEditStoreEnum.COMPONENT_LIST]: CreateComponentType[]
|
2022-01-20 21:25:35 +08:00
|
|
|
}
|
2022-03-06 02:08:14 +08:00
|
|
|
|
|
|
|
export interface ChartEditStorage {
|
2022-03-17 20:18:46 +08:00
|
|
|
[ChartEditStoreEnum.EDIT_CANVAS_CONFIG]: EditCanvasConfigType
|
2022-03-22 15:46:17 +08:00
|
|
|
[ChartEditStoreEnum.REQUEST_GLOBAL_CONFIG]: RequestGlobalConfigType
|
2022-03-06 02:08:14 +08:00
|
|
|
[ChartEditStoreEnum.COMPONENT_LIST]: CreateComponentType[]
|
2022-03-18 20:36:05 +08:00
|
|
|
}
|