chartEditStore.d.ts
9.41 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
import { CreateComponentType, CreateComponentGroupType, FilterEnum } from '@/packages/index.d'
import { HistoryActionTypeEnum } from '@/store/modules/chartHistoryStore/chartHistoryStore.d'
import {
RequestHttpEnum,
RequestContentTypeEnum,
RequestDataTypeEnum,
RequestHttpIntervalEnum,
RequestParams,
RequestBodyEnum,
RequestParamsObjType
} from '@/enums/httpEnum'
import { PreviewScaleEnum } from '@/enums/styleEnum'
import type { ChartColorsNameType, CustomColorsType, GlobalThemeJsonType } from '@/settings/chartThemes/index'
// 编辑画布属性
export enum EditCanvasTypeEnum {
EDIT_LAYOUT_DOM = 'editLayoutDom',
EDIT_CONTENT_DOM = 'editContentDom',
OFFSET = 'offset',
SCALE = 'scale',
USER_SCALE = 'userScale',
LOCK_SCALE = 'lockScale',
IS_CREATE = 'isCreate',
IS_DRAG = 'isDrag',
IS_SELECT = 'isSelect',
IS_CODE_EDIT = 'isCodeEdit'
}
// 编辑区域
export type EditCanvasType = {
// 编辑区域 DOM
[EditCanvasTypeEnum.EDIT_LAYOUT_DOM]: HTMLElement | null
[EditCanvasTypeEnum.EDIT_CONTENT_DOM]: HTMLElement | null
// 偏移大小
[EditCanvasTypeEnum.OFFSET]: number
// 缩放
[EditCanvasTypeEnum.SCALE]: number
// 缩放
[EditCanvasTypeEnum.USER_SCALE]: number
// 锁定缩放
[EditCanvasTypeEnum.LOCK_SCALE]: boolean
// 初始化创建
[EditCanvasTypeEnum.IS_CREATE]: boolean
// 拖拽中
[EditCanvasTypeEnum.IS_DRAG]: boolean
// 框选中
[EditCanvasTypeEnum.IS_SELECT]: boolean
// 代码编辑中
[EditCanvasTypeEnum.IS_CODE_EDIT]: boolean
}
// 滤镜/背景色/宽高主题等
export enum EditCanvasConfigEnum {
PROJECT_NAME = 'projectName',
WIDTH = 'width',
HEIGHT = 'height',
CHART_THEME_COLOR = 'chartThemeColor',
CHART_CUSTOM_THEME_COLOR_INFO = 'chartCustomThemeColorInfo',
CHART_THEME_SETTING = 'chartThemeSetting',
BACKGROUND = 'background',
BACKGROUND_IMAGE = 'backgroundImage',
SELECT_COLOR = 'selectColor',
PREVIEW_SCALE_TYPE = 'previewScaleType',
ANIMATION_STYLE_CONFIG = 'animationsStyleConfig'
}
export interface EditCanvasConfigType {
// 滤镜-启用
[FilterEnum.FILTERS_SHOW]: boolean
// 滤镜-色相
[FilterEnum.HUE_ROTATE]: number
// 滤镜-饱和度
[FilterEnum.SATURATE]: number
// 滤镜-亮度
[FilterEnum.BRIGHTNESS]: number
// 滤镜-对比度
[FilterEnum.CONTRAST]: number
// 滤镜-不透明度
[FilterEnum.OPACITY]: number
// 变换(暂不使用)
[FilterEnum.ROTATE_Z]: number
[FilterEnum.ROTATE_X]: number
[FilterEnum.ROTATE_Y]: number
[FilterEnum.SKEW_X]: number
[FilterEnum.SKEW_Y]: number
[FilterEnum.BLEND_MODE]: string
// 大屏名称
[EditCanvasConfigEnum.PROJECT_NAME]?: string
// 大屏宽度
[EditCanvasConfigEnum.WIDTH]: number
// 大屏高度
[EditCanvasConfigEnum.HEIGHT]: number
// 背景色
[EditCanvasConfigEnum.BACKGROUND]?: string
// 背景图片
[EditCanvasConfigEnum.BACKGROUND_IMAGE]?: string | null
// 图表主题颜色
[EditCanvasConfigEnum.CHART_THEME_COLOR]: ChartColorsNameType
// 自定义图表主题颜色
[EditCanvasConfigEnum.CHART_CUSTOM_THEME_COLOR_INFO]?: CustomColorsType[]
// 图表全局配置
[EditCanvasConfigEnum.CHART_THEME_SETTING]: GlobalThemeJsonType
// 图表主题颜色
[EditCanvasConfigEnum.SELECT_COLOR]: boolean
// 预览展示方式
[EditCanvasConfigEnum.PREVIEW_SCALE_TYPE]: PreviewScaleEnum
}
// 坐标轴信息
// eslint-disable-next-line no-redeclare
export enum EditCanvasTypeEnum {
START_X = 'startX',
START_Y = 'startY',
X = 'x',
Y = 'y'
}
// 鼠标位置
export type MousePositionType = {
// 开始 X
[EditCanvasTypeEnum.START_X]: number
// 开始 Y
[EditCanvasTypeEnum.START_Y]: number
// X
[EditCanvasTypeEnum.X]: number
// y
[EditCanvasTypeEnum.Y]: number
}
// 操作目标
export type TargetChartType = {
hoverId?: string
selectId: string[]
}
// 数据记录
export type RecordChartType = {
charts: CreateComponentType | CreateComponentGroupType | Array<CreateComponentType | CreateComponentGroupType>
type: HistoryActionTypeEnum.CUT | HistoryActionTypeEnum.COPY
}
// Store 枚举
export enum ChartEditStoreEnum {
EDIT_RANGE = 'editRange',
EDIT_CANVAS = 'editCanvas',
RIGHT_MENU_SHOW = 'rightMenuShow',
MOUSE_POSITION = 'mousePosition',
TARGET_CHART = 'targetChart',
RECORD_CHART = 'recordChart',
// 以下需要存储
EDIT_CANVAS_CONFIG = 'editCanvasConfig',
REQUEST_GLOBAL_CONFIG = 'requestGlobalConfig',
COMPONENT_LIST = 'componentList',
// THINGS_KIT 修改多画布切换相关代码
PAGE_LIST_ID = 'id',
// THINGS_KIT 修改多画布切换相关代码
PAGE_LIST_TITLE = 'title',
// THINGS_KIT 修改多画布切换相关代码
PAGE_CONFIG = 'pageConfig',
// THINGS_KIT 修改多画布切换相关代码
PAGE_LIST = 'pageList'
}
// 请求公共类型
type RequestPublicConfigType = {
// 时间单位(时分秒)
requestIntervalUnit: RequestHttpIntervalEnum
// 请求内容
requestParams: RequestParams
}
// 数据池项类型
export type RequestDataPondItemType = {
dataPondId: string
dataPondName: string
dataPondRequestConfig: RequestConfigType
}
// 全局的图表请求配置
export interface RequestGlobalConfigType extends RequestPublicConfigType {
// 组件定制轮询时间
requestInterval: number
// 请求源地址
requestOriginUrl?: string
// 公共数据池
requestDataPond: RequestDataPondItemType[]
// 验证方式
requestVerificationMethods?: TokenEnum
// 全局Token
requestVerificationToken?: string
// 请求头里的Token键
requestTokenKey?: string
// 请求头里的Token前缀
requestTokenSuffix?: string,
// 全局配置Token前缀
requestGlobalTokenSuffix?: string,
// 全局配置Token键
requestGlobalTokenKey?: string,
}
// 单个图表请求配置
export interface RequestConfigType extends RequestPublicConfigType {
// 所选全局数据池的对应 id
requestDataPondId?: string
// 组件定制轮询时间
requestInterval?: number
// 获取数据的方式
requestDataType: RequestDataTypeEnum
// 请求方式 get/post/del/put/patch
requestHttpType: RequestHttpEnum
// 源后续的 url
requestUrl?: string
// 请求内容主体方式 普通/sql
requestContentType: RequestContentTypeEnum
// 请求体类型
requestParamsBodyType: RequestBodyEnum
// 选择SQL请求 地址
sqlRequestHttpType: string
// 选择SQL请求 ID
requestSQLId: string
// SQL 请求对象
requestSQLContent: {
sql: string
}
// 三方Token相关
requestVerificationToken?: string
// 请求头里的Token键
requestTokenKey?: string
// 请求头里的Token前缀
requestTokenSuffix?: string
pondRequestOriginUrl?: string
pondRequestGlobalInterval?: number
pondRequestGlobalIntervalUnit?: string
pondRequestGlobalTokenSuffix?: string
pondRequestGlobalTokenKey?: string
pondRequestGlobalCascaderOption?: Recordable
pondRequestGlobalCascaderKey?: string
pondRequestHttpType?: RequestHttpEnum
pondRequestInterval?: number
pondRequestIntervalUnit?: string
pondRequestContentType?: number
pondRequestParams?: RequestParams
pondRequestParamsBodyType?: RequestBodyEnum
pondRequestUrl?: string
pondRequestSQLContent?: {
sql: string
}
thirdTokenIsExp?: boolean
thirdSelectCascaderLabel?: string
publicInterfaceSelectId?: string
thirdRequestDataPondId?: string
pondRequestGlobalIsToken?: boolean
//
}
// Store 类型
// export interface ChartEditStoreType {
// [ChartEditStoreEnum.EDIT_CANVAS]: EditCanvasType
// [ChartEditStoreEnum.EDIT_CANVAS_CONFIG]: EditCanvasConfigType
// [ChartEditStoreEnum.RIGHT_MENU_SHOW]: boolean
// [ChartEditStoreEnum.MOUSE_POSITION]: MousePositionType
// [ChartEditStoreEnum.TARGET_CHART]: TargetChartType
// [ChartEditStoreEnum.RECORD_CHART]?: RecordChartType
// [ChartEditStoreEnum.REQUEST_GLOBAL_CONFIG]: RequestGlobalConfigType
// [ChartEditStoreEnum.COMPONENT_LIST]: Array<CreateComponentType | CreateComponentGroupType>
// }
// THINGS_KIT 修改多画布切换相关代码 修改代码在注释之间 Store 类型
export interface PageChartEditStoreType {
[ChartEditStoreEnum.EDIT_CANVAS]: EditCanvasType
[ChartEditStoreEnum.EDIT_CANVAS_CONFIG]: EditCanvasConfigType
[ChartEditStoreEnum.RIGHT_MENU_SHOW]: boolean
[ChartEditStoreEnum.MOUSE_POSITION]: MousePositionType
[ChartEditStoreEnum.TARGET_CHART]: TargetChartType
[ChartEditStoreEnum.RECORD_CHART]?: RecordChartType
[ChartEditStoreEnum.REQUEST_GLOBAL_CONFIG]: RequestGlobalConfigType
[ChartEditStoreEnum.COMPONENT_LIST]: Array<CreateComponentType | CreateComponentGroupType>
[ChartEditStoreEnum.PAGE_LIST_ID]: string
[ChartEditStoreEnum.PAGE_LIST_TITLE]: string
}
//
// THINGS_KIT 修改多画布切换相关代码 修改代码在注释之间
export interface PageChartListItem {
currentActiveIndex: number
currentActiveId: string
pageList: PageChartEditStoreType[]
}
export interface ChartEditStoreType {
pageConfig: PageChartListItem
[EditCanvasTypeEnum.EDIT_LAYOUT_DOM]: HTMLElement | null
[EditCanvasTypeEnum.EDIT_CONTENT_DOM]: HTMLElement | null
}
//
// // 存储数据类型
// export interface ChartEditStorage {
// [ChartEditStoreEnum.EDIT_CANVAS_CONFIG]: EditCanvasConfigType
// [ChartEditStoreEnum.REQUEST_GLOBAL_CONFIG]: RequestGlobalConfigType
// [ChartEditStoreEnum.COMPONENT_LIST]: Array<CreateComponentType | CreateComponentGroupType>
// }
// THINGS_KIT 修改多画布切换相关代码 修改代码在注释之间 存储数据类型
export interface ChartEditStorage {
[ChartEditStoreEnum.PAGE_CONFIG]: PageChartListItem
}
//