help.ts
4.79 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
import { Component } from 'vue';
import TextComponent from '../../components/TextComponent/TextComponent.vue';
import {
TextComponent1Config,
TextComponent2Config,
TextComponent3Config,
TextComponent4Config,
TextComponent5Config,
TextComponentDefaultConfig,
transformTextComponentConfig,
} from '../../components/TextComponent/config';
import { ComponentInfo, DataComponentRecord, DataSource } from '/@/api/dataBoard/model';
import DashBoardComponent from '../../components/InstrumentComponent/DashBoardComponent.vue';
import PictureComponent from '../../components/PictureComponent/PictureComponent.vue';
import { transformPictureConfig } from '../../components/PictureComponent/pictureComponent.config';
import { WidgetComponentType } from './visualOptions';
import {
DashboardComponentLayout,
Instrument1DefaultConfig,
Instrument2DefaultConfig,
instrumentComponent1,
instrumentComponent2,
transformDashboardComponentConfig,
} from '../../components/InstrumentComponent/dashBoardComponent.config';
import DigitalDashBoard from '../../components/InstrumentComponent/DigitalDashBoard.vue';
import { DigitalComponentDefaultConfig } from '../../components/InstrumentComponent/digitalDashBoard.config';
export enum FrontComponent {
TEXT_COMPONENT_1 = 'text-component-1',
TEXT_COMPONENT_2 = 'text-component-2',
TEXT_COMPONENT_3 = 'text-component-3',
TEXT_COMPONENT_4 = 'text-component-4',
TEXT_COMPONENT_5 = 'text-component-5',
INSTRUMENT_COMPONENT_1 = 'instrument-component-1',
INSTRUMENT_COMPONENT_2 = 'instrument-component-2',
DIGITAL_DASHBOARD_COMPONENT = 'digital-dashboard-component',
PICTURE_COMPONENT_1 = 'picture-component-1',
}
export interface ComponentConfig {
Component: Component;
ComponentConfig: Recordable;
transformConfig: (
ComponentConfig: Recordable,
record: DataComponentRecord,
dataSourceRecord: DataSource
) => Recordable;
}
export const frontComponentDefaultConfigMap = new Map<
WidgetComponentType,
Partial<ComponentInfo>
>();
export const frontComponentMap = new Map<WidgetComponentType, ComponentConfig>();
frontComponentMap.set(FrontComponent.TEXT_COMPONENT_1, {
Component: TextComponent,
ComponentConfig: TextComponent1Config,
transformConfig: transformTextComponentConfig,
});
frontComponentMap.set(FrontComponent.TEXT_COMPONENT_2, {
Component: TextComponent,
ComponentConfig: TextComponent2Config,
transformConfig: transformTextComponentConfig,
});
frontComponentMap.set(FrontComponent.TEXT_COMPONENT_3, {
Component: TextComponent,
ComponentConfig: TextComponent3Config,
transformConfig: transformTextComponentConfig,
});
frontComponentMap.set(FrontComponent.TEXT_COMPONENT_4, {
Component: TextComponent,
ComponentConfig: TextComponent4Config,
transformConfig: transformTextComponentConfig,
});
frontComponentMap.set(FrontComponent.TEXT_COMPONENT_5, {
Component: TextComponent,
ComponentConfig: TextComponent5Config,
transformConfig: transformTextComponentConfig,
});
frontComponentMap.set(FrontComponent.INSTRUMENT_COMPONENT_1, {
Component: DashBoardComponent,
ComponentConfig: {
chartOption: instrumentComponent1(),
componentType: FrontComponent.INSTRUMENT_COMPONENT_1,
} as DashboardComponentLayout,
transformConfig: transformDashboardComponentConfig,
});
frontComponentMap.set(FrontComponent.INSTRUMENT_COMPONENT_2, {
Component: DashBoardComponent,
ComponentConfig: {
chartOption: instrumentComponent2(),
componentType: FrontComponent.INSTRUMENT_COMPONENT_2,
} as DashboardComponentLayout,
transformConfig: transformDashboardComponentConfig,
});
frontComponentMap.set(FrontComponent.DIGITAL_DASHBOARD_COMPONENT, {
Component: DigitalDashBoard,
ComponentConfig: {},
transformConfig: transformDashboardComponentConfig,
});
frontComponentMap.set(FrontComponent.PICTURE_COMPONENT_1, {
Component: PictureComponent,
ComponentConfig: {},
transformConfig: transformPictureConfig,
});
frontComponentDefaultConfigMap.set(FrontComponent.TEXT_COMPONENT_1, TextComponentDefaultConfig);
frontComponentDefaultConfigMap.set(FrontComponent.TEXT_COMPONENT_2, TextComponentDefaultConfig);
frontComponentDefaultConfigMap.set(FrontComponent.TEXT_COMPONENT_3, TextComponentDefaultConfig);
frontComponentDefaultConfigMap.set(FrontComponent.TEXT_COMPONENT_4, TextComponentDefaultConfig);
frontComponentDefaultConfigMap.set(FrontComponent.TEXT_COMPONENT_5, TextComponentDefaultConfig);
frontComponentDefaultConfigMap.set(FrontComponent.INSTRUMENT_COMPONENT_1, Instrument1DefaultConfig);
frontComponentDefaultConfigMap.set(FrontComponent.INSTRUMENT_COMPONENT_2, Instrument2DefaultConfig);
frontComponentDefaultConfigMap.set(
FrontComponent.DIGITAL_DASHBOARD_COMPONENT,
DigitalComponentDefaultConfig
);
export const getComponentDefaultConfig = (key: WidgetComponentType) => {
return frontComponentDefaultConfigMap.get(key) || {};
};