goview_vue/src/store/modules/chartEditStore/chartEditStore.d.ts

157 lines
4.3 KiB
TypeScript
Raw Normal View History

2022-04-25 16:17:22 +08:00
import { CreateComponentType, FilterEnum} from '@/packages/index.d'
2022-02-04 12:17:50 +08:00
import { HistoryActionTypeEnum } from '@/store/modules/chartHistoryStore/chartHistoryStore.d'
import { RequestHttpEnum, RequestDataTypeEnum } from '@/enums/httpEnum'
2022-03-17 20:18:46 +08:00
import type {
ChartColorsNameType,
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',
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-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-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',
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-04-19 22:07:54 +08:00
// 滤镜-色相
2022-04-25 16:17:22 +08:00
[FilterEnum.HUE_ROTATE]: number
2022-04-19 22:07:54 +08:00
// 滤镜-饱和度
2022-04-25 16:17:22 +08:00
[FilterEnum.SATURATE]: number
2022-04-19 22:07:54 +08:00
// 滤镜-亮度
2022-04-25 16:17:22 +08:00
[FilterEnum.BRIGHTNESS]: number
2022-04-19 22:07:54 +08:00
// 滤镜-对比度
2022-04-25 16:17:22 +08:00
[FilterEnum.CONTRAST]: number
2022-04-19 22:07:54 +08:00
// 滤镜-不透明度
2022-04-25 16:17:22 +08:00
[FilterEnum.OPACITY]: number
2022-04-19 22:07:54 +08:00
// 大屏宽度
[EditCanvasConfigEnum.WIDTH]: number
// 大屏高度
[EditCanvasConfigEnum.HEIGHT]: number
2022-01-20 21:25:35 +08:00
// 背景色
2022-02-06 21:35:38 +08:00
[EditCanvasConfigEnum.BACKGROUND]?: string
[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',
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',
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',
REQUEST_GLOBAL_CONFIG = 'requestGlobalConfig',
COMPONENT_LIST = 'componentList',
2022-01-20 21:25:35 +08:00
}
2022-01-24 21:12:18 +08:00
// 全局的图表请求配置
export type RequestGlobalConfigType = {
// 请求源地址
requestOriginUrl?: string
// 轮询时间
requestInterval: number
}
// 单个图表请求配置
2022-03-17 20:18:46 +08:00
export type RequestConfigType = {
// 获取数据的方式
requestDataType: RequestDataTypeEnum
2022-03-21 20:56:42 +08:00
// 请求方式 get/post/del/put/patch
requestHttpType: RequestHttpEnum
// 去除源的 url
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
[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
[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
[ChartEditStoreEnum.REQUEST_GLOBAL_CONFIG]: RequestGlobalConfigType
2022-03-06 02:08:14 +08:00
[ChartEditStoreEnum.COMPONENT_LIST]: CreateComponentType[]
}