imm-element-ui 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -0
- package/esm2022/imm-element-ui.mjs +5 -0
- package/esm2022/lib/am/am.component.mjs +502 -0
- package/esm2022/lib/crumb-action/crumb-action.component.mjs +127 -0
- package/esm2022/lib/form/form/form.component.mjs +217 -0
- package/esm2022/lib/form/form-field/field-control.mjs +19 -0
- package/esm2022/lib/form/form-field/field-utils.mjs +227 -0
- package/esm2022/lib/form/form-field/form-field.mjs +129 -0
- package/esm2022/lib/form/form-field/form-type.mjs +123 -0
- package/esm2022/lib/form/form-field/label.directive.mjs +62 -0
- package/esm2022/lib/form/form-type/autocomplete.type.mjs +200 -0
- package/esm2022/lib/form/form-type/codemirror.type.mjs +167 -0
- package/esm2022/lib/form/form-type/datepicker.type.mjs +212 -0
- package/esm2022/lib/form/form-type/image.type.mjs +225 -0
- package/esm2022/lib/form/form-type/inputnumber.type.mjs +144 -0
- package/esm2022/lib/form/form-type/inputtext.type.mjs +69 -0
- package/esm2022/lib/form/form-type/multiselect.type.mjs +219 -0
- package/esm2022/lib/form/form-type/radio.type.mjs +167 -0
- package/esm2022/lib/form/form-type/select.type.mjs +196 -0
- package/esm2022/lib/form/form-type/textarea.type.mjs +75 -0
- package/esm2022/lib/form/form-type/treeselect.type.mjs +174 -0
- package/esm2022/lib/form/form-type/upload.type.mjs +228 -0
- package/esm2022/lib/grid/actions/actions.component.mjs +30 -0
- package/esm2022/lib/grid/cell-edit/cell-edit-autoComplete.component.mjs +89 -0
- package/esm2022/lib/grid/cell-edit/cell-edit-datePicker.compoent.mjs +182 -0
- package/esm2022/lib/grid/cell-edit/cell-edit-inputNumber.component.mjs +107 -0
- package/esm2022/lib/grid/cell-edit/cell-edit-inputText.compoent.mjs +46 -0
- package/esm2022/lib/grid/cell-edit/cell-edit-select.component.mjs +148 -0
- package/esm2022/lib/grid/cell-edit/index.mjs +7 -0
- package/esm2022/lib/grid/cell-render/async-renderer.mjs +29 -0
- package/esm2022/lib/grid/cell-render/link-render.mjs +42 -0
- package/esm2022/lib/grid/grid/grid.component.mjs +373 -0
- package/esm2022/lib/grid/grid-utils.mjs +103 -0
- package/esm2022/lib/grid/mock-data.mjs +14 -0
- package/esm2022/lib/grid/pager/pager.component.mjs +19 -0
- package/esm2022/lib/head/head.component.mjs +43 -0
- package/esm2022/lib/import/import.component.mjs +68 -0
- package/esm2022/lib/log/log.component.mjs +37 -0
- package/esm2022/lib/page-form/page-form.component.mjs +167 -0
- package/esm2022/lib/page-form/page-form.interface.mjs +2 -0
- package/esm2022/lib/page-grid-list/page-grid-list.component.mjs +60 -0
- package/esm2022/lib/row-selector/row-selector.component.mjs +58 -0
- package/esm2022/lib/search/mock-data.mjs +40 -0
- package/esm2022/lib/search/pop-date/pop-date.component.mjs +106 -0
- package/esm2022/lib/search/pop-list/pop-list.component.mjs +32 -0
- package/esm2022/lib/search/pop-panel/pop-panel.component.mjs +44 -0
- package/esm2022/lib/search/pop-select/pop-select.component.mjs +45 -0
- package/esm2022/lib/search/pop-self/pop-self.component.mjs +132 -0
- package/esm2022/lib/search/pop-tree/pop-tree.component.mjs +50 -0
- package/esm2022/lib/search/search/search.component.mjs +138 -0
- package/esm2022/lib/search/search-tip/search-tip.component.mjs +54 -0
- package/esm2022/lib/search/search-utils.mjs +165 -0
- package/esm2022/lib/search/text-panel/text-panel.component.mjs +41 -0
- package/esm2022/lib/service/action.service.mjs +115 -0
- package/esm2022/lib/service/i18n.service.mjs +79 -0
- package/esm2022/lib/service/themeConfig.service.mjs +82 -0
- package/esm2022/lib/service/userHistory.service.mjs +106 -0
- package/esm2022/lib/share/utils.mjs +150 -0
- package/esm2022/lib/steps/steps.component.mjs +31 -0
- package/esm2022/lib/theme-config/theme-config-panel.compoent.mjs +141 -0
- package/esm2022/lib/theme-config/theme-config.compoent.mjs +45 -0
- package/esm2022/public-api.mjs +26 -0
- package/fesm2022/imm-element-ui.mjs +6382 -0
- package/fesm2022/imm-element-ui.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/am/am.component.d.ts +191 -0
- package/lib/crumb-action/crumb-action.component.d.ts +40 -0
- package/lib/form/form/form.component.d.ts +53 -0
- package/lib/form/form-field/field-control.d.ts +13 -0
- package/lib/form/form-field/field-utils.d.ts +12 -0
- package/lib/form/form-field/form-field.d.ts +86 -0
- package/lib/form/form-field/form-type.d.ts +22 -0
- package/lib/form/form-field/label.directive.d.ts +14 -0
- package/lib/form/form-type/autocomplete.type.d.ts +77 -0
- package/lib/form/form-type/codemirror.type.d.ts +31 -0
- package/lib/form/form-type/datepicker.type.d.ts +83 -0
- package/lib/form/form-type/image.type.d.ts +49 -0
- package/lib/form/form-type/inputnumber.type.d.ts +49 -0
- package/lib/form/form-type/inputtext.type.d.ts +17 -0
- package/lib/form/form-type/multiselect.type.d.ts +85 -0
- package/lib/form/form-type/radio.type.d.ts +31 -0
- package/lib/form/form-type/select.type.d.ts +73 -0
- package/lib/form/form-type/textarea.type.d.ts +19 -0
- package/lib/form/form-type/treeselect.type.d.ts +62 -0
- package/lib/form/form-type/upload.type.d.ts +51 -0
- package/lib/grid/actions/actions.component.d.ts +14 -0
- package/lib/grid/cell-edit/cell-edit-autoComplete.component.d.ts +18 -0
- package/lib/grid/cell-edit/cell-edit-datePicker.compoent.d.ts +16 -0
- package/lib/grid/cell-edit/cell-edit-inputNumber.component.d.ts +15 -0
- package/lib/grid/cell-edit/cell-edit-inputText.compoent.d.ts +16 -0
- package/lib/grid/cell-edit/cell-edit-select.component.d.ts +12 -0
- package/lib/grid/cell-edit/index.d.ts +6 -0
- package/lib/grid/cell-render/async-renderer.d.ts +10 -0
- package/lib/grid/cell-render/link-render.d.ts +14 -0
- package/lib/grid/grid/grid.component.d.ts +272 -0
- package/lib/grid/grid-utils.d.ts +751 -0
- package/lib/grid/mock-data.d.ts +12 -0
- package/lib/grid/pager/pager.component.d.ts +15 -0
- package/lib/head/head.component.d.ts +17 -0
- package/lib/import/import.component.d.ts +22 -0
- package/lib/log/log.component.d.ts +14 -0
- package/lib/page-form/page-form.component.d.ts +46 -0
- package/lib/page-form/page-form.interface.d.ts +27 -0
- package/lib/page-grid-list/page-grid-list.component.d.ts +18 -0
- package/lib/row-selector/row-selector.component.d.ts +21 -0
- package/lib/search/mock-data.d.ts +20 -0
- package/lib/search/pop-date/pop-date.component.d.ts +26 -0
- package/lib/search/pop-list/pop-list.component.d.ts +12 -0
- package/lib/search/pop-panel/pop-panel.component.d.ts +15 -0
- package/lib/search/pop-select/pop-select.component.d.ts +13 -0
- package/lib/search/pop-self/pop-self.component.d.ts +31 -0
- package/lib/search/pop-tree/pop-tree.component.d.ts +22 -0
- package/lib/search/search/search.component.d.ts +60 -0
- package/lib/search/search-tip/search-tip.component.d.ts +22 -0
- package/lib/search/search-utils.d.ts +10 -0
- package/lib/search/text-panel/text-panel.component.d.ts +21 -0
- package/lib/service/action.service.d.ts +54 -0
- package/lib/service/i18n.service.d.ts +93 -0
- package/lib/service/themeConfig.service.d.ts +24 -0
- package/lib/service/userHistory.service.d.ts +26 -0
- package/lib/share/utils.d.ts +16 -0
- package/lib/steps/steps.component.d.ts +16 -0
- package/lib/theme-config/theme-config-panel.compoent.d.ts +78 -0
- package/lib/theme-config/theme-config.compoent.d.ts +6 -0
- package/package.json +28 -0
- package/public-api.d.ts +20 -0
- package/src/lib/crumb-action/crumb-action.component.scss +51 -0
- package/src/lib/form/form/form.component.scss +0 -0
- package/src/lib/grid/actions/actions.component.scss +0 -0
- package/src/lib/grid/grid/grid.component.scss +0 -0
- package/src/lib/grid/pager/pager.component.scss +13 -0
- package/src/lib/head/head.component.scss +3 -0
- package/src/lib/import/import.component.scss +10 -0
- package/src/lib/log/log.component.scss +21 -0
- package/src/lib/page-form/page-form.component.scss +14 -0
- package/src/lib/page-grid-list/page-grid-list.component.scss +14 -0
- package/src/lib/row-selector/row-selector.component.scss +1 -0
- package/src/lib/search/dynamic-search/dynamic-search.component.scss +70 -0
- package/src/lib/search/pop-date/pop-date.component.scss +47 -0
- package/src/lib/search/pop-list/pop-list.component.scss +23 -0
- package/src/lib/search/pop-panel/pop-panel.component.scss +49 -0
- package/src/lib/search/pop-select/pop-select.component.scss +29 -0
- package/src/lib/search/pop-self/pop-self.component.scss +60 -0
- package/src/lib/search/pop-tree/pop-tree.component.scss +34 -0
- package/src/lib/search/search/search.component.scss +70 -0
- package/src/lib/search/search-tip/search-tip.component.scss +47 -0
- package/src/lib/search/text-panel/text-panel.component.scss +16 -0
- package/src/lib/steps/steps.component.scss +52 -0
- package/src/lib/styles/styles.scss +232 -0
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
import { tap } from 'rxjs';
|
|
2
|
+
const _fieldUtils = {
|
|
3
|
+
props: (field) => {
|
|
4
|
+
let props = {};
|
|
5
|
+
switch (field.type) {
|
|
6
|
+
case 'inputtext':
|
|
7
|
+
props = field.inputTextProps;
|
|
8
|
+
break;
|
|
9
|
+
case 'inputnumber':
|
|
10
|
+
props = field.inputNumberProps;
|
|
11
|
+
break;
|
|
12
|
+
case 'select':
|
|
13
|
+
props = field.selectProps;
|
|
14
|
+
break;
|
|
15
|
+
case 'treeselect':
|
|
16
|
+
props = field.treeSelectProps;
|
|
17
|
+
break;
|
|
18
|
+
case 'datepicker':
|
|
19
|
+
props = field.datePickerProps;
|
|
20
|
+
break;
|
|
21
|
+
case 'autocomplete':
|
|
22
|
+
props = field.autoCompleteProps;
|
|
23
|
+
break;
|
|
24
|
+
case 'multiselect':
|
|
25
|
+
props = field.multiSelectProps;
|
|
26
|
+
break;
|
|
27
|
+
case 'radio':
|
|
28
|
+
props = field.radioProps;
|
|
29
|
+
break;
|
|
30
|
+
case 'textarea':
|
|
31
|
+
props = field.textAreaProps;
|
|
32
|
+
break;
|
|
33
|
+
case 'upload':
|
|
34
|
+
props = field.uploadProps;
|
|
35
|
+
break;
|
|
36
|
+
case 'image':
|
|
37
|
+
props = field.imageProps;
|
|
38
|
+
break;
|
|
39
|
+
case 'codemirror':
|
|
40
|
+
props = field.codeMirrorProps;
|
|
41
|
+
break;
|
|
42
|
+
}
|
|
43
|
+
return props;
|
|
44
|
+
},
|
|
45
|
+
label: (field, i18nService) => {
|
|
46
|
+
const i18nKey = _fieldUtils.props(field).i18nKey;
|
|
47
|
+
if (i18nKey) {
|
|
48
|
+
return i18nService.fanyi(i18nKey);
|
|
49
|
+
}
|
|
50
|
+
return _fieldUtils.props(field).label;
|
|
51
|
+
},
|
|
52
|
+
setModel(model, key, value) {
|
|
53
|
+
const keys = key.split('.');
|
|
54
|
+
if (keys.length == 1) {
|
|
55
|
+
model[key] = value;
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
const k = keys.shift();
|
|
60
|
+
if (model[k] == undefined) {
|
|
61
|
+
model[k] = {};
|
|
62
|
+
}
|
|
63
|
+
this.setModel(model[k], keys.join('.'), value);
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
getModel(model, key) {
|
|
67
|
+
const keys = key.split('.');
|
|
68
|
+
if (keys.length == 1) {
|
|
69
|
+
return model[key];
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
const k = keys.shift();
|
|
73
|
+
if (model[k] == undefined) {
|
|
74
|
+
model[k] = {};
|
|
75
|
+
}
|
|
76
|
+
return this.getModel(model[k], keys.join('.'));
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
triggerHookAndSetValue: (field, value, detectModelChange, hookObservers, callback) => {
|
|
80
|
+
if (field.hook) {
|
|
81
|
+
const sub = field.hook
|
|
82
|
+
.pipe(tap((func) => {
|
|
83
|
+
func(field);
|
|
84
|
+
}))
|
|
85
|
+
.subscribe(() => {
|
|
86
|
+
field.fieldControl?.setValue(fieldUtils.toFieldValue(field, value), { onlySelf: false, emitEvent: false }, detectModelChange),
|
|
87
|
+
callback && callback();
|
|
88
|
+
});
|
|
89
|
+
hookObservers.push(() => sub.unsubscribe());
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
field.fieldControl?.setValue(fieldUtils.toFieldValue(field, value), { onlySelf: false, emitEvent: false }, detectModelChange);
|
|
93
|
+
callback && callback();
|
|
94
|
+
}
|
|
95
|
+
},
|
|
96
|
+
fromFieldValue: (field, target, datePipe) => {
|
|
97
|
+
if (field.type == 'treeselect') {
|
|
98
|
+
return _fieldUtils.fromTreeSelectValue(field, target);
|
|
99
|
+
}
|
|
100
|
+
if (field.type == 'datepicker') {
|
|
101
|
+
return _fieldUtils.fromDataPickerValue(field, target, datePipe);
|
|
102
|
+
}
|
|
103
|
+
if (field.type == 'multiselect') {
|
|
104
|
+
return _fieldUtils.fromMultiSelectValue(field, target);
|
|
105
|
+
}
|
|
106
|
+
if (field.type == 'image') {
|
|
107
|
+
return _fieldUtils.fromImageValue(field, target);
|
|
108
|
+
}
|
|
109
|
+
if (field.type == 'upload') {
|
|
110
|
+
return _fieldUtils.fromUploadValue(field, target);
|
|
111
|
+
}
|
|
112
|
+
return target;
|
|
113
|
+
},
|
|
114
|
+
fromTreeSelectValue: (field, target) => {
|
|
115
|
+
if (field.treeSelectProps?.selectionMode == 'single') {
|
|
116
|
+
return target.key;
|
|
117
|
+
}
|
|
118
|
+
return target.map((item) => item.key).join(',');
|
|
119
|
+
},
|
|
120
|
+
fromDataPickerValue: (field, target, datePipe) => {
|
|
121
|
+
const dateFormat = (field.datePickerProps?.dateFormat || 'yy-mm-dd').replace('yy', 'yyyy').replace('mm', 'MM');
|
|
122
|
+
return datePipe.transform(target, dateFormat) || target;
|
|
123
|
+
},
|
|
124
|
+
fromMultiSelectValue: (field, target) => {
|
|
125
|
+
if (!field.multiSelectProps?.optionValue) {
|
|
126
|
+
return target;
|
|
127
|
+
}
|
|
128
|
+
return target.join(',');
|
|
129
|
+
},
|
|
130
|
+
fromImageValue: (field, target) => {
|
|
131
|
+
return target.join(';');
|
|
132
|
+
},
|
|
133
|
+
fromUploadValue: (field, target) => {
|
|
134
|
+
return target.join(';');
|
|
135
|
+
},
|
|
136
|
+
toFieldValue: (field, raw) => {
|
|
137
|
+
if (field.type == 'treeselect') {
|
|
138
|
+
return _fieldUtils.toTreeSelectValue(field, raw);
|
|
139
|
+
}
|
|
140
|
+
if (field.type == 'multiselect') {
|
|
141
|
+
return _fieldUtils.toMultiSelectValue(field, raw);
|
|
142
|
+
}
|
|
143
|
+
if (field.type == 'image') {
|
|
144
|
+
return _fieldUtils.toImageValue(field, raw);
|
|
145
|
+
}
|
|
146
|
+
if (field.type == 'upload') {
|
|
147
|
+
return _fieldUtils.toUploadValue(field, raw);
|
|
148
|
+
}
|
|
149
|
+
return raw || '';
|
|
150
|
+
},
|
|
151
|
+
toTreeSelectValue: (field, raw) => {
|
|
152
|
+
if (field.treeSelectProps?.selectionMode == 'single') {
|
|
153
|
+
return _fieldUtils.findTreeNode(raw, field.treeSelectProps?.options);
|
|
154
|
+
}
|
|
155
|
+
const nodes = [];
|
|
156
|
+
_fieldUtils.findTreeNodes(raw?.split(',') || [], field.treeSelectProps?.options || [], nodes);
|
|
157
|
+
return nodes;
|
|
158
|
+
},
|
|
159
|
+
toMultiSelectValue: (field, raw) => {
|
|
160
|
+
if (!field.multiSelectProps?.optionValue) {
|
|
161
|
+
return raw || '';
|
|
162
|
+
}
|
|
163
|
+
return (raw && raw.split(',')) || '';
|
|
164
|
+
},
|
|
165
|
+
toImageValue: (field, raw) => {
|
|
166
|
+
return (raw && raw.split(';')) || [];
|
|
167
|
+
},
|
|
168
|
+
toUploadValue: (field, raw) => {
|
|
169
|
+
return (raw && raw.split(';')) || [];
|
|
170
|
+
},
|
|
171
|
+
findTreeNode(value, children) {
|
|
172
|
+
if (!children || children.length == 0)
|
|
173
|
+
return;
|
|
174
|
+
const n = children.find((o) => o.key == value);
|
|
175
|
+
if (n)
|
|
176
|
+
return n;
|
|
177
|
+
for (const ch of children) {
|
|
178
|
+
const cn = this.findTreeNode(value, ch.children);
|
|
179
|
+
if (cn)
|
|
180
|
+
return cn;
|
|
181
|
+
}
|
|
182
|
+
return;
|
|
183
|
+
},
|
|
184
|
+
findTreeNodes(values, children, nodes) {
|
|
185
|
+
if (!children || children.length == 0)
|
|
186
|
+
return;
|
|
187
|
+
const tars = children.filter((o) => values.indexOf(o.key) != -1);
|
|
188
|
+
nodes?.push(...tars);
|
|
189
|
+
for (const ch of children) {
|
|
190
|
+
this.findTreeNodes(values, ch.children, nodes);
|
|
191
|
+
}
|
|
192
|
+
},
|
|
193
|
+
transLog(rawModel, changedModel, mainValue, isNew) {
|
|
194
|
+
if (isNew) {
|
|
195
|
+
return '新建:' + mainValue;
|
|
196
|
+
}
|
|
197
|
+
const detail = [];
|
|
198
|
+
Object.keys(changedModel).forEach((key) => {
|
|
199
|
+
if (changedModel[key].type == 'codemirror') {
|
|
200
|
+
detail.push(`[${changedModel[key].name}] 变更`);
|
|
201
|
+
return;
|
|
202
|
+
}
|
|
203
|
+
detail.push(`[${changedModel[key].name}] ${rawModel[key] || ''} -> ${changedModel[key].value || ''}`);
|
|
204
|
+
});
|
|
205
|
+
return detail.join(';');
|
|
206
|
+
},
|
|
207
|
+
// 经测试select组件有内部bug
|
|
208
|
+
// 设置model时,fieldControl.setValue的emitEvent参数为false,仍会触发valueChanges事件
|
|
209
|
+
// 触发valueChanges会影响日志保存的准确性,故此方法仅是为了防止组件内部意外触发的变动
|
|
210
|
+
isFakedChange(newValue, oldValue, field) {
|
|
211
|
+
const changeTypes = ['inputtext', 'inputnumber', 'select', 'treeselect', 'datepicker', 'autocomplete', 'multiselect', 'radio'];
|
|
212
|
+
if (changeTypes.includes(field.type)) {
|
|
213
|
+
return (oldValue || '') == (newValue || '');
|
|
214
|
+
}
|
|
215
|
+
return false;
|
|
216
|
+
},
|
|
217
|
+
};
|
|
218
|
+
export const fieldUtils = {
|
|
219
|
+
props: _fieldUtils.props,
|
|
220
|
+
label: _fieldUtils.label,
|
|
221
|
+
triggerHookAndSetValue: _fieldUtils.triggerHookAndSetValue,
|
|
222
|
+
fromFieldValue: _fieldUtils.fromFieldValue,
|
|
223
|
+
toFieldValue: _fieldUtils.toFieldValue,
|
|
224
|
+
transLog: _fieldUtils.transLog,
|
|
225
|
+
isFakedChange: _fieldUtils.isFakedChange,
|
|
226
|
+
};
|
|
227
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbW0tdWkvc3JjL2xpYi9mb3JtL2Zvcm0tZmllbGQvZmllbGQtdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUzQixNQUFNLFdBQVcsR0FBRztJQUNuQixLQUFLLEVBQUUsQ0FBQyxLQUFnQixFQUFjLEVBQUU7UUFDdkMsSUFBSSxLQUFLLEdBQWUsRUFBRSxDQUFDO1FBQzNCLFFBQVEsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3BCLEtBQUssV0FBVztnQkFDZixLQUFLLEdBQUcsS0FBSyxDQUFDLGNBQWUsQ0FBQztnQkFDOUIsTUFBTTtZQUNQLEtBQUssYUFBYTtnQkFDakIsS0FBSyxHQUFHLEtBQUssQ0FBQyxnQkFBaUIsQ0FBQztnQkFDaEMsTUFBTTtZQUNQLEtBQUssUUFBUTtnQkFDWixLQUFLLEdBQUcsS0FBSyxDQUFDLFdBQVksQ0FBQztnQkFDM0IsTUFBTTtZQUNQLEtBQUssWUFBWTtnQkFDaEIsS0FBSyxHQUFHLEtBQUssQ0FBQyxlQUFnQixDQUFDO2dCQUMvQixNQUFNO1lBQ1AsS0FBSyxZQUFZO2dCQUNoQixLQUFLLEdBQUcsS0FBSyxDQUFDLGVBQWdCLENBQUM7Z0JBQy9CLE1BQU07WUFDUCxLQUFLLGNBQWM7Z0JBQ2xCLEtBQUssR0FBRyxLQUFLLENBQUMsaUJBQWtCLENBQUM7Z0JBQ2pDLE1BQU07WUFDUCxLQUFLLGFBQWE7Z0JBQ2pCLEtBQUssR0FBRyxLQUFLLENBQUMsZ0JBQWlCLENBQUM7Z0JBQ2hDLE1BQU07WUFDUCxLQUFLLE9BQU87Z0JBQ1gsS0FBSyxHQUFHLEtBQUssQ0FBQyxVQUFXLENBQUM7Z0JBQzFCLE1BQU07WUFDUCxLQUFLLFVBQVU7Z0JBQ2QsS0FBSyxHQUFHLEtBQUssQ0FBQyxhQUFjLENBQUM7Z0JB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VyxDQUFDLFlBQVk7SUFDdEMsUUFBUSxFQUFFLFdBQVcsQ0FBQyxRQUFRO0lBQzlCLGFBQWEsRUFBRSxXQUFXLENBQUMsYUFBYTtDQUN4QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybUZpZWxkLCBGaWVsZFByb3BzIH0gZnJvbSAnLi9mb3JtLWZpZWxkJztcclxuaW1wb3J0IHsgRGF0ZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2UvaTE4bi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgdGFwIH0gZnJvbSAncnhqcyc7XHJcblxyXG5jb25zdCBfZmllbGRVdGlscyA9IHtcclxuXHRwcm9wczogKGZpZWxkOiBGb3JtRmllbGQpOiBGaWVsZFByb3BzID0+IHtcclxuXHRcdGxldCBwcm9wczogRmllbGRQcm9wcyA9IHt9O1xyXG5cdFx0c3dpdGNoIChmaWVsZC50eXBlKSB7XHJcblx0XHRcdGNhc2UgJ2lucHV0dGV4dCc6XHJcblx0XHRcdFx0cHJvcHMgPSBmaWVsZC5pbnB1dFRleHRQcm9wcyE7XHJcblx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdGNhc2UgJ2lucHV0bnVtYmVyJzpcclxuXHRcdFx0XHRwcm9wcyA9IGZpZWxkLmlucHV0TnVtYmVyUHJvcHMhO1xyXG5cdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRjYXNlICdzZWxlY3QnOlxyXG5cdFx0XHRcdHByb3BzID0gZmllbGQuc2VsZWN0UHJvcHMhO1xyXG5cdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRjYXNlICd0cmVlc2VsZWN0JzpcclxuXHRcdFx0XHRwcm9wcyA9IGZpZWxkLnRyZWVTZWxlY3RQcm9wcyE7XHJcblx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdGNhc2UgJ2RhdGVwaWNrZXInOlxyXG5cdFx0XHRcdHByb3BzID0gZmllbGQuZGF0ZVBpY2tlclByb3BzITtcclxuXHRcdFx0XHRicmVhaztcclxuXHRcdFx0Y2FzZSAnYXV0b2NvbXBsZXRlJzpcclxuXHRcdFx0XHRwcm9wcyA9IGZpZWxkLmF1dG9Db21wbGV0ZVByb3BzITtcclxuXHRcdFx0XHRicmVhaztcclxuXHRcdFx0Y2FzZSAnbXVsdGlzZWxlY3QnOlxyXG5cdFx0XHRcdHByb3BzID0gZmllbGQubXVsdGlTZWxlY3RQcm9wcyE7XHJcblx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdGNhc2UgJ3JhZGlvJzpcclxuXHRcdFx0XHRwcm9wcyA9IGZpZWxkLnJhZGlvUHJvcHMhO1xyXG5cdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRjYXNlICd0ZXh0YXJlYSc6XHJcblx0XHRcdFx0cHJvcHMgPSBmaWVsZC50ZXh0QXJlYVByb3BzITtcclxuXHRcdFx0XHRicmVhaztcclxuXHRcdFx0Y2FzZSAndXBsb2FkJzpcclxuXHRcdFx0XHRwcm9wcyA9IGZpZWxkLnVwbG9hZFByb3BzITtcclxuXHRcdFx0XHRicmVhaztcclxuXHRcdFx0Y2FzZSAnaW1hZ2UnOlxyXG5cdFx0XHRcdHByb3BzID0gZmllbGQuaW1hZ2VQcm9wcyE7XHJcblx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdGNhc2UgJ2NvZGVtaXJyb3InOlxyXG5cdFx0XHRcdHByb3BzID0gZmllbGQuY29kZU1pcnJvclByb3BzITtcclxuXHRcdFx0XHRicmVhaztcclxuXHRcdH1cclxuXHRcdHJldHVybiBwcm9wcztcclxuXHR9LFxyXG5cdGxhYmVsOiAoZmllbGQ6IEZvcm1GaWVsZCwgaTE4blNlcnZpY2U6IEkxOG5TZXJ2aWNlKTogc3RyaW5nIHwgdW5kZWZpbmVkID0+IHtcclxuXHRcdGNvbnN0IGkxOG5LZXkgPSBfZmllbGRVdGlscy5wcm9wcyhmaWVsZCkuaTE4bktleTtcclxuXHRcdGlmIChpMThuS2V5KSB7XHJcblx0XHRcdHJldHVybiBpMThuU2VydmljZS5mYW55aShpMThuS2V5KTtcclxuXHRcdH1cclxuXHRcdHJldHVybiBfZmllbGRVdGlscy5wcm9wcyhmaWVsZCkubGFiZWw7XHJcblx0fSxcclxuXHRzZXRNb2RlbChtb2RlbDogYW55LCBrZXk6IHN0cmluZywgdmFsdWU6IGFueSkge1xyXG5cdFx0Y29uc3Qga2V5cyA9IGtleS5zcGxpdCgnLicpO1xyXG5cdFx0aWYgKGtleXMubGVuZ3RoID09IDEpIHtcclxuXHRcdFx0bW9kZWxba2V5XSA9IHZhbHVlO1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHRjb25zdCBrOiBhbnkgPSBrZXlzLnNoaWZ0KCk7XHJcblx0XHRcdGlmIChtb2RlbFtrXSA9PSB1bmRlZmluZWQpIHtcclxuXHRcdFx0XHRtb2RlbFtrXSA9IHt9O1xyXG5cdFx0XHR9XHJcblx0XHRcdHRoaXMuc2V0TW9kZWwobW9kZWxba10sIGtleXMuam9pbignLicpLCB2YWx1ZSk7XHJcblx0XHR9XHJcblx0fSxcclxuXHRnZXRNb2RlbChtb2RlbDogYW55LCBrZXk6IHN0cmluZyk6IGFueSB7XHJcblx0XHRjb25zdCBrZXlzID0ga2V5LnNwbGl0KCcuJyk7XHJcblx0XHRpZiAoa2V5cy5sZW5ndGggPT0gMSkge1xyXG5cdFx0XHRyZXR1cm4gbW9kZWxba2V5XTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdGNvbnN0IGs6IGFueSA9IGtleXMuc2hpZnQoKTtcclxuXHRcdFx0aWYgKG1vZGVsW2tdID09IHVuZGVmaW5lZCkge1xyXG5cdFx0XHRcdG1vZGVsW2tdID0ge307XHJcblx0XHRcdH1cclxuXHRcdFx0cmV0dXJuIHRoaXMuZ2V0TW9kZWwobW9kZWxba10sIGtleXMuam9pbignLicpKTtcclxuXHRcdH1cclxuXHR9LFxyXG5cdHRyaWdnZXJIb29rQW5kU2V0VmFsdWU6IChmaWVsZDogRm9ybUZpZWxkLCB2YWx1ZTogYW55LCBkZXRlY3RNb2RlbENoYW5nZTogYm9vbGVhbiwgaG9va09ic2VydmVyczogYW55W10sIGNhbGxiYWNrOiBhbnkpID0+IHtcclxuXHRcdGlmIChmaWVsZC5ob29rKSB7XHJcblx0XHRcdGNvbnN0IHN1YiA9IGZpZWxkLmhvb2tcclxuXHRcdFx0XHQucGlwZShcclxuXHRcdFx0XHRcdHRhcCgoZnVuYykgPT4ge1xyXG5cdFx0XHRcdFx0XHRmdW5jKGZpZWxkKTtcclxuXHRcdFx0XHRcdH0pLFxyXG5cdFx0XHRcdClcclxuXHRcdFx0XHQuc3Vic2NyaWJlKCgpID0+IHtcclxuXHRcdFx0XHRcdGZpZWxkLmZpZWxkQ29udHJvbD8uc2V0VmFsdWUoZmllbGRVdGlscy50b0ZpZWxkVmFsdWUoZmllbGQsIHZhbHVlKSwgeyBvbmx5U2VsZjogZmFsc2UsIGVtaXRFdmVudDogZmFsc2UgfSwgZGV0ZWN0TW9kZWxDaGFuZ2UpLFxyXG5cdFx0XHRcdFx0XHRjYWxsYmFjayAmJiBjYWxsYmFjaygpO1xyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHRob29rT2JzZXJ2ZXJzLnB1c2goKCkgPT4gc3ViLnVuc3Vic2NyaWJlKCkpO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0ZmllbGQuZmllbGRDb250cm9sPy5zZXRWYWx1ZShmaWVsZFV0aWxzLnRvRmllbGRWYWx1ZShmaWVsZCwgdmFsdWUpLCB7IG9ubHlTZWxmOiBmYWxzZSwgZW1pdEV2ZW50OiBmYWxzZSB9LCBkZXRlY3RNb2RlbENoYW5nZSk7XHJcblx0XHRcdGNhbGxiYWNrICYmIGNhbGxiYWNrKCk7XHJcblx0XHR9XHJcblx0fSxcclxuXHRmcm9tRmllbGRWYWx1ZTogKGZpZWxkOiBGb3JtRmllbGQsIHRhcmdldDogYW55LCBkYXRlUGlwZTogRGF0ZVBpcGUpOiBhbnkgPT4ge1xyXG5cdFx0aWYgKGZpZWxkLnR5cGUgPT0gJ3RyZWVzZWxlY3QnKSB7XHJcblx0XHRcdHJldHVybiBfZmllbGRVdGlscy5mcm9tVHJlZVNlbGVjdFZhbHVlKGZpZWxkLCB0YXJnZXQpO1xyXG5cdFx0fVxyXG5cdFx0aWYgKGZpZWxkLnR5cGUgPT0gJ2RhdGVwaWNrZXInKSB7XHJcblx0XHRcdHJldHVybiBfZmllbGRVdGlscy5mcm9tRGF0YVBpY2tlclZhbHVlKGZpZWxkLCB0YXJnZXQsIGRhdGVQaXBlKTtcclxuXHRcdH1cclxuXHRcdGlmIChmaWVsZC50eXBlID09ICdtdWx0aXNlbGVjdCcpIHtcclxuXHRcdFx0cmV0dXJuIF9maWVsZFV0aWxzLmZyb21NdWx0aVNlbGVjdFZhbHVlKGZpZWxkLCB0YXJnZXQpO1xyXG5cdFx0fVxyXG5cdFx0aWYgKGZpZWxkLnR5cGUgPT0gJ2ltYWdlJykge1xyXG5cdFx0XHRyZXR1cm4gX2ZpZWxkVXRpbHMuZnJvbUltYWdlVmFsdWUoZmllbGQsIHRhcmdldCk7XHJcblx0XHR9XHJcblx0XHRpZiAoZmllbGQudHlwZSA9PSAndXBsb2FkJykge1xyXG5cdFx0XHRyZXR1cm4gX2ZpZWxkVXRpbHMuZnJvbVVwbG9hZFZhbHVlKGZpZWxkLCB0YXJnZXQpO1xyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIHRhcmdldDtcclxuXHR9LFxyXG5cdGZyb21UcmVlU2VsZWN0VmFsdWU6IChmaWVsZDogRm9ybUZpZWxkLCB0YXJnZXQ6IGFueSk6IHN0cmluZyA9PiB7XHJcblx0XHRpZiAoZmllbGQudHJlZVNlbGVjdFByb3BzPy5zZWxlY3Rpb25Nb2RlID09ICdzaW5nbGUnKSB7XHJcblx0XHRcdHJldHVybiB0YXJnZXQua2V5O1xyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIHRhcmdldC5tYXAoKGl0ZW06IGFueSkgPT4gaXRlbS5rZXkpLmpvaW4oJywnKTtcclxuXHR9LFxyXG5cdGZyb21EYXRhUGlja2VyVmFsdWU6IChmaWVsZDogRm9ybUZpZWxkLCB0YXJnZXQ6IGFueSwgZGF0ZVBpcGU6IERhdGVQaXBlKTogc3RyaW5nID0+IHtcclxuXHRcdGNvbnN0IGRhdGVGb3JtYXQgPSAoZmllbGQuZGF0ZVBpY2tlclByb3BzPy5kYXRlRm9ybWF0IHx8ICd5eS1tbS1kZCcpLnJlcGxhY2UoJ3l5JywgJ3l5eXknKS5yZXBsYWNlKCdtbScsICdNTScpO1xyXG5cdFx0cmV0dXJuIGRhdGVQaXBlLnRyYW5zZm9ybSh0YXJnZXQsIGRhdGVGb3JtYXQpIHx8IHRhcmdldDtcclxuXHR9LFxyXG5cdGZyb21NdWx0aVNlbGVjdFZhbHVlOiAoZmllbGQ6IEZvcm1GaWVsZCwgdGFyZ2V0OiBhbnkpOiBzdHJpbmcgPT4ge1xyXG5cdFx0aWYgKCFmaWVsZC5tdWx0aVNlbGVjdFByb3BzPy5vcHRpb25WYWx1ZSkge1xyXG5cdFx0XHRyZXR1cm4gdGFyZ2V0O1xyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIHRhcmdldC5qb2luKCcsJyk7XHJcblx0fSxcclxuXHRmcm9tSW1hZ2VWYWx1ZTogKGZpZWxkOiBGb3JtRmllbGQsIHRhcmdldDogYW55KTogc3RyaW5nID0+IHtcclxuXHRcdHJldHVybiB0YXJnZXQuam9pbignOycpO1xyXG5cdH0sXHJcblx0ZnJvbVVwbG9hZFZhbHVlOiAoZmllbGQ6IEZvcm1GaWVsZCwgdGFyZ2V0OiBhbnkpOiBzdHJpbmcgPT4ge1xyXG5cdFx0cmV0dXJuIHRhcmdldC5qb2luKCc7Jyk7XHJcblx0fSxcclxuXHR0b0ZpZWxkVmFsdWU6IChmaWVsZDogRm9ybUZpZWxkLCByYXc6IGFueSk6IGFueSA9PiB7XHJcblx0XHRpZiAoZmllbGQudHlwZSA9PSAndHJlZXNlbGVjdCcpIHtcclxuXHRcdFx0cmV0dXJuIF9maWVsZFV0aWxzLnRvVHJlZVNlbGVjdFZhbHVlKGZpZWxkLCByYXcpO1xyXG5cdFx0fVxyXG5cdFx0aWYgKGZpZWxkLnR5cGUgPT0gJ211bHRpc2VsZWN0Jykge1xyXG5cdFx0XHRyZXR1cm4gX2ZpZWxkVXRpbHMudG9NdWx0aVNlbGVjdFZhbHVlKGZpZWxkLCByYXcpO1xyXG5cdFx0fVxyXG5cdFx0aWYgKGZpZWxkLnR5cGUgPT0gJ2ltYWdlJykge1xyXG5cdFx0XHRyZXR1cm4gX2ZpZWxkVXRpbHMudG9JbWFnZVZhbHVlKGZpZWxkLCByYXcpO1xyXG5cdFx0fVxyXG5cdFx0aWYgKGZpZWxkLnR5cGUgPT0gJ3VwbG9hZCcpIHtcclxuXHRcdFx0cmV0dXJuIF9maWVsZFV0aWxzLnRvVXBsb2FkVmFsdWUoZmllbGQsIHJhdyk7XHJcblx0XHR9XHJcblx0XHRyZXR1cm4gcmF3IHx8ICcnO1xyXG5cdH0sXHJcblx0dG9UcmVlU2VsZWN0VmFsdWU6IChmaWVsZDogRm9ybUZpZWxkLCByYXc6IGFueSk6IGFueSA9PiB7XHJcblx0XHRpZiAoZmllbGQudHJlZVNlbGVjdFByb3BzPy5zZWxlY3Rpb25Nb2RlID09ICdzaW5nbGUnKSB7XHJcblx0XHRcdHJldHVybiBfZmllbGRVdGlscy5maW5kVHJlZU5vZGUocmF3LCBmaWVsZC50cmVlU2VsZWN0UHJvcHM/Lm9wdGlvbnMpO1xyXG5cdFx0fVxyXG5cdFx0Y29uc3Qgbm9kZXM6IGFueVtdID0gW107XHJcblx0XHRfZmllbGRVdGlscy5maW5kVHJlZU5vZGVzKHJhdz8uc3BsaXQoJywnKSB8fCBbXSwgZmllbGQudHJlZVNlbGVjdFByb3BzPy5vcHRpb25zIHx8IFtdLCBub2Rlcyk7XHJcblx0XHRyZXR1cm4gbm9kZXM7XHJcblx0fSxcclxuXHR0b011bHRpU2VsZWN0VmFsdWU6IChmaWVsZDogRm9ybUZpZWxkLCByYXc6IGFueSk6IGFueSA9PiB7XHJcblx0XHRpZiAoIWZpZWxkLm11bHRpU2VsZWN0UHJvcHM/Lm9wdGlvblZhbHVlKSB7XHJcblx0XHRcdHJldHVybiByYXcgfHwgJyc7XHJcblx0XHR9XHJcblx0XHRyZXR1cm4gKHJhdyAmJiByYXcuc3BsaXQoJywnKSkgfHwgJyc7XHJcblx0fSxcclxuXHR0b0ltYWdlVmFsdWU6IChmaWVsZDogRm9ybUZpZWxkLCByYXc6IGFueSk6IGFueSA9PiB7XHJcblx0XHRyZXR1cm4gKHJhdyAmJiByYXcuc3BsaXQoJzsnKSkgfHwgW107XHJcblx0fSxcclxuXHR0b1VwbG9hZFZhbHVlOiAoZmllbGQ6IEZvcm1GaWVsZCwgcmF3OiBhbnkpOiBhbnkgPT4ge1xyXG5cdFx0cmV0dXJuIChyYXcgJiYgcmF3LnNwbGl0KCc7JykpIHx8IFtdO1xyXG5cdH0sXHJcblx0ZmluZFRyZWVOb2RlKHZhbHVlOiBzdHJpbmcsIGNoaWxkcmVuPzogYW55W10pOiBhbnkge1xyXG5cdFx0aWYgKCFjaGlsZHJlbiB8fCBjaGlsZHJlbi5sZW5ndGggPT0gMCkgcmV0dXJuO1xyXG5cdFx0Y29uc3QgbiA9IGNoaWxkcmVuLmZpbmQoKG8pID0+IG8ua2V5ID09IHZhbHVlKTtcclxuXHRcdGlmIChuKSByZXR1cm4gbjtcclxuXHRcdGZvciAoY29uc3QgY2ggb2YgY2hpbGRyZW4pIHtcclxuXHRcdFx0Y29uc3QgY24gPSB0aGlzLmZpbmRUcmVlTm9kZSh2YWx1ZSwgY2guY2hpbGRyZW4pO1xyXG5cdFx0XHRpZiAoY24pIHJldHVybiBjbjtcclxuXHRcdH1cclxuXHRcdHJldHVybjtcclxuXHR9LFxyXG5cdGZpbmRUcmVlTm9kZXModmFsdWVzOiBzdHJpbmdbXSwgY2hpbGRyZW4/OiBhbnlbXSwgbm9kZXM/OiBhbnlbXSk6IHZvaWQge1xyXG5cdFx0aWYgKCFjaGlsZHJlbiB8fCBjaGlsZHJlbi5sZW5ndGggPT0gMCkgcmV0dXJuO1xyXG5cdFx0Y29uc3QgdGFycyA9IGNoaWxkcmVuLmZpbHRlcigobykgPT4gdmFsdWVzLmluZGV4T2Yoby5rZXkpICE9IC0xKTtcclxuXHRcdG5vZGVzPy5wdXNoKC4uLnRhcnMpO1xyXG5cdFx0Zm9yIChjb25zdCBjaCBvZiBjaGlsZHJlbikge1xyXG5cdFx0XHR0aGlzLmZpbmRUcmVlTm9kZXModmFsdWVzLCBjaC5jaGlsZHJlbiwgbm9kZXMpO1xyXG5cdFx0fVxyXG5cdH0sXHJcblx0dHJhbnNMb2cocmF3TW9kZWw6IGFueSwgY2hhbmdlZE1vZGVsOiBhbnksIG1haW5WYWx1ZTogYW55LCBpc05ldzogYm9vbGVhbik6IHN0cmluZyB7XHJcblx0XHRpZiAoaXNOZXcpIHtcclxuXHRcdFx0cmV0dXJuICfmlrDlu7rvvJonICsgbWFpblZhbHVlO1xyXG5cdFx0fVxyXG5cdFx0Y29uc3QgZGV0YWlsOiBzdHJpbmdbXSA9IFtdO1xyXG5cdFx0T2JqZWN0LmtleXMoY2hhbmdlZE1vZGVsKS5mb3JFYWNoKChrZXkpID0+IHtcclxuXHRcdFx0aWYgKGNoYW5nZWRNb2RlbFtrZXldLnR5cGUgPT0gJ2NvZGVtaXJyb3InKSB7XHJcblx0XHRcdFx0ZGV0YWlsLnB1c2goYFske2NoYW5nZWRNb2RlbFtrZXldLm5hbWV9XSDlj5jmm7RgKTtcclxuXHRcdFx0XHRyZXR1cm47XHJcblx0XHRcdH1cclxuXHRcdFx0ZGV0YWlsLnB1c2goYFske2NoYW5nZWRNb2RlbFtrZXldLm5hbWV9XSAke3Jhd01vZGVsW2tleV0gfHwgJyd9IC0+ICR7Y2hhbmdlZE1vZGVsW2tleV0udmFsdWUgfHwgJyd9YCk7XHJcblx0XHR9KTtcclxuXHRcdHJldHVybiBkZXRhaWwuam9pbignOycpO1xyXG5cdH0sXHJcblx0Ly8g57uP5rWL6K+Vc2VsZWN057uE5Lu25pyJ5YaF6YOoYnVnXHJcblx0Ly8g6K6+572ubW9kZWzml7bvvIxmaWVsZENvbnRyb2wuc2V0VmFsdWXnmoRlbWl0RXZlbnTlj4LmlbDkuLpmYWxzZSzku43kvJrop6blj5F2YWx1ZUNoYW5nZXPkuovku7ZcclxuXHQvLyDop6blj5F2YWx1ZUNoYW5nZXPkvJrlvbHlk43ml6Xlv5fkv53lrZjnmoTlh4bnoa7mgKfvvIzmlYXmraTmlrnms5Xku4XmmK/kuLrkuobpmLLmraLnu4Tku7blhoXpg6jmhI/lpJbop6blj5HnmoTlj5jliqhcclxuXHRpc0Zha2VkQ2hhbmdlKG5ld1ZhbHVlOiBhbnksIG9sZFZhbHVlOiBhbnksIGZpZWxkOiBGb3JtRmllbGQpOiBib29sZWFuIHtcclxuXHRcdGNvbnN0IGNoYW5nZVR5cGVzID0gWydpbnB1dHRleHQnLCAnaW5wdXRudW1iZXInLCAnc2VsZWN0JywgJ3RyZWVzZWxlY3QnLCAnZGF0ZXBpY2tlcicsICdhdXRvY29tcGxldGUnLCAnbXVsdGlzZWxlY3QnLCAncmFkaW8nXTtcclxuXHRcdGlmIChjaGFuZ2VUeXBlcy5pbmNsdWRlcyhmaWVsZC50eXBlISkpIHtcclxuXHRcdFx0cmV0dXJuIChvbGRWYWx1ZSB8fCAnJykgPT0gKG5ld1ZhbHVlIHx8ICcnKTtcclxuXHRcdH1cclxuXHRcdHJldHVybiBmYWxzZTtcclxuXHR9LFxyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGZpZWxkVXRpbHMgPSB7XHJcblx0cHJvcHM6IF9maWVsZFV0aWxzLnByb3BzLFxyXG5cdGxhYmVsOiBfZmllbGRVdGlscy5sYWJlbCxcclxuXHR0cmlnZ2VySG9va0FuZFNldFZhbHVlOiBfZmllbGRVdGlscy50cmlnZ2VySG9va0FuZFNldFZhbHVlLFxyXG5cdGZyb21GaWVsZFZhbHVlOiBfZmllbGRVdGlscy5mcm9tRmllbGRWYWx1ZSxcclxuXHR0b0ZpZWxkVmFsdWU6IF9maWVsZFV0aWxzLnRvRmllbGRWYWx1ZSxcclxuXHR0cmFuc0xvZzogX2ZpZWxkVXRpbHMudHJhbnNMb2csXHJcblx0aXNGYWtlZENoYW5nZTogX2ZpZWxkVXRpbHMuaXNGYWtlZENoYW5nZSxcclxufTtcclxuIl19
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { Component, input, ViewChild, ViewChildren } from '@angular/core';
|
|
2
|
+
import { ReactiveFormsModule } from '@angular/forms';
|
|
3
|
+
import { LabelDirective } from './label.directive';
|
|
4
|
+
import { TranslatePipe } from '@ngx-translate/core';
|
|
5
|
+
import { fieldUtils } from './field-utils';
|
|
6
|
+
import { FormTypeComponent, } from './form-type';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export class FormFieldComponent {
|
|
9
|
+
constructor() {
|
|
10
|
+
this.field = input();
|
|
11
|
+
this.props = fieldUtils.props;
|
|
12
|
+
}
|
|
13
|
+
ngOnInit() { }
|
|
14
|
+
labelClass() {
|
|
15
|
+
const lc = [];
|
|
16
|
+
if (this.field()?.fieldControl?.dirty) {
|
|
17
|
+
lc.push('ng-dirty');
|
|
18
|
+
}
|
|
19
|
+
if (this.field()?.fieldControl?.valid != undefined) {
|
|
20
|
+
lc.push('ng-valid');
|
|
21
|
+
}
|
|
22
|
+
return lc.join(' ');
|
|
23
|
+
}
|
|
24
|
+
getFieldComponents() {
|
|
25
|
+
return this.fieldComponents;
|
|
26
|
+
}
|
|
27
|
+
getFieldLabel() {
|
|
28
|
+
return this.fieldLabel;
|
|
29
|
+
}
|
|
30
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
31
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: FormFieldComponent, isStandalone: true, selector: "form-field", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "fieldLabel", first: true, predicate: ["fieldLabelRef"], descendants: true }, { propertyName: "fieldComponents", predicate: FormFieldComponent, descendants: true }], ngImport: i0, template: `
|
|
32
|
+
@if (field()?.group) {
|
|
33
|
+
<div [class]="field()?.groupClass">
|
|
34
|
+
@for (fchild of field()!.group; track fchild) {
|
|
35
|
+
@if (!fchild.hide) {
|
|
36
|
+
<div [class]="fchild.groupClass || fchild.class">
|
|
37
|
+
<form-field
|
|
38
|
+
class="w-full"
|
|
39
|
+
[field]="fchild">
|
|
40
|
+
</form-field>
|
|
41
|
+
</div>
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
</div>
|
|
45
|
+
} @else {
|
|
46
|
+
<div [class]="field()?.innerClass || 'px-4 my-1'">
|
|
47
|
+
<div class="flex flex-row flex-nowrap items-start">
|
|
48
|
+
<div
|
|
49
|
+
class="flex-none p-field field-label min-h-8 pt-[1.5px] flex items-center"
|
|
50
|
+
[style]="{ width: field()?.labelMinWidth(), maxWidth: '40%' }">
|
|
51
|
+
<label
|
|
52
|
+
[class]="labelClass()"
|
|
53
|
+
[fieldLabel]="field()!">
|
|
54
|
+
<span
|
|
55
|
+
style="user-select: none"
|
|
56
|
+
#fieldLabelRef
|
|
57
|
+
>{{ props(field()!).i18nKey ? (props(field()!).i18nKey! | translate) : props(field()!).label! }}</span
|
|
58
|
+
>
|
|
59
|
+
@if (props(field()!).required) {
|
|
60
|
+
<span class="field-required">*</span>
|
|
61
|
+
}
|
|
62
|
+
</label>
|
|
63
|
+
</div>
|
|
64
|
+
<div class="flex-1 min-h-8 pt-1 w-0 flex flex-row-reverse">
|
|
65
|
+
<div
|
|
66
|
+
#fieldTypeRef
|
|
67
|
+
class="w-full">
|
|
68
|
+
<form-type [field]="field()!"></form-type>
|
|
69
|
+
</div>
|
|
70
|
+
</div>
|
|
71
|
+
</div>
|
|
72
|
+
</div>
|
|
73
|
+
}
|
|
74
|
+
`, isInline: true, styles: [".p-field>label{margin:2px;text-overflow:ellipsis;display:block;color:#1e293b}.p-field>label:not(.ng-valid).ng-dirty{color:var(--p-red-500)!important}.p-field>label:not(.ng-valid).ng-dirty>.field-required{color:var(--p-red-500)!important}.field-required{padding-left:2.5px;color:var(--p-primary-color)}.field-label{display:inline-block;overflow-wrap:break-word;word-break:break-word;white-space:normal}\n"], dependencies: [{ kind: "component", type: FormFieldComponent, selector: "form-field", inputs: ["field"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: FormTypeComponent, selector: "form-type", inputs: ["field"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "directive", type: LabelDirective, selector: "[fieldLabel]", inputs: ["fieldLabel"] }] }); }
|
|
75
|
+
}
|
|
76
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldComponent, decorators: [{
|
|
77
|
+
type: Component,
|
|
78
|
+
args: [{ selector: 'form-field', standalone: true, imports: [ReactiveFormsModule, FormTypeComponent, TranslatePipe, LabelDirective], template: `
|
|
79
|
+
@if (field()?.group) {
|
|
80
|
+
<div [class]="field()?.groupClass">
|
|
81
|
+
@for (fchild of field()!.group; track fchild) {
|
|
82
|
+
@if (!fchild.hide) {
|
|
83
|
+
<div [class]="fchild.groupClass || fchild.class">
|
|
84
|
+
<form-field
|
|
85
|
+
class="w-full"
|
|
86
|
+
[field]="fchild">
|
|
87
|
+
</form-field>
|
|
88
|
+
</div>
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
</div>
|
|
92
|
+
} @else {
|
|
93
|
+
<div [class]="field()?.innerClass || 'px-4 my-1'">
|
|
94
|
+
<div class="flex flex-row flex-nowrap items-start">
|
|
95
|
+
<div
|
|
96
|
+
class="flex-none p-field field-label min-h-8 pt-[1.5px] flex items-center"
|
|
97
|
+
[style]="{ width: field()?.labelMinWidth(), maxWidth: '40%' }">
|
|
98
|
+
<label
|
|
99
|
+
[class]="labelClass()"
|
|
100
|
+
[fieldLabel]="field()!">
|
|
101
|
+
<span
|
|
102
|
+
style="user-select: none"
|
|
103
|
+
#fieldLabelRef
|
|
104
|
+
>{{ props(field()!).i18nKey ? (props(field()!).i18nKey! | translate) : props(field()!).label! }}</span
|
|
105
|
+
>
|
|
106
|
+
@if (props(field()!).required) {
|
|
107
|
+
<span class="field-required">*</span>
|
|
108
|
+
}
|
|
109
|
+
</label>
|
|
110
|
+
</div>
|
|
111
|
+
<div class="flex-1 min-h-8 pt-1 w-0 flex flex-row-reverse">
|
|
112
|
+
<div
|
|
113
|
+
#fieldTypeRef
|
|
114
|
+
class="w-full">
|
|
115
|
+
<form-type [field]="field()!"></form-type>
|
|
116
|
+
</div>
|
|
117
|
+
</div>
|
|
118
|
+
</div>
|
|
119
|
+
</div>
|
|
120
|
+
}
|
|
121
|
+
`, styles: [".p-field>label{margin:2px;text-overflow:ellipsis;display:block;color:#1e293b}.p-field>label:not(.ng-valid).ng-dirty{color:var(--p-red-500)!important}.p-field>label:not(.ng-valid).ng-dirty>.field-required{color:var(--p-red-500)!important}.field-required{padding-left:2.5px;color:var(--p-primary-color)}.field-label{display:inline-block;overflow-wrap:break-word;word-break:break-word;white-space:normal}\n"] }]
|
|
122
|
+
}], ctorParameters: () => [], propDecorators: { fieldComponents: [{
|
|
123
|
+
type: ViewChildren,
|
|
124
|
+
args: [FormFieldComponent]
|
|
125
|
+
}], fieldLabel: [{
|
|
126
|
+
type: ViewChild,
|
|
127
|
+
args: ['fieldLabelRef', { static: false }]
|
|
128
|
+
}] } });
|
|
129
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ltbS11aS9zcmMvbGliL2Zvcm0vZm9ybS1maWVsZC9mb3JtLWZpZWxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQXFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pILE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQ04saUJBQWlCLEdBYWpCLE1BQU0sYUFBYSxDQUFDOztBQStKckIsTUFBTSxPQUFPLGtCQUFrQjtJQU05QjtRQUhBLFVBQUssR0FBRyxLQUFLLEVBQWEsQ0FBQztRQUMzQixVQUFLLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQztJQUVWLENBQUM7SUFFaEIsUUFBUSxLQUFVLENBQUM7SUFFbkIsVUFBVTtRQUNULE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQztRQUNkLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsQ0FBQztZQUN2QyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3JCLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxZQUFZLEVBQUUsS0FBSyxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQ3BELEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDckIsQ0FBQztRQUNELE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRUQsa0JBQWtCO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUM3QixDQUFDO0lBRUQsYUFBYTtRQUNaLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN4QixDQUFDOytHQTNCVyxrQkFBa0I7bUdBQWxCLGtCQUFrQiw0VUFDaEIsa0JBQWtCLGdEQTlDdEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUEyQ1QsNmRBRVcsa0JBQWtCLHlFQXRFcEIsbUJBQW1CLCtCQUFFLGlCQUFpQixvRUFBRSxhQUFhLGtEQUFFLGNBQWM7OzRGQXNFbkUsa0JBQWtCO2tCQXpFOUIsU0FBUzsrQkFDQyxZQUFZLGNBQ1YsSUFBSSxXQUNQLENBQUMsbUJBQW1CLEVBQUUsaUJBQWlCLEVBQUUsYUFBYSxFQUFFLGNBQWMsQ0FBQyxZQXlCdEU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUEyQ1Q7d0RBR2lDLGVBQWU7c0JBQWhELFlBQVk7dUJBQUMsa0JBQWtCO2dCQUNlLFVBQVU7c0JBQXhELFNBQVM7dUJBQUMsZUFBZSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5wdXQsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiwgVmlld0NoaWxkcmVuLCBRdWVyeUxpc3QsIGVmZmVjdCwgV3JpdGFibGVTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTGFiZWxEaXJlY3RpdmUgfSBmcm9tICcuL2xhYmVsLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgZmllbGRVdGlscyB9IGZyb20gJy4vZmllbGQtdXRpbHMnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7XHJcblx0Rm9ybVR5cGVDb21wb25lbnQsXHJcblx0SW5wdXRUZXh0UHJvcHMsXHJcblx0SW5wdXROdW1iZXJQcm9wcyxcclxuXHRTZWxlY3RQcm9wcyxcclxuXHRUcmVlU2VsZWN0UHJvcHMsXHJcblx0RGF0ZVBpY2tlclByb3BzLFxyXG5cdEF1dG9Db21wbGV0ZVByb3BzLFxyXG5cdE11bHRpU2VsZWN0UHJvcHMsXHJcblx0UmFkaW9Qcm9wcyxcclxuXHRUZXh0QXJlYVByb3BzLFxyXG5cdFVwbG9hZFByb3BzLFxyXG5cdEltYWdlUHJvcHMsXHJcblx0Q29kZU1pcnJvclByb3BzLFxyXG59IGZyb20gJy4vZm9ybS10eXBlJztcclxuaW1wb3J0IHsgRmllbGRDb250cm9sIH0gZnJvbSAnLi9maWVsZC1jb250cm9sJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRm9ybUZpZWxkIHtcclxuXHRrZXk/OiBzdHJpbmc7XHJcblx0dHlwZT86XHJcblx0XHR8ICdpbnB1dHRleHQnXHJcblx0XHR8ICdpbnB1dG51bWJlcidcclxuXHRcdHwgJ3NlbGVjdCdcclxuXHRcdHwgJ3RyZWVzZWxlY3QnXHJcblx0XHR8ICdkYXRlcGlja2VyJ1xyXG5cdFx0fCAnYXV0b2NvbXBsZXRlJ1xyXG5cdFx0fCAnbXVsdGlzZWxlY3QnXHJcblx0XHR8ICdyYWRpbydcclxuXHRcdHwgJ3RleHRhcmVhJ1xyXG5cdFx0fCAndXBsb2FkJ1xyXG5cdFx0fCAnaW1hZ2UnXHJcblx0XHR8ICdjb2RlbWlycm9yJztcclxuXHRkZWZhdWx0PzogYW55O1xyXG5cdGlkPzogc3RyaW5nO1xyXG5cdG5hbWU/OiBzdHJpbmc7XHJcblx0Z3JvdXA/OiBGb3JtRmllbGRbXTtcclxuXHRncm91cENsYXNzPzogc3RyaW5nO1xyXG5cdGNsYXNzPzogc3RyaW5nO1xyXG5cdGlubmVyQ2xhc3M/OiBzdHJpbmc7XHJcblx0ZmllbGRDb250cm9sPzogRmllbGRDb250cm9sO1xyXG5cdGlucHV0VGV4dFByb3BzPzogSW5wdXRUZXh0UHJvcHM7XHJcblx0aW5wdXROdW1iZXJQcm9wcz86IElucHV0TnVtYmVyUHJvcHM7XHJcblx0c2VsZWN0UHJvcHM/OiBTZWxlY3RQcm9wcztcclxuXHR0cmVlU2VsZWN0UHJvcHM/OiBUcmVlU2VsZWN0UHJvcHM7XHJcblx0ZGF0ZVBpY2tlclByb3BzPzogRGF0ZVBpY2tlclByb3BzO1xyXG5cdGF1dG9Db21wbGV0ZVByb3BzPzogQXV0b0NvbXBsZXRlUHJvcHM7XHJcblx0bXVsdGlTZWxlY3RQcm9wcz86IE11bHRpU2VsZWN0UHJvcHM7XHJcblx0cmFkaW9Qcm9wcz86IFJhZGlvUHJvcHM7XHJcblx0dGV4dEFyZWFQcm9wcz86IFRleHRBcmVhUHJvcHM7XHJcblx0dXBsb2FkUHJvcHM/OiBVcGxvYWRQcm9wcztcclxuXHRpbWFnZVByb3BzPzogSW1hZ2VQcm9wcztcclxuXHRjb2RlTWlycm9yUHJvcHM/OiBDb2RlTWlycm9yUHJvcHM7XHJcblx0aGlkZT86IGJvb2xlYW47XHJcblx0aGlkZUV4cHJlc3Npb24/OiAobW9kZWw6IGFueSwgZmllbGQ/OiBGb3JtRmllbGQpID0+IGJvb2xlYW47XHJcblx0aG9vaz86IE9ic2VydmFibGU8KGZpZWxkPzogRm9ybUZpZWxkKSA9PiB2b2lkPjtcclxuXHR2YWxpZGF0b3JzPzogYW55O1xyXG5cdGludmFsaWQ/OiBib29sZWFuO1xyXG5cdGV4dHJhPzogYW55O1xyXG5cdHV1aWQ/OiBzdHJpbmc7XHJcblx0bGFiZWxNaW5XaWR0aD86IFdyaXRhYmxlU2lnbmFsPHN0cmluZyB8IHVuZGVmaW5lZD47XHJcblx0aW50ZXJhY3RpdmVMYWJlbD86IGJvb2xlYW47XHJcblx0Zm9ybT86YW55XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRmllbGRQcm9wcyB7XHJcblx0dHlwZT86IHN0cmluZztcclxuXHRsYWJlbD86IHN0cmluZztcclxuXHRpMThuS2V5Pzogc3RyaW5nO1xyXG5cdGxhYmVsQ2xhc3M/OiBzdHJpbmc7XHJcblx0bGFiZWxWYXJpYW50PzogJ2luJyB8ICdvdmVyJyB8ICdvbic7XHJcblx0dmFyaWFudD86IGFueTtcclxuXHRjbGFzcz86IHN0cmluZztcclxuXHRuYW1lPzogc3RyaW5nO1xyXG5cdHBsYWNlaG9sZGVyPzogc3RyaW5nO1xyXG5cdGRpc2FibGVkPzogYm9vbGVhbjtcclxuXHRoaWRkZW4/OiBib29sZWFuO1xyXG5cdHJlcXVpcmVkPzogYm9vbGVhbjtcclxuXHRzaXplPzogYW55O1xyXG5cdHN0eWxlQ2xhc3M/OiBzdHJpbmc7XHJcblx0c3R5bGU/OiBhbnk7XHJcblx0YXV0b2ZvY3VzPzogYm9vbGVhbjtcclxuXHRtaW4/OiBudW1iZXI7XHJcblx0bWF4PzogbnVtYmVyO1xyXG5cdGlucHV0U3R5bGU/OiBhbnk7XHJcblx0aW5wdXRTdHlsZUNsYXNzPzogc3RyaW5nO1xyXG5cdGZsdWlkPzogYm9vbGVhbjtcclxuXHRhcmlhTGFiZWw/OiBzdHJpbmc7XHJcblx0YXJpYUxhYmVsbGVkQnk/OiBzdHJpbmc7XHJcblx0Zm9jdXM/OiBGb2N1c0V2ZW50O1xyXG5cdGJsdXI/OiBGb2N1c0V2ZW50O1xyXG5cdGtleXVwPzogS2V5Ym9hcmRFdmVudDtcclxuXHRrZXlkb3duPzogS2V5Ym9hcmRFdmVudDtcclxuXHRjbGljaz86IE1vdXNlRXZlbnQ7XHJcblx0aW5wdXQ/OiBFdmVudDtcclxuXHRjaGFuZ2U/OiBFdmVudDtcclxuXHRrZXlwcmVzcz86IEtleWJvYXJkRXZlbnQ7XHJcbn1cclxuXHJcbmV4cG9ydCBkZWNsYXJlIHR5cGUgQXR0cmlidXRlRXZlbnQgPSAoZmllbGQ6IEZvcm1GaWVsZCwgZXZlbnQ/OiBhbnkpID0+IHZvaWQ7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ2Zvcm0tZmllbGQnLFxyXG5cdHN0YW5kYWxvbmU6IHRydWUsXHJcblx0aW1wb3J0czogW1JlYWN0aXZlRm9ybXNNb2R1bGUsIEZvcm1UeXBlQ29tcG9uZW50LCBUcmFuc2xhdGVQaXBlLCBMYWJlbERpcmVjdGl2ZV0sXHJcblx0c3R5bGVzOmBcclxuXHRcdC5wLWZpZWxkID4gbGFiZWwge1xyXG5cdFx0XHRtYXJnaW46IDJweDtcclxuXHRcdFx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRjb2xvcjogIzFlMjkzYjtcclxuXHRcdH1cclxuXHRcdC5wLWZpZWxkID4gbGFiZWw6bm90KC5uZy12YWxpZCkubmctZGlydHkge1xyXG5cdFx0XHRjb2xvcjogdmFyKC0tcC1yZWQtNTAwKSAhaW1wb3J0YW50O1xyXG5cdFx0fVxyXG5cdFx0LnAtZmllbGQgPiBsYWJlbDpub3QoLm5nLXZhbGlkKS5uZy1kaXJ0eSA+IC5maWVsZC1yZXF1aXJlZCB7XHJcblx0XHRcdGNvbG9yOiB2YXIoLS1wLXJlZC01MDApICFpbXBvcnRhbnQ7XHJcblx0XHR9XHJcblx0XHQuZmllbGQtcmVxdWlyZWQge1xyXG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDIuNXB4O1xyXG5cdFx0XHRjb2xvcjogdmFyKC0tcC1wcmltYXJ5LWNvbG9yKTtcclxuXHRcdH1cclxuXHRcdC5maWVsZC1sYWJlbCB7XHJcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0b3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcclxuXHRcdFx0d29yZC1icmVhazogYnJlYWstd29yZDtcclxuXHRcdFx0d2hpdGUtc3BhY2U6IG5vcm1hbDtcclxuXHRcdH1cclxuXHRgLFxyXG5cdHRlbXBsYXRlOiBgXHJcblx0XHRAaWYgKGZpZWxkKCk/Lmdyb3VwKSB7XHJcblx0XHRcdDxkaXYgW2NsYXNzXT1cImZpZWxkKCk/Lmdyb3VwQ2xhc3NcIj5cclxuXHRcdFx0XHRAZm9yIChmY2hpbGQgb2YgZmllbGQoKSEuZ3JvdXA7IHRyYWNrIGZjaGlsZCkge1xyXG5cdFx0XHRcdFx0QGlmICghZmNoaWxkLmhpZGUpIHtcclxuXHRcdFx0XHRcdFx0PGRpdiBbY2xhc3NdPVwiZmNoaWxkLmdyb3VwQ2xhc3MgfHwgZmNoaWxkLmNsYXNzXCI+XHJcblx0XHRcdFx0XHRcdFx0PGZvcm0tZmllbGRcclxuXHRcdFx0XHRcdFx0XHRcdGNsYXNzPVwidy1mdWxsXCJcclxuXHRcdFx0XHRcdFx0XHRcdFtmaWVsZF09XCJmY2hpbGRcIj5cclxuXHRcdFx0XHRcdFx0XHQ8L2Zvcm0tZmllbGQ+XHJcblx0XHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0PC9kaXY+XHJcblx0XHR9IEBlbHNlIHtcclxuXHRcdFx0PGRpdiBbY2xhc3NdPVwiZmllbGQoKT8uaW5uZXJDbGFzcyB8fCAncHgtNCBteS0xJ1wiPlxyXG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGZsZXgtbm93cmFwIGl0ZW1zLXN0YXJ0XCI+XHJcblx0XHRcdFx0XHQ8ZGl2XHJcblx0XHRcdFx0XHRcdGNsYXNzPVwiZmxleC1ub25lIHAtZmllbGQgZmllbGQtbGFiZWwgbWluLWgtOCBwdC1bMS41cHhdIGZsZXggaXRlbXMtY2VudGVyXCJcclxuXHRcdFx0XHRcdFx0W3N0eWxlXT1cInsgd2lkdGg6IGZpZWxkKCk/LmxhYmVsTWluV2lkdGgoKSwgbWF4V2lkdGg6ICc0MCUnIH1cIj5cclxuXHRcdFx0XHRcdFx0PGxhYmVsXHJcblx0XHRcdFx0XHRcdFx0W2NsYXNzXT1cImxhYmVsQ2xhc3MoKVwiXHJcblx0XHRcdFx0XHRcdFx0W2ZpZWxkTGFiZWxdPVwiZmllbGQoKSFcIj5cclxuXHRcdFx0XHRcdFx0XHQ8c3BhblxyXG5cdFx0XHRcdFx0XHRcdFx0c3R5bGU9XCJ1c2VyLXNlbGVjdDogbm9uZVwiXHJcblx0XHRcdFx0XHRcdFx0XHQjZmllbGRMYWJlbFJlZlxyXG5cdFx0XHRcdFx0XHRcdFx0Pnt7IHByb3BzKGZpZWxkKCkhKS5pMThuS2V5ID8gKHByb3BzKGZpZWxkKCkhKS5pMThuS2V5ISB8IHRyYW5zbGF0ZSkgOiBwcm9wcyhmaWVsZCgpISkubGFiZWwhIH19PC9zcGFuXHJcblx0XHRcdFx0XHRcdFx0PlxyXG5cdFx0XHRcdFx0XHRcdEBpZiAocHJvcHMoZmllbGQoKSEpLnJlcXVpcmVkKSB7XHJcblx0XHRcdFx0XHRcdFx0XHQ8c3BhbiBjbGFzcz1cImZpZWxkLXJlcXVpcmVkXCI+Kjwvc3Bhbj5cclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdDwvbGFiZWw+XHJcblx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJmbGV4LTEgbWluLWgtOCBwdC0xIHctMCBmbGV4IGZsZXgtcm93LXJldmVyc2VcIj5cclxuXHRcdFx0XHRcdFx0PGRpdlxyXG5cdFx0XHRcdFx0XHRcdCNmaWVsZFR5cGVSZWZcclxuXHRcdFx0XHRcdFx0XHRjbGFzcz1cInctZnVsbFwiPlxyXG5cdFx0XHRcdFx0XHRcdDxmb3JtLXR5cGUgW2ZpZWxkXT1cImZpZWxkKCkhXCI+PC9mb3JtLXR5cGU+XHJcblx0XHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdDwvZGl2PlxyXG5cdFx0fVxyXG5cdGAsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGb3JtRmllbGRDb21wb25lbnQge1xyXG5cdEBWaWV3Q2hpbGRyZW4oRm9ybUZpZWxkQ29tcG9uZW50KSBmaWVsZENvbXBvbmVudHM/OiBRdWVyeUxpc3Q8Rm9ybUZpZWxkQ29tcG9uZW50PjtcclxuXHRAVmlld0NoaWxkKCdmaWVsZExhYmVsUmVmJywgeyBzdGF0aWM6IGZhbHNlIH0pIGZpZWxkTGFiZWw/OiBFbGVtZW50UmVmO1xyXG5cdGZpZWxkID0gaW5wdXQ8Rm9ybUZpZWxkPigpO1xyXG5cdHByb3BzID0gZmllbGRVdGlscy5wcm9wcztcclxuXHJcblx0Y29uc3RydWN0b3IoKSB7fVxyXG5cclxuXHRuZ09uSW5pdCgpOiB2b2lkIHt9XHJcblxyXG5cdGxhYmVsQ2xhc3MoKSB7XHJcblx0XHRjb25zdCBsYyA9IFtdO1xyXG5cdFx0aWYgKHRoaXMuZmllbGQoKT8uZmllbGRDb250cm9sPy5kaXJ0eSkge1xyXG5cdFx0XHRsYy5wdXNoKCduZy1kaXJ0eScpO1xyXG5cdFx0fVxyXG5cdFx0aWYgKHRoaXMuZmllbGQoKT8uZmllbGRDb250cm9sPy52YWxpZCAhPSB1bmRlZmluZWQpIHtcclxuXHRcdFx0bGMucHVzaCgnbmctdmFsaWQnKTtcclxuXHRcdH1cclxuXHRcdHJldHVybiBsYy5qb2luKCcgJyk7XHJcblx0fVxyXG5cclxuXHRnZXRGaWVsZENvbXBvbmVudHMoKTogUXVlcnlMaXN0PEZvcm1GaWVsZENvbXBvbmVudD4gfCB1bmRlZmluZWQge1xyXG5cdFx0cmV0dXJuIHRoaXMuZmllbGRDb21wb25lbnRzO1xyXG5cdH1cclxuXHJcblx0Z2V0RmllbGRMYWJlbCgpIHtcclxuXHRcdHJldHVybiB0aGlzLmZpZWxkTGFiZWw7XHJcblx0fVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { Component, input } from '@angular/core';
|
|
2
|
+
import { InputTextComponent } from '../form-type/inputtext.type';
|
|
3
|
+
import { InputNumberComponent } from '../form-type/inputnumber.type';
|
|
4
|
+
import { SelectComponent } from '../form-type/select.type';
|
|
5
|
+
import { TreeSelectComponent } from '../form-type/treeselect.type';
|
|
6
|
+
import { DatePickerComponent } from '../form-type/datepicker.type';
|
|
7
|
+
import { AutoCompleteComponent } from '../form-type/autocomplete.type';
|
|
8
|
+
import { MultiSelectComponent } from '../form-type/multiselect.type';
|
|
9
|
+
import { RadioComponent } from '../form-type/radio.type';
|
|
10
|
+
import { TextAreaComponent } from '../form-type/textarea.type';
|
|
11
|
+
import { UploadComponent } from '../form-type/upload.type';
|
|
12
|
+
import { ImageComponent } from '../form-type/image.type';
|
|
13
|
+
import { CodeMirrorComponent } from '../form-type/codemirror.type';
|
|
14
|
+
import * as i0 from "@angular/core";
|
|
15
|
+
export class FormTypeComponent {
|
|
16
|
+
constructor() {
|
|
17
|
+
this.field = input();
|
|
18
|
+
}
|
|
19
|
+
ngOnInit() { }
|
|
20
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormTypeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
21
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: FormTypeComponent, isStandalone: true, selector: "form-type", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
22
|
+
@switch (field()?.type) {
|
|
23
|
+
@case ('inputtext') {
|
|
24
|
+
<form-inputtext [field]="field()!"></form-inputtext>
|
|
25
|
+
}
|
|
26
|
+
@case ('inputnumber') {
|
|
27
|
+
<form-inputnumber [field]="field()!"></form-inputnumber>
|
|
28
|
+
}
|
|
29
|
+
@case ('select') {
|
|
30
|
+
<form-select [field]="field()!"></form-select>
|
|
31
|
+
}
|
|
32
|
+
@case ('treeselect') {
|
|
33
|
+
<form-treeselect [field]="field()!"></form-treeselect>
|
|
34
|
+
}
|
|
35
|
+
@case ('datepicker') {
|
|
36
|
+
<form-datepicker [field]="field()!"></form-datepicker>
|
|
37
|
+
}
|
|
38
|
+
@case ('autocomplete') {
|
|
39
|
+
<form-autocomplete [field]="field()!"></form-autocomplete>
|
|
40
|
+
}
|
|
41
|
+
@case ('multiselect') {
|
|
42
|
+
<form-multiselect [field]="field()!"></form-multiselect>
|
|
43
|
+
}
|
|
44
|
+
@case ('radio') {
|
|
45
|
+
<form-radio [field]="field()!"></form-radio>
|
|
46
|
+
}
|
|
47
|
+
@case ('textarea') {
|
|
48
|
+
<form-textarea [field]="field()!"></form-textarea>
|
|
49
|
+
}
|
|
50
|
+
@case ('upload') {
|
|
51
|
+
<form-upload [field]="field()!"></form-upload>
|
|
52
|
+
}
|
|
53
|
+
@case ('image') {
|
|
54
|
+
<form-image [field]="field()!"></form-image>
|
|
55
|
+
}
|
|
56
|
+
@case ('codemirror') {
|
|
57
|
+
<form-codemirror [field]="field()!"></form-codemirror>
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
`, isInline: true, dependencies: [{ kind: "component", type: InputTextComponent, selector: "form-inputtext", inputs: ["field"] }, { kind: "component", type: InputNumberComponent, selector: "form-inputnumber", inputs: ["field"] }, { kind: "component", type: SelectComponent, selector: "form-select", inputs: ["field"] }, { kind: "component", type: TreeSelectComponent, selector: "form-treeselect", inputs: ["field"] }, { kind: "component", type: DatePickerComponent, selector: "form-datepicker", inputs: ["field"] }, { kind: "component", type: AutoCompleteComponent, selector: "form-autocomplete", inputs: ["field"] }, { kind: "component", type: MultiSelectComponent, selector: "form-multiselect", inputs: ["field"] }, { kind: "component", type: RadioComponent, selector: "form-radio", inputs: ["field"] }, { kind: "component", type: TextAreaComponent, selector: "form-textarea", inputs: ["field"] }, { kind: "component", type: UploadComponent, selector: "form-upload", inputs: ["field"] }, { kind: "component", type: ImageComponent, selector: "form-image", inputs: ["field"] }, { kind: "component", type: CodeMirrorComponent, selector: "form-codemirror", inputs: ["field"] }] }); }
|
|
61
|
+
}
|
|
62
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormTypeComponent, decorators: [{
|
|
63
|
+
type: Component,
|
|
64
|
+
args: [{
|
|
65
|
+
selector: 'form-type',
|
|
66
|
+
standalone: true,
|
|
67
|
+
imports: [
|
|
68
|
+
InputTextComponent,
|
|
69
|
+
InputNumberComponent,
|
|
70
|
+
SelectComponent,
|
|
71
|
+
TreeSelectComponent,
|
|
72
|
+
DatePickerComponent,
|
|
73
|
+
AutoCompleteComponent,
|
|
74
|
+
MultiSelectComponent,
|
|
75
|
+
RadioComponent,
|
|
76
|
+
TextAreaComponent,
|
|
77
|
+
UploadComponent,
|
|
78
|
+
ImageComponent,
|
|
79
|
+
CodeMirrorComponent,
|
|
80
|
+
],
|
|
81
|
+
template: `
|
|
82
|
+
@switch (field()?.type) {
|
|
83
|
+
@case ('inputtext') {
|
|
84
|
+
<form-inputtext [field]="field()!"></form-inputtext>
|
|
85
|
+
}
|
|
86
|
+
@case ('inputnumber') {
|
|
87
|
+
<form-inputnumber [field]="field()!"></form-inputnumber>
|
|
88
|
+
}
|
|
89
|
+
@case ('select') {
|
|
90
|
+
<form-select [field]="field()!"></form-select>
|
|
91
|
+
}
|
|
92
|
+
@case ('treeselect') {
|
|
93
|
+
<form-treeselect [field]="field()!"></form-treeselect>
|
|
94
|
+
}
|
|
95
|
+
@case ('datepicker') {
|
|
96
|
+
<form-datepicker [field]="field()!"></form-datepicker>
|
|
97
|
+
}
|
|
98
|
+
@case ('autocomplete') {
|
|
99
|
+
<form-autocomplete [field]="field()!"></form-autocomplete>
|
|
100
|
+
}
|
|
101
|
+
@case ('multiselect') {
|
|
102
|
+
<form-multiselect [field]="field()!"></form-multiselect>
|
|
103
|
+
}
|
|
104
|
+
@case ('radio') {
|
|
105
|
+
<form-radio [field]="field()!"></form-radio>
|
|
106
|
+
}
|
|
107
|
+
@case ('textarea') {
|
|
108
|
+
<form-textarea [field]="field()!"></form-textarea>
|
|
109
|
+
}
|
|
110
|
+
@case ('upload') {
|
|
111
|
+
<form-upload [field]="field()!"></form-upload>
|
|
112
|
+
}
|
|
113
|
+
@case ('image') {
|
|
114
|
+
<form-image [field]="field()!"></form-image>
|
|
115
|
+
}
|
|
116
|
+
@case ('codemirror') {
|
|
117
|
+
<form-codemirror [field]="field()!"></form-codemirror>
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
`,
|
|
121
|
+
}]
|
|
122
|
+
}], ctorParameters: () => [] });
|
|
123
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW1tLXVpL3NyYy9saWIvZm9ybS9mb3JtLWZpZWxkL2Zvcm0tdHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxPQUFPLEVBQWtCLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakYsT0FBTyxFQUFvQixvQkFBb0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3ZGLE9BQU8sRUFBZSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN4RSxPQUFPLEVBQW1CLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDcEYsT0FBTyxFQUFtQixtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3BGLE9BQU8sRUFBcUIscUJBQXFCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMxRixPQUFPLEVBQW9CLG9CQUFvQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDdkYsT0FBTyxFQUFjLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3JFLE9BQU8sRUFBaUIsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RSxPQUFPLEVBQWUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDeEUsT0FBTyxFQUFjLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3JFLE9BQU8sRUFBbUIsbUJBQW1CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7QUEwRXBGLE1BQU0sT0FBTyxpQkFBaUI7SUFFN0I7UUFEQSxVQUFLLEdBQUcsS0FBSyxFQUFhLENBQUM7SUFDWixDQUFDO0lBRWhCLFFBQVEsS0FBVSxDQUFDOytHQUpQLGlCQUFpQjttR0FBakIsaUJBQWlCLHlNQXpDbkI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQXVDVCw0REFwREEsa0JBQWtCLDhFQUNsQixvQkFBb0IsZ0ZBQ3BCLGVBQWUsMkVBQ2YsbUJBQW1CLCtFQUNuQixtQkFBbUIsK0VBQ25CLHFCQUFxQixpRkFDckIsb0JBQW9CLGdGQUNwQixjQUFjLDBFQUNkLGlCQUFpQiw2RUFDakIsZUFBZSwyRUFDZixjQUFjLDBFQUNkLG1CQUFtQjs7NEZBMkNSLGlCQUFpQjtrQkExRDdCLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUU7d0JBQ1Isa0JBQWtCO3dCQUNsQixvQkFBb0I7d0JBQ3BCLGVBQWU7d0JBQ2YsbUJBQW1CO3dCQUNuQixtQkFBbUI7d0JBQ25CLHFCQUFxQjt3QkFDckIsb0JBQW9CO3dCQUNwQixjQUFjO3dCQUNkLGlCQUFpQjt3QkFDakIsZUFBZTt3QkFDZixjQUFjO3dCQUNkLG1CQUFtQjtxQkFDbkI7b0JBQ0QsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUF1Q1Q7aUJBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1GaWVsZCB9IGZyb20gJy4vZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IElucHV0VGV4dFByb3BzLCBJbnB1dFRleHRDb21wb25lbnQgfSBmcm9tICcuLi9mb3JtLXR5cGUvaW5wdXR0ZXh0LnR5cGUnO1xyXG5pbXBvcnQgeyBJbnB1dE51bWJlclByb3BzLCBJbnB1dE51bWJlckNvbXBvbmVudCB9IGZyb20gJy4uL2Zvcm0tdHlwZS9pbnB1dG51bWJlci50eXBlJztcclxuaW1wb3J0IHsgU2VsZWN0UHJvcHMsIFNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4uL2Zvcm0tdHlwZS9zZWxlY3QudHlwZSc7XHJcbmltcG9ydCB7IFRyZWVTZWxlY3RQcm9wcywgVHJlZVNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4uL2Zvcm0tdHlwZS90cmVlc2VsZWN0LnR5cGUnO1xyXG5pbXBvcnQgeyBEYXRlUGlja2VyUHJvcHMsIERhdGVQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuLi9mb3JtLXR5cGUvZGF0ZXBpY2tlci50eXBlJztcclxuaW1wb3J0IHsgQXV0b0NvbXBsZXRlUHJvcHMsIEF1dG9Db21wbGV0ZUNvbXBvbmVudCB9IGZyb20gJy4uL2Zvcm0tdHlwZS9hdXRvY29tcGxldGUudHlwZSc7XHJcbmltcG9ydCB7IE11bHRpU2VsZWN0UHJvcHMsIE11bHRpU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi4vZm9ybS10eXBlL211bHRpc2VsZWN0LnR5cGUnO1xyXG5pbXBvcnQgeyBSYWRpb1Byb3BzLCBSYWRpb0NvbXBvbmVudCB9IGZyb20gJy4uL2Zvcm0tdHlwZS9yYWRpby50eXBlJztcclxuaW1wb3J0IHsgVGV4dEFyZWFQcm9wcywgVGV4dEFyZWFDb21wb25lbnQgfSBmcm9tICcuLi9mb3JtLXR5cGUvdGV4dGFyZWEudHlwZSc7XHJcbmltcG9ydCB7IFVwbG9hZFByb3BzLCBVcGxvYWRDb21wb25lbnQgfSBmcm9tICcuLi9mb3JtLXR5cGUvdXBsb2FkLnR5cGUnO1xyXG5pbXBvcnQgeyBJbWFnZVByb3BzLCBJbWFnZUNvbXBvbmVudCB9IGZyb20gJy4uL2Zvcm0tdHlwZS9pbWFnZS50eXBlJztcclxuaW1wb3J0IHsgQ29kZU1pcnJvclByb3BzLCBDb2RlTWlycm9yQ29tcG9uZW50IH0gZnJvbSAnLi4vZm9ybS10eXBlL2NvZGVtaXJyb3IudHlwZSc7XHJcbmV4cG9ydCB7XHJcblx0SW5wdXRUZXh0UHJvcHMsXHJcblx0SW5wdXROdW1iZXJQcm9wcyxcclxuXHRTZWxlY3RQcm9wcyxcclxuXHRUcmVlU2VsZWN0UHJvcHMsXHJcblx0RGF0ZVBpY2tlclByb3BzLFxyXG5cdEF1dG9Db21wbGV0ZVByb3BzLFxyXG5cdE11bHRpU2VsZWN0UHJvcHMsXHJcblx0UmFkaW9Qcm9wcyxcclxuXHRUZXh0QXJlYVByb3BzLFxyXG5cdFVwbG9hZFByb3BzLFxyXG5cdEltYWdlUHJvcHMsXHJcblx0Q29kZU1pcnJvclByb3BzLFxyXG59O1xyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdmb3JtLXR5cGUnLFxyXG5cdHN0YW5kYWxvbmU6IHRydWUsXHJcblx0aW1wb3J0czogW1xyXG5cdFx0SW5wdXRUZXh0Q29tcG9uZW50LFxyXG5cdFx0SW5wdXROdW1iZXJDb21wb25lbnQsXHJcblx0XHRTZWxlY3RDb21wb25lbnQsXHJcblx0XHRUcmVlU2VsZWN0Q29tcG9uZW50LFxyXG5cdFx0RGF0ZVBpY2tlckNvbXBvbmVudCxcclxuXHRcdEF1dG9Db21wbGV0ZUNvbXBvbmVudCxcclxuXHRcdE11bHRpU2VsZWN0Q29tcG9uZW50LFxyXG5cdFx0UmFkaW9Db21wb25lbnQsXHJcblx0XHRUZXh0QXJlYUNvbXBvbmVudCxcclxuXHRcdFVwbG9hZENvbXBvbmVudCxcclxuXHRcdEltYWdlQ29tcG9uZW50LFxyXG5cdFx0Q29kZU1pcnJvckNvbXBvbmVudCxcclxuXHRdLFxyXG5cdHRlbXBsYXRlOiBgXHJcblx0XHRAc3dpdGNoIChmaWVsZCgpPy50eXBlKSB7XHJcblx0XHRcdEBjYXNlICgnaW5wdXR0ZXh0Jykge1xyXG5cdFx0XHRcdDxmb3JtLWlucHV0dGV4dCBbZmllbGRdPVwiZmllbGQoKSFcIj48L2Zvcm0taW5wdXR0ZXh0PlxyXG5cdFx0XHR9XHJcblx0XHRcdEBjYXNlICgnaW5wdXRudW1iZXInKSB7XHJcblx0XHRcdFx0PGZvcm0taW5wdXRudW1iZXIgW2ZpZWxkXT1cImZpZWxkKCkhXCI+PC9mb3JtLWlucHV0bnVtYmVyPlxyXG5cdFx0XHR9XHJcblx0XHRcdEBjYXNlICgnc2VsZWN0Jykge1xyXG5cdFx0XHRcdDxmb3JtLXNlbGVjdCBbZmllbGRdPVwiZmllbGQoKSFcIj48L2Zvcm0tc2VsZWN0PlxyXG5cdFx0XHR9XHJcblx0XHRcdEBjYXNlICgndHJlZXNlbGVjdCcpIHtcclxuXHRcdFx0XHQ8Zm9ybS10cmVlc2VsZWN0IFtmaWVsZF09XCJmaWVsZCgpIVwiPjwvZm9ybS10cmVlc2VsZWN0PlxyXG5cdFx0XHR9XHJcblx0XHRcdEBjYXNlICgnZGF0ZXBpY2tlcicpIHtcclxuXHRcdFx0XHQ8Zm9ybS1kYXRlcGlja2VyIFtmaWVsZF09XCJmaWVsZCgpIVwiPjwvZm9ybS1kYXRlcGlja2VyPlxyXG5cdFx0XHR9XHJcblx0XHRcdEBjYXNlICgnYXV0b2NvbXBsZXRlJykge1xyXG5cdFx0XHRcdDxmb3JtLWF1dG9jb21wbGV0ZSBbZmllbGRdPVwiZmllbGQoKSFcIj48L2Zvcm0tYXV0b2NvbXBsZXRlPlxyXG5cdFx0XHR9XHJcblx0XHRcdEBjYXNlICgnbXVsdGlzZWxlY3QnKSB7XHJcblx0XHRcdFx0PGZvcm0tbXVsdGlzZWxlY3QgW2ZpZWxkXT1cImZpZWxkKCkhXCI+PC9mb3JtLW11bHRpc2VsZWN0PlxyXG5cdFx0XHR9XHJcblx0XHRcdEBjYXNlICgncmFkaW8nKSB7XHJcblx0XHRcdFx0PGZvcm0tcmFkaW8gW2ZpZWxkXT1cImZpZWxkKCkhXCI+PC9mb3JtLXJhZGlvPlxyXG5cdFx0XHR9XHJcblx0XHRcdEBjYXNlICgndGV4dGFyZWEnKSB7XHJcblx0XHRcdFx0PGZvcm0tdGV4dGFyZWEgW2ZpZWxkXT1cImZpZWxkKCkhXCI+PC9mb3JtLXRleHRhcmVhPlxyXG5cdFx0XHR9XHJcblx0XHRcdEBjYXNlICgndXBsb2FkJykge1xyXG5cdFx0XHRcdDxmb3JtLXVwbG9hZCBbZmllbGRdPVwiZmllbGQoKSFcIj48L2Zvcm0tdXBsb2FkPlxyXG5cdFx0XHR9XHJcblx0XHRcdEBjYXNlICgnaW1hZ2UnKSB7XHJcblx0XHRcdFx0PGZvcm0taW1hZ2UgW2ZpZWxkXT1cImZpZWxkKCkhXCI+PC9mb3JtLWltYWdlPlxyXG5cdFx0XHR9XHJcblx0XHRcdEBjYXNlICgnY29kZW1pcnJvcicpIHtcclxuXHRcdFx0XHQ8Zm9ybS1jb2RlbWlycm9yIFtmaWVsZF09XCJmaWVsZCgpIVwiPjwvZm9ybS1jb2RlbWlycm9yPlxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0YCxcclxufSlcclxuZXhwb3J0IGNsYXNzIEZvcm1UeXBlQ29tcG9uZW50IHtcclxuXHRmaWVsZCA9IGlucHV0PEZvcm1GaWVsZD4oKTtcclxuXHRjb25zdHJ1Y3RvcigpIHt9XHJcblxyXG5cdG5nT25Jbml0KCk6IHZvaWQge31cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { Directive, HostListener, input } from '@angular/core';
|
|
2
|
+
import { fieldUtils } from './field-utils';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../../service/action.service";
|
|
5
|
+
export class LabelDirective {
|
|
6
|
+
constructor(action) {
|
|
7
|
+
this.action = action;
|
|
8
|
+
this.fieldLabel = input();
|
|
9
|
+
}
|
|
10
|
+
onMouseEnter() {
|
|
11
|
+
if (fieldUtils.props(this.fieldLabel()).disabled)
|
|
12
|
+
return;
|
|
13
|
+
if (!this.fieldLabel()?.interactiveLabel)
|
|
14
|
+
return;
|
|
15
|
+
this.action.setFieldLabelAction(this.fieldLabel().uuid, 'mouseenter');
|
|
16
|
+
}
|
|
17
|
+
onMouseLeave() {
|
|
18
|
+
if (fieldUtils.props(this.fieldLabel()).disabled)
|
|
19
|
+
return;
|
|
20
|
+
if (!this.fieldLabel()?.interactiveLabel)
|
|
21
|
+
return;
|
|
22
|
+
this.fieldLabel()?.interactiveLabel && this.action.setFieldLabelAction(this.fieldLabel().uuid, 'mouseleave');
|
|
23
|
+
}
|
|
24
|
+
onClick() {
|
|
25
|
+
console.log('-----click', this.fieldLabel());
|
|
26
|
+
if (this.fieldLabel()?.interactiveLabel) {
|
|
27
|
+
if (fieldUtils.props(this.fieldLabel()).disabled)
|
|
28
|
+
return;
|
|
29
|
+
this.action.setFieldLabelAction(this.fieldLabel().uuid, 'click');
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
this.action.setFieldAction(this.fieldLabel());
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
onDoubleClick() {
|
|
36
|
+
if (this.fieldLabel()?.type === 'codemirror') {
|
|
37
|
+
this.action.setFieldLabelAction(this.fieldLabel().uuid, 'dblclick');
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LabelDirective, deps: [{ token: i1.ActionService }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
41
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.13", type: LabelDirective, isStandalone: true, selector: "[fieldLabel]", inputs: { fieldLabel: { classPropertyName: "fieldLabel", publicName: "fieldLabel", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()", "click": "onClick()", "dblclick": "onDoubleClick()" } }, ngImport: i0 }); }
|
|
42
|
+
}
|
|
43
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LabelDirective, decorators: [{
|
|
44
|
+
type: Directive,
|
|
45
|
+
args: [{
|
|
46
|
+
selector: '[fieldLabel]',
|
|
47
|
+
standalone: true,
|
|
48
|
+
}]
|
|
49
|
+
}], ctorParameters: () => [{ type: i1.ActionService }], propDecorators: { onMouseEnter: [{
|
|
50
|
+
type: HostListener,
|
|
51
|
+
args: ['mouseenter']
|
|
52
|
+
}], onMouseLeave: [{
|
|
53
|
+
type: HostListener,
|
|
54
|
+
args: ['mouseleave']
|
|
55
|
+
}], onClick: [{
|
|
56
|
+
type: HostListener,
|
|
57
|
+
args: ['click']
|
|
58
|
+
}], onDoubleClick: [{
|
|
59
|
+
type: HostListener,
|
|
60
|
+
args: ['dblclick']
|
|
61
|
+
}] } });
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFiZWwuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW1tLXVpL3NyYy9saWIvZm9ybS9mb3JtLWZpZWxkL2xhYmVsLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFHdkUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBTTNDLE1BQU0sT0FBTyxjQUFjO0lBRTFCLFlBQW9CLE1BQXFCO1FBQXJCLFdBQU0sR0FBTixNQUFNLENBQWU7UUFEekMsZUFBVSxHQUFHLEtBQUssRUFBYSxDQUFDO0lBQ1ksQ0FBQztJQUVqQixZQUFZO1FBQ3ZDLElBQUksVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFHLENBQUMsQ0FBQyxRQUFRO1lBQUUsT0FBTztRQUMxRCxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLGdCQUFnQjtZQUFFLE9BQU87UUFDakQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFHLENBQUMsSUFBSyxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFMkIsWUFBWTtRQUN2QyxJQUFJLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRyxDQUFDLENBQUMsUUFBUTtZQUFFLE9BQU87UUFDMUQsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxnQkFBZ0I7WUFBRSxPQUFPO1FBQ2pELElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUcsQ0FBQyxJQUFLLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDaEgsQ0FBQztJQUVzQixPQUFPO1FBQzdCLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQzdDLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLGdCQUFnQixFQUFFLENBQUM7WUFDekMsSUFBSSxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUcsQ0FBQyxDQUFDLFFBQVE7Z0JBQUUsT0FBTztZQUMxRCxJQUFJLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUcsQ0FBQyxJQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDcEUsQ0FBQzthQUFNLENBQUM7WUFDUCxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFHLENBQUMsQ0FBQztRQUNoRCxDQUFDO0lBQ0YsQ0FBQztJQUV5QixhQUFhO1FBQ3RDLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLElBQUksS0FBSyxZQUFZLEVBQUUsQ0FBQztZQUM5QyxJQUFJLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUcsQ0FBQyxJQUFLLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDdkUsQ0FBQztJQUNGLENBQUM7K0dBOUJXLGNBQWM7bUdBQWQsY0FBYzs7NEZBQWQsY0FBYztrQkFKMUIsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsY0FBYztvQkFDeEIsVUFBVSxFQUFFLElBQUk7aUJBQ2hCO2tGQUs0QixZQUFZO3NCQUF2QyxZQUFZO3VCQUFDLFlBQVk7Z0JBTUUsWUFBWTtzQkFBdkMsWUFBWTt1QkFBQyxZQUFZO2dCQU1ILE9BQU87c0JBQTdCLFlBQVk7dUJBQUMsT0FBTztnQkFVSyxhQUFhO3NCQUF0QyxZQUFZO3VCQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RMaXN0ZW5lciwgaW5wdXQsIGVmZmVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZS9hY3Rpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IEZvcm1GaWVsZCB9IGZyb20gJy4vZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IGZpZWxkVXRpbHMgfSBmcm9tICcuL2ZpZWxkLXV0aWxzJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG5cdHNlbGVjdG9yOiAnW2ZpZWxkTGFiZWxdJyxcclxuXHRzdGFuZGFsb25lOiB0cnVlLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTGFiZWxEaXJlY3RpdmUge1xyXG5cdGZpZWxkTGFiZWwgPSBpbnB1dDxGb3JtRmllbGQ+KCk7XHJcblx0Y29uc3RydWN0b3IocHJpdmF0ZSBhY3Rpb246IEFjdGlvblNlcnZpY2UpIHt9XHJcblxyXG5cdEBIb3N0TGlzdGVuZXIoJ21vdXNlZW50ZXInKSBvbk1vdXNlRW50ZXIoKSB7XHJcblx0XHRpZiAoZmllbGRVdGlscy5wcm9wcyh0aGlzLmZpZWxkTGFiZWwoKSEpLmRpc2FibGVkKSByZXR1cm47XHJcblx0XHRpZiAoIXRoaXMuZmllbGRMYWJlbCgpPy5pbnRlcmFjdGl2ZUxhYmVsKSByZXR1cm47XHJcblx0XHR0aGlzLmFjdGlvbi5zZXRGaWVsZExhYmVsQWN0aW9uKHRoaXMuZmllbGRMYWJlbCgpIS51dWlkISwgJ21vdXNlZW50ZXInKTtcclxuXHR9XHJcblxyXG5cdEBIb3N0TGlzdGVuZXIoJ21vdXNlbGVhdmUnKSBvbk1vdXNlTGVhdmUoKSB7XHJcblx0XHRpZiAoZmllbGRVdGlscy5wcm9wcyh0aGlzLmZpZWxkTGFiZWwoKSEpLmRpc2FibGVkKSByZXR1cm47XHJcblx0XHRpZiAoIXRoaXMuZmllbGRMYWJlbCgpPy5pbnRlcmFjdGl2ZUxhYmVsKSByZXR1cm47XHJcblx0XHR0aGlzLmZpZWxkTGFiZWwoKT8uaW50ZXJhY3RpdmVMYWJlbCAmJiB0aGlzLmFjdGlvbi5zZXRGaWVsZExhYmVsQWN0aW9uKHRoaXMuZmllbGRMYWJlbCgpIS51dWlkISwgJ21vdXNlbGVhdmUnKTtcclxuXHR9XHJcblxyXG5cdEBIb3N0TGlzdGVuZXIoJ2NsaWNrJykgb25DbGljaygpIHtcclxuXHRcdGNvbnNvbGUubG9nKCctLS0tLWNsaWNrJywgdGhpcy5maWVsZExhYmVsKCkpO1xyXG5cdFx0aWYgKHRoaXMuZmllbGRMYWJlbCgpPy5pbnRlcmFjdGl2ZUxhYmVsKSB7XHJcblx0XHRcdGlmIChmaWVsZFV0aWxzLnByb3BzKHRoaXMuZmllbGRMYWJlbCgpISkuZGlzYWJsZWQpIHJldHVybjtcclxuXHRcdFx0dGhpcy5hY3Rpb24uc2V0RmllbGRMYWJlbEFjdGlvbih0aGlzLmZpZWxkTGFiZWwoKSEudXVpZCEsICdjbGljaycpO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0dGhpcy5hY3Rpb24uc2V0RmllbGRBY3Rpb24odGhpcy5maWVsZExhYmVsKCkhKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdEBIb3N0TGlzdGVuZXIoJ2RibGNsaWNrJykgb25Eb3VibGVDbGljaygpIHtcclxuXHRcdGlmICh0aGlzLmZpZWxkTGFiZWwoKT8udHlwZSA9PT0gJ2NvZGVtaXJyb3InKSB7XHJcblx0XHRcdHRoaXMuYWN0aW9uLnNldEZpZWxkTGFiZWxBY3Rpb24odGhpcy5maWVsZExhYmVsKCkhLnV1aWQhLCAnZGJsY2xpY2snKTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuIl19
|