forked from alibaba/lowcode-engine-ext
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.ts
More file actions
128 lines (121 loc) · 3.89 KB
/
index.ts
File metadata and controls
128 lines (121 loc) · 3.89 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
import { IPublicModelPluginContext } from '@felce/lowcode-types';
import packagesInfo from '../package.json';
import './index.less';
import EventBindDialog from './plugin/plugin-event-bind-dialog';
import SimpleVariableBindPopup from './plugin/plugin-simple-bind-popup';
import VariableBindDialog from './plugin/plugin-variable-bind-dialog';
import { DataArraySetter } from './setter/array-setter';
import BoolSetter from './setter/bool-setter';
import ClassNameSetter from './setter/classname-setter';
import ColorSetter from './setter/color-setter';
import {
DateMonthSetter,
DateRangeSetter,
DateYearSetter,
StringDateSetter,
StringTimePicker,
} from './setter/date-setter';
import EventsSetter from './setter/events-setter';
import ExpressionSetter, { DataExpressionSetter } from './setter/expression-setter';
import { DataFunctionSetter } from './setter/function-setter';
import I18nSetter from './setter/i18n-setter';
import IconSetter from './setter/icon-setter';
import JsonSetter, { DataJsonSetter } from './setter/json-setter';
import MixedSetter from './setter/mixed-setter';
import NumberSetter from './setter/number-setter';
import { DataObjectSetter } from './setter/object-setter';
import RadioGroupSetter from './setter/radiogroup-setter';
import SelectSetter from './setter/select-setter';
import { DataSlotSetter } from './setter/slot-setter';
import StringSetter from './setter/string-setter';
import StyleSetter from './setter/style-setter';
import TextAreaSetter from './setter/textarea-setter';
import TitleSetter from './setter/title-setter';
import { DataVariableSetter } from './setter/variable-setter';
export { EventsSetter, ExpressionSetter, IconSetter, JsonSetter };
// TODO 类型定义
const engineExt: any = {
setters: {
StringSetter,
NumberSetter,
BoolSetter,
SelectSetter,
VariableSetter: DataVariableSetter,
ExpressionSetter: DataExpressionSetter,
RadioGroupSetter,
TextAreaSetter,
DateSetter: StringDateSetter,
TimePicker: StringTimePicker,
DateYearSetter,
DateMonthSetter,
DateRangeSetter,
EventsSetter,
ColorSetter,
JsonSetter: DataJsonSetter,
StyleSetter,
IconSetter,
ClassNameSetter,
I18nSetter,
FunctionSetter: DataFunctionSetter,
MixedSetter,
SlotSetter: DataSlotSetter,
ArraySetter: DataArraySetter,
ObjectSetter: DataObjectSetter,
TitleSetter,
},
setterMap: {
StringSetter,
NumberSetter,
BoolSetter,
SelectSetter,
VariableSetter: DataVariableSetter,
ExpressionSetter: DataExpressionSetter,
RadioGroupSetter,
TextAreaSetter,
DateSetter: StringDateSetter,
TimePicker: StringTimePicker,
DateYearSetter,
DateMonthSetter,
DateRangeSetter,
EventsSetter,
ColorSetter,
JsonSetter: DataJsonSetter,
StyleSetter,
IconSetter,
ClassNameSetter,
I18nSetter,
FunctionSetter: DataFunctionSetter,
MixedSetter,
SlotSetter: DataSlotSetter,
ArraySetter: DataArraySetter,
ObjectSetter: DataObjectSetter,
TitleSetter,
},
pluginMap: {
EventBindDialog,
VariableBindDialog,
SimpleVariableBindPopup,
},
};
engineExt.version = packagesInfo.version;
(window as any).AliLowCodeEngineExt = engineExt;
console.log(
'%c AliLowCodeExt %c v'.concat(engineExt.version, ' '),
'padding: 2px 1px; border-radius: 3px 0 0 3px; color: #fff; background: #5584ff; font-weight: bold;',
'padding: 2px 1px; border-radius: 0 3px 3px 0; color: #fff; background: #42c02e; font-weight: bold;',
);
// 注册默认的 setters
export const setterRegistry = (ctx: IPublicModelPluginContext) => {
return {
async init() {
const { config } = ctx;
if (config.get('disableDefaultSetters')) return;
const builtinSetters = engineExt.setters;
if (builtinSetters) {
ctx.setters.registerSetter(builtinSetters);
}
},
};
};
setterRegistry.pluginName = '___setter_registry___';
export default engineExt;