@react-typed-forms/schemas 11.18.1 → 11.18.3
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/lib/controlBuilder.d.ts +32 -1
- package/lib/index.cjs +2 -0
- package/lib/index.cjs.map +1 -0
- package/lib/index.js +1 -3438
- package/lib/index.js.map +1 -1
- package/lib/schemaBuilder.d.ts +14 -33
- package/lib/types.d.ts +2 -2
- package/package.json +5 -3
package/lib/index.js
CHANGED
|
@@ -1,3439 +1,2 @@
|
|
|
1
|
-
var React = require('react');
|
|
2
|
-
var core = require('@react-typed-forms/core');
|
|
3
|
-
var clsx = require('clsx');
|
|
4
|
-
var jsonata = require('jsonata');
|
|
5
|
-
var uuid = require('uuid');
|
|
6
|
-
|
|
7
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
8
|
-
|
|
9
|
-
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
10
|
-
var clsx__default = /*#__PURE__*/_interopDefaultLegacy(clsx);
|
|
11
|
-
var jsonata__default = /*#__PURE__*/_interopDefaultLegacy(jsonata);
|
|
12
|
-
|
|
13
|
-
exports.FieldType = void 0;
|
|
14
|
-
(function (FieldType) {
|
|
15
|
-
FieldType["String"] = "String";
|
|
16
|
-
FieldType["Bool"] = "Bool";
|
|
17
|
-
FieldType["Int"] = "Int";
|
|
18
|
-
FieldType["Date"] = "Date";
|
|
19
|
-
FieldType["DateTime"] = "DateTime";
|
|
20
|
-
FieldType["Time"] = "Time";
|
|
21
|
-
FieldType["Double"] = "Double";
|
|
22
|
-
FieldType["EntityRef"] = "EntityRef";
|
|
23
|
-
FieldType["Compound"] = "Compound";
|
|
24
|
-
FieldType["AutoId"] = "AutoId";
|
|
25
|
-
FieldType["Image"] = "Image";
|
|
26
|
-
FieldType["Any"] = "Any";
|
|
27
|
-
})(exports.FieldType || (exports.FieldType = {}));
|
|
28
|
-
exports.ValidationMessageType = void 0;
|
|
29
|
-
(function (ValidationMessageType) {
|
|
30
|
-
ValidationMessageType["NotEmpty"] = "NotEmpty";
|
|
31
|
-
ValidationMessageType["MinLength"] = "MinLength";
|
|
32
|
-
ValidationMessageType["MaxLength"] = "MaxLength";
|
|
33
|
-
ValidationMessageType["NotAfterDate"] = "NotAfterDate";
|
|
34
|
-
ValidationMessageType["NotBeforeDate"] = "NotBeforeDate";
|
|
35
|
-
})(exports.ValidationMessageType || (exports.ValidationMessageType = {}));
|
|
36
|
-
exports.ControlDefinitionType = void 0;
|
|
37
|
-
(function (ControlDefinitionType) {
|
|
38
|
-
ControlDefinitionType["Data"] = "Data";
|
|
39
|
-
ControlDefinitionType["Group"] = "Group";
|
|
40
|
-
ControlDefinitionType["Display"] = "Display";
|
|
41
|
-
ControlDefinitionType["Action"] = "Action";
|
|
42
|
-
})(exports.ControlDefinitionType || (exports.ControlDefinitionType = {}));
|
|
43
|
-
exports.DynamicPropertyType = void 0;
|
|
44
|
-
(function (DynamicPropertyType) {
|
|
45
|
-
DynamicPropertyType["Visible"] = "Visible";
|
|
46
|
-
DynamicPropertyType["DefaultValue"] = "DefaultValue";
|
|
47
|
-
DynamicPropertyType["Readonly"] = "Readonly";
|
|
48
|
-
DynamicPropertyType["Disabled"] = "Disabled";
|
|
49
|
-
DynamicPropertyType["Display"] = "Display";
|
|
50
|
-
DynamicPropertyType["Style"] = "Style";
|
|
51
|
-
DynamicPropertyType["LayoutStyle"] = "LayoutStyle";
|
|
52
|
-
DynamicPropertyType["AllowedOptions"] = "AllowedOptions";
|
|
53
|
-
DynamicPropertyType["Label"] = "Label";
|
|
54
|
-
DynamicPropertyType["ActionData"] = "ActionData";
|
|
55
|
-
})(exports.DynamicPropertyType || (exports.DynamicPropertyType = {}));
|
|
56
|
-
exports.ExpressionType = void 0;
|
|
57
|
-
(function (ExpressionType) {
|
|
58
|
-
ExpressionType["Jsonata"] = "Jsonata";
|
|
59
|
-
ExpressionType["Data"] = "Data";
|
|
60
|
-
ExpressionType["DataMatch"] = "FieldValue";
|
|
61
|
-
ExpressionType["UserMatch"] = "UserMatch";
|
|
62
|
-
ExpressionType["NotEmpty"] = "NotEmpty";
|
|
63
|
-
ExpressionType["UUID"] = "UUID";
|
|
64
|
-
})(exports.ExpressionType || (exports.ExpressionType = {}));
|
|
65
|
-
exports.AdornmentPlacement = void 0;
|
|
66
|
-
(function (AdornmentPlacement) {
|
|
67
|
-
AdornmentPlacement["ControlStart"] = "ControlStart";
|
|
68
|
-
AdornmentPlacement["ControlEnd"] = "ControlEnd";
|
|
69
|
-
AdornmentPlacement["LabelStart"] = "LabelStart";
|
|
70
|
-
AdornmentPlacement["LabelEnd"] = "LabelEnd";
|
|
71
|
-
})(exports.AdornmentPlacement || (exports.AdornmentPlacement = {}));
|
|
72
|
-
exports.ControlAdornmentType = void 0;
|
|
73
|
-
(function (ControlAdornmentType) {
|
|
74
|
-
ControlAdornmentType["Tooltip"] = "Tooltip";
|
|
75
|
-
ControlAdornmentType["Accordion"] = "Accordion";
|
|
76
|
-
ControlAdornmentType["HelpText"] = "HelpText";
|
|
77
|
-
ControlAdornmentType["Icon"] = "Icon";
|
|
78
|
-
ControlAdornmentType["SetField"] = "SetField";
|
|
79
|
-
})(exports.ControlAdornmentType || (exports.ControlAdornmentType = {}));
|
|
80
|
-
exports.DataRenderType = void 0;
|
|
81
|
-
(function (DataRenderType) {
|
|
82
|
-
DataRenderType["Standard"] = "Standard";
|
|
83
|
-
DataRenderType["Textfield"] = "Textfield";
|
|
84
|
-
DataRenderType["Radio"] = "Radio";
|
|
85
|
-
DataRenderType["HtmlEditor"] = "HtmlEditor";
|
|
86
|
-
DataRenderType["IconList"] = "IconList";
|
|
87
|
-
DataRenderType["CheckList"] = "CheckList";
|
|
88
|
-
DataRenderType["UserSelection"] = "UserSelection";
|
|
89
|
-
DataRenderType["Synchronised"] = "Synchronised";
|
|
90
|
-
DataRenderType["IconSelector"] = "IconSelector";
|
|
91
|
-
DataRenderType["DateTime"] = "DateTime";
|
|
92
|
-
DataRenderType["Checkbox"] = "Checkbox";
|
|
93
|
-
DataRenderType["Dropdown"] = "Dropdown";
|
|
94
|
-
DataRenderType["DisplayOnly"] = "DisplayOnly";
|
|
95
|
-
DataRenderType["Group"] = "Group";
|
|
96
|
-
DataRenderType["NullToggle"] = "NullToggle";
|
|
97
|
-
DataRenderType["Jsonata"] = "Jsonata";
|
|
98
|
-
DataRenderType["Array"] = "Array";
|
|
99
|
-
})(exports.DataRenderType || (exports.DataRenderType = {}));
|
|
100
|
-
exports.SyncTextType = void 0;
|
|
101
|
-
(function (SyncTextType) {
|
|
102
|
-
SyncTextType["Camel"] = "Camel";
|
|
103
|
-
SyncTextType["Snake"] = "Snake";
|
|
104
|
-
SyncTextType["Pascal"] = "Pascal";
|
|
105
|
-
})(exports.SyncTextType || (exports.SyncTextType = {}));
|
|
106
|
-
exports.GroupRenderType = void 0;
|
|
107
|
-
(function (GroupRenderType) {
|
|
108
|
-
GroupRenderType["Standard"] = "Standard";
|
|
109
|
-
GroupRenderType["Grid"] = "Grid";
|
|
110
|
-
GroupRenderType["Flex"] = "Flex";
|
|
111
|
-
GroupRenderType["GroupElement"] = "GroupElement";
|
|
112
|
-
})(exports.GroupRenderType || (exports.GroupRenderType = {}));
|
|
113
|
-
exports.DisplayDataType = void 0;
|
|
114
|
-
(function (DisplayDataType) {
|
|
115
|
-
DisplayDataType["Text"] = "Text";
|
|
116
|
-
DisplayDataType["Html"] = "Html";
|
|
117
|
-
DisplayDataType["Icon"] = "Icon";
|
|
118
|
-
DisplayDataType["Custom"] = "Custom";
|
|
119
|
-
})(exports.DisplayDataType || (exports.DisplayDataType = {}));
|
|
120
|
-
exports.ValidatorType = void 0;
|
|
121
|
-
(function (ValidatorType) {
|
|
122
|
-
ValidatorType["Jsonata"] = "Jsonata";
|
|
123
|
-
ValidatorType["Date"] = "Date";
|
|
124
|
-
ValidatorType["Length"] = "Length";
|
|
125
|
-
})(exports.ValidatorType || (exports.ValidatorType = {}));
|
|
126
|
-
exports.DateComparison = void 0;
|
|
127
|
-
(function (DateComparison) {
|
|
128
|
-
DateComparison["NotBefore"] = "NotBefore";
|
|
129
|
-
DateComparison["NotAfter"] = "NotAfter";
|
|
130
|
-
})(exports.DateComparison || (exports.DateComparison = {}));
|
|
131
|
-
function isDataControlDefinition(x) {
|
|
132
|
-
return x.type === exports.ControlDefinitionType.Data;
|
|
133
|
-
}
|
|
134
|
-
function isGroupControlsDefinition(x) {
|
|
135
|
-
return x.type === exports.ControlDefinitionType.Group;
|
|
136
|
-
}
|
|
137
|
-
function isDisplayControlsDefinition(x) {
|
|
138
|
-
return x.type === exports.ControlDefinitionType.Display;
|
|
139
|
-
}
|
|
140
|
-
function isActionControlsDefinition(x) {
|
|
141
|
-
return x.type === exports.ControlDefinitionType.Action;
|
|
142
|
-
}
|
|
143
|
-
function visitControlDefinition(x, visitor, defaultValue) {
|
|
144
|
-
switch (x.type) {
|
|
145
|
-
case exports.ControlDefinitionType.Action:
|
|
146
|
-
return visitor.action(x);
|
|
147
|
-
case exports.ControlDefinitionType.Data:
|
|
148
|
-
return visitor.data(x);
|
|
149
|
-
case exports.ControlDefinitionType.Display:
|
|
150
|
-
return visitor.display(x);
|
|
151
|
-
case exports.ControlDefinitionType.Group:
|
|
152
|
-
return visitor.group(x);
|
|
153
|
-
default:
|
|
154
|
-
return defaultValue(x);
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
function isGridRenderer(options) {
|
|
158
|
-
return options.type === exports.GroupRenderType.Grid;
|
|
159
|
-
}
|
|
160
|
-
function isFlexRenderer(options) {
|
|
161
|
-
return options.type === exports.GroupRenderType.Flex;
|
|
162
|
-
}
|
|
163
|
-
function isDisplayOnlyRenderer(options) {
|
|
164
|
-
return options.type === exports.DataRenderType.DisplayOnly;
|
|
165
|
-
}
|
|
166
|
-
function isTextfieldRenderer(options) {
|
|
167
|
-
return options.type === exports.DataRenderType.Textfield;
|
|
168
|
-
}
|
|
169
|
-
function isDataGroupRenderer(options) {
|
|
170
|
-
return options.type === exports.DataRenderType.Group;
|
|
171
|
-
}
|
|
172
|
-
function isArrayRenderer(options) {
|
|
173
|
-
return options.type === exports.DataRenderType.Array;
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
function _arrayLikeToArray(r, a) {
|
|
177
|
-
(null == a || a > r.length) && (a = r.length);
|
|
178
|
-
for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
|
|
179
|
-
return n;
|
|
180
|
-
}
|
|
181
|
-
function _createForOfIteratorHelperLoose(r, e) {
|
|
182
|
-
var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
|
|
183
|
-
if (t) return (t = t.call(r)).next.bind(t);
|
|
184
|
-
if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) {
|
|
185
|
-
t && (r = t);
|
|
186
|
-
var o = 0;
|
|
187
|
-
return function () {
|
|
188
|
-
return o >= r.length ? {
|
|
189
|
-
done: !0
|
|
190
|
-
} : {
|
|
191
|
-
done: !1,
|
|
192
|
-
value: r[o++]
|
|
193
|
-
};
|
|
194
|
-
};
|
|
195
|
-
}
|
|
196
|
-
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
197
|
-
}
|
|
198
|
-
function _extends() {
|
|
199
|
-
return _extends = Object.assign ? Object.assign.bind() : function (n) {
|
|
200
|
-
for (var e = 1; e < arguments.length; e++) {
|
|
201
|
-
var t = arguments[e];
|
|
202
|
-
for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
|
|
203
|
-
}
|
|
204
|
-
return n;
|
|
205
|
-
}, _extends.apply(null, arguments);
|
|
206
|
-
}
|
|
207
|
-
function _objectWithoutPropertiesLoose(r, e) {
|
|
208
|
-
if (null == r) return {};
|
|
209
|
-
var t = {};
|
|
210
|
-
for (var n in r) if ({}.hasOwnProperty.call(r, n)) {
|
|
211
|
-
if (e.includes(n)) continue;
|
|
212
|
-
t[n] = r[n];
|
|
213
|
-
}
|
|
214
|
-
return t;
|
|
215
|
-
}
|
|
216
|
-
function _unsupportedIterableToArray(r, a) {
|
|
217
|
-
if (r) {
|
|
218
|
-
if ("string" == typeof r) return _arrayLikeToArray(r, a);
|
|
219
|
-
var t = {}.toString.call(r).slice(8, -1);
|
|
220
|
-
return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
|
-
|
|
224
|
-
function applyDefaultValues(v, fields, doneSet) {
|
|
225
|
-
var _doneSet;
|
|
226
|
-
if (!v) return defaultValueForFields(fields);
|
|
227
|
-
if (doneSet && doneSet.has(v)) return v;
|
|
228
|
-
(_doneSet = doneSet) != null ? _doneSet : doneSet = new Set();
|
|
229
|
-
doneSet.add(v);
|
|
230
|
-
var applyValue = fields.filter(function (x) {
|
|
231
|
-
return isCompoundField(x) || !(x.field in v);
|
|
232
|
-
});
|
|
233
|
-
if (!applyValue.length) return v;
|
|
234
|
-
var out = _extends({}, v);
|
|
235
|
-
applyValue.forEach(function (x) {
|
|
236
|
-
out[x.field] = x.field in v ? applyDefaultForField(v[x.field], x, fields, false, doneSet) : defaultValueForField(x);
|
|
237
|
-
});
|
|
238
|
-
return out;
|
|
239
|
-
}
|
|
240
|
-
function applyDefaultForField(v, field, parent, notElement, doneSet) {
|
|
241
|
-
if (field.collection && !notElement) {
|
|
242
|
-
return (v != null ? v : []).map(function (x) {
|
|
243
|
-
return applyDefaultForField(x, field, parent, true, doneSet);
|
|
244
|
-
});
|
|
245
|
-
}
|
|
246
|
-
if (isCompoundField(field)) {
|
|
247
|
-
if (!v && !field.required) return v;
|
|
248
|
-
return applyDefaultValues(v, field.treeChildren ? parent : field.children, doneSet);
|
|
249
|
-
}
|
|
250
|
-
return defaultValueForField(field);
|
|
251
|
-
}
|
|
252
|
-
function defaultValueForFields(fields) {
|
|
253
|
-
return Object.fromEntries(fields.map(function (x) {
|
|
254
|
-
return [x.field, defaultValueForField(x)];
|
|
255
|
-
}));
|
|
256
|
-
}
|
|
257
|
-
function defaultValueForField(sf, required, forceNotNull) {
|
|
258
|
-
if (sf.defaultValue !== undefined) return sf.defaultValue;
|
|
259
|
-
var isRequired = !!(required || sf.required);
|
|
260
|
-
if (isCompoundField(sf)) {
|
|
261
|
-
if (isRequired) {
|
|
262
|
-
var childValue = defaultValueForFields(sf.children);
|
|
263
|
-
return sf.collection ? [childValue] : childValue;
|
|
264
|
-
}
|
|
265
|
-
return sf.notNullable || forceNotNull ? sf.collection ? [] : {} : undefined;
|
|
266
|
-
}
|
|
267
|
-
if (sf.collection) {
|
|
268
|
-
return [];
|
|
269
|
-
}
|
|
270
|
-
return undefined;
|
|
271
|
-
}
|
|
272
|
-
function elementValueForField(sf) {
|
|
273
|
-
if (isCompoundField(sf)) {
|
|
274
|
-
return defaultValueForFields(sf.children);
|
|
275
|
-
}
|
|
276
|
-
return sf.defaultValue;
|
|
277
|
-
}
|
|
278
|
-
function findScalarField(fields, field) {
|
|
279
|
-
return findField(fields, field);
|
|
280
|
-
}
|
|
281
|
-
function findCompoundField(fields, field) {
|
|
282
|
-
return findField(fields, field);
|
|
283
|
-
}
|
|
284
|
-
function findField(fields, field) {
|
|
285
|
-
return fields.find(function (x) {
|
|
286
|
-
return x.field === field;
|
|
287
|
-
});
|
|
288
|
-
}
|
|
289
|
-
function isScalarField(sf) {
|
|
290
|
-
return !isCompoundField(sf);
|
|
291
|
-
}
|
|
292
|
-
function isCompoundField(sf) {
|
|
293
|
-
return sf.type === exports.FieldType.Compound;
|
|
294
|
-
}
|
|
295
|
-
function isDataControl(c) {
|
|
296
|
-
return c.type === exports.ControlDefinitionType.Data;
|
|
297
|
-
}
|
|
298
|
-
function isGroupControl(c) {
|
|
299
|
-
return c.type === exports.ControlDefinitionType.Group;
|
|
300
|
-
}
|
|
301
|
-
function fieldHasTag(field, tag) {
|
|
302
|
-
var _field$tags;
|
|
303
|
-
return Boolean((_field$tags = field.tags) == null ? void 0 : _field$tags.includes(tag));
|
|
304
|
-
}
|
|
305
|
-
function fieldDisplayName(field) {
|
|
306
|
-
var _field$displayName;
|
|
307
|
-
return (_field$displayName = field.displayName) != null ? _field$displayName : field.field;
|
|
308
|
-
}
|
|
309
|
-
function hasOptions(o) {
|
|
310
|
-
var _o$options$length, _o$options;
|
|
311
|
-
return ((_o$options$length = (_o$options = o.options) == null ? void 0 : _o$options.length) != null ? _o$options$length : 0) > 0;
|
|
312
|
-
}
|
|
313
|
-
function defaultControlForField(sf) {
|
|
314
|
-
if (isCompoundField(sf)) {
|
|
315
|
-
return {
|
|
316
|
-
type: exports.ControlDefinitionType.Data,
|
|
317
|
-
title: sf.displayName,
|
|
318
|
-
field: sf.field,
|
|
319
|
-
required: sf.required,
|
|
320
|
-
children: sf.children.map(defaultControlForField)
|
|
321
|
-
};
|
|
322
|
-
} else if (isScalarField(sf)) {
|
|
323
|
-
var _sf$tags;
|
|
324
|
-
var htmlEditor = (_sf$tags = sf.tags) == null ? void 0 : _sf$tags.includes("_HtmlEditor");
|
|
325
|
-
return {
|
|
326
|
-
type: exports.ControlDefinitionType.Data,
|
|
327
|
-
title: sf.displayName,
|
|
328
|
-
field: sf.field,
|
|
329
|
-
required: sf.required,
|
|
330
|
-
renderOptions: {
|
|
331
|
-
type: htmlEditor ? exports.DataRenderType.HtmlEditor : exports.DataRenderType.Standard
|
|
332
|
-
}
|
|
333
|
-
};
|
|
334
|
-
}
|
|
335
|
-
throw "Unknown schema field";
|
|
336
|
-
}
|
|
337
|
-
function findControlsForCompound(compound, definition) {
|
|
338
|
-
if (isDataControlDefinition(definition) && compound.field === definition.field) {
|
|
339
|
-
return [definition];
|
|
340
|
-
}
|
|
341
|
-
if (isGroupControlsDefinition(definition)) {
|
|
342
|
-
var _definition$children$, _definition$children;
|
|
343
|
-
if (definition.compoundField === compound.field) return [definition];
|
|
344
|
-
return (_definition$children$ = (_definition$children = definition.children) == null ? void 0 : _definition$children.flatMap(function (d) {
|
|
345
|
-
return findControlsForCompound(compound, d);
|
|
346
|
-
})) != null ? _definition$children$ : [];
|
|
347
|
-
}
|
|
348
|
-
return [];
|
|
349
|
-
}
|
|
350
|
-
function findCompoundGroups(fields, controls) {
|
|
351
|
-
return Object.fromEntries(fields.filter(isCompoundField).map(function (cf) {
|
|
352
|
-
var groups = controls.flatMap(function (x) {
|
|
353
|
-
return findControlsForCompound(cf, x);
|
|
354
|
-
});
|
|
355
|
-
return [cf.field, {
|
|
356
|
-
groups: groups.concat(findNonDataGroups(groups.flatMap(function (x) {
|
|
357
|
-
var _x$children;
|
|
358
|
-
return (_x$children = x.children) != null ? _x$children : [];
|
|
359
|
-
}))),
|
|
360
|
-
children: findCompoundGroups(cf.children, groups.flatMap(function (x) {
|
|
361
|
-
var _x$children2;
|
|
362
|
-
return (_x$children2 = x.children) != null ? _x$children2 : [];
|
|
363
|
-
}))
|
|
364
|
-
}];
|
|
365
|
-
}));
|
|
366
|
-
}
|
|
367
|
-
function existsInGroups(field, lookup) {
|
|
368
|
-
var itself = lookup.groups.find(function (c) {
|
|
369
|
-
var _c$children;
|
|
370
|
-
return (_c$children = c.children) == null ? void 0 : _c$children.find(function (x) {
|
|
371
|
-
return isDataControlDefinition(x) && x.field === field.field || isGroupControlsDefinition(x) && x.compoundField === field.field;
|
|
372
|
-
});
|
|
373
|
-
});
|
|
374
|
-
if (!itself) return [[field, lookup]];
|
|
375
|
-
if (isCompoundField(field)) {
|
|
376
|
-
var childLookup = lookup.children[field.field];
|
|
377
|
-
if (!childLookup) return [[field, lookup]];
|
|
378
|
-
return field.children.flatMap(function (c) {
|
|
379
|
-
return existsInGroups(c, childLookup);
|
|
380
|
-
});
|
|
381
|
-
}
|
|
382
|
-
return [];
|
|
383
|
-
}
|
|
384
|
-
function findNonDataGroups(controls) {
|
|
385
|
-
return controls.flatMap(function (control) {
|
|
386
|
-
var _control$children2;
|
|
387
|
-
return isGroupControlsDefinition(control) && !control.compoundField ? [control].concat(findNonDataGroups((_control$children2 = control.children) != null ? _control$children2 : [])) : [];
|
|
388
|
-
});
|
|
389
|
-
}
|
|
390
|
-
function cloneChildren(c) {
|
|
391
|
-
var _c$children2;
|
|
392
|
-
if (c.children) return _extends({}, c, {
|
|
393
|
-
children: (_c$children2 = c.children) == null ? void 0 : _c$children2.map(cloneChildren)
|
|
394
|
-
});
|
|
395
|
-
return c;
|
|
396
|
-
}
|
|
397
|
-
function addMissingControls(fields, controls) {
|
|
398
|
-
controls = controls.map(cloneChildren);
|
|
399
|
-
var rootMapping = findCompoundGroups(fields, controls);
|
|
400
|
-
var rootGroups = findNonDataGroups([{
|
|
401
|
-
type: exports.ControlDefinitionType.Group,
|
|
402
|
-
children: controls
|
|
403
|
-
}]);
|
|
404
|
-
var rootLookup = {
|
|
405
|
-
children: rootMapping,
|
|
406
|
-
groups: rootGroups
|
|
407
|
-
};
|
|
408
|
-
var missingFields = fields.filter(function (x) {
|
|
409
|
-
return !fieldHasTag(x, "_NoControl");
|
|
410
|
-
}).flatMap(function (x) {
|
|
411
|
-
return existsInGroups(x, rootLookup);
|
|
412
|
-
});
|
|
413
|
-
missingFields.forEach(function (_ref) {
|
|
414
|
-
var _f$tags, _insertGroup;
|
|
415
|
-
var f = _ref[0],
|
|
416
|
-
lookup = _ref[1];
|
|
417
|
-
var groupToAdd = (_f$tags = f.tags) == null ? void 0 : _f$tags.find(function (x) {
|
|
418
|
-
return x.startsWith("_ControlGroup:");
|
|
419
|
-
});
|
|
420
|
-
var insertGroup = undefined;
|
|
421
|
-
if (groupToAdd) {
|
|
422
|
-
var groupName = groupToAdd.substring(14);
|
|
423
|
-
insertGroup = lookup.groups.find(function (x) {
|
|
424
|
-
return x.title === groupName;
|
|
425
|
-
});
|
|
426
|
-
}
|
|
427
|
-
if (!insertGroup) insertGroup = lookup.groups[0];
|
|
428
|
-
(_insertGroup = insertGroup) == null || (_insertGroup = _insertGroup.children) == null || _insertGroup.push(defaultControlForField(f));
|
|
429
|
-
});
|
|
430
|
-
return controls;
|
|
431
|
-
}
|
|
432
|
-
function useUpdatedRef(a) {
|
|
433
|
-
var r = React.useRef(a);
|
|
434
|
-
r.current = a;
|
|
435
|
-
return r;
|
|
436
|
-
}
|
|
437
|
-
function isControlReadonly(c) {
|
|
438
|
-
return isDataControl(c) && !!c.readonly;
|
|
439
|
-
}
|
|
440
|
-
function isControlDisabled(c) {
|
|
441
|
-
return isDataControl(c) && !!c.disabled;
|
|
442
|
-
}
|
|
443
|
-
function getDisplayOnlyOptions(d) {
|
|
444
|
-
return isDataControlDefinition(d) && d.renderOptions && isDisplayOnlyRenderer(d.renderOptions) ? d.renderOptions : undefined;
|
|
445
|
-
}
|
|
446
|
-
function getTypeField(context, fieldPath) {
|
|
447
|
-
var withoutLast = fieldPath.slice(0, -1);
|
|
448
|
-
var fieldList = withoutLast.length > 0 ? withoutLast.at(-1).children : context.fields;
|
|
449
|
-
var typeSchemaField = fieldList.find(function (x) {
|
|
450
|
-
return x.isTypeField;
|
|
451
|
-
});
|
|
452
|
-
return typeSchemaField ? lookupChildControl(context, [].concat(withoutLast, [typeSchemaField])) : undefined;
|
|
453
|
-
}
|
|
454
|
-
function visitControlDataArray(controls, context, cb) {
|
|
455
|
-
if (!controls) return undefined;
|
|
456
|
-
for (var _iterator2 = _createForOfIteratorHelperLoose(controls), _step2; !(_step2 = _iterator2()).done;) {
|
|
457
|
-
var c = _step2.value;
|
|
458
|
-
var r = visitControlData(c, context, cb);
|
|
459
|
-
if (r !== undefined) return r;
|
|
460
|
-
}
|
|
461
|
-
return undefined;
|
|
462
|
-
}
|
|
463
|
-
function visitControlData(definition, ctx, cb) {
|
|
464
|
-
return visitControlDefinition(definition, {
|
|
465
|
-
data: function data(def) {
|
|
466
|
-
return processData(def, def.field, def.children);
|
|
467
|
-
},
|
|
468
|
-
group: function group(d) {
|
|
469
|
-
return processData(undefined, d.compoundField, d.children);
|
|
470
|
-
},
|
|
471
|
-
action: function action() {
|
|
472
|
-
return undefined;
|
|
473
|
-
},
|
|
474
|
-
display: function display() {
|
|
475
|
-
return undefined;
|
|
476
|
-
}
|
|
477
|
-
}, function () {
|
|
478
|
-
return undefined;
|
|
479
|
-
});
|
|
480
|
-
function processData(def, fieldName, children) {
|
|
481
|
-
var fieldData = fieldName ? findField(ctx.fields, fieldName) : undefined;
|
|
482
|
-
if (!fieldData) return !fieldName ? visitControlDataArray(children, ctx, cb) : undefined;
|
|
483
|
-
var thisPath = [].concat(ctx.path, [fieldData.field]);
|
|
484
|
-
var control = ctx.data.lookupControl(thisPath);
|
|
485
|
-
if (!control) return undefined;
|
|
486
|
-
var result = def ? cb(def, fieldData, control, false) : undefined;
|
|
487
|
-
if (result !== undefined) return result;
|
|
488
|
-
var compound = isCompoundField(fieldData);
|
|
489
|
-
if (fieldData.collection) {
|
|
490
|
-
var cIndex = 0;
|
|
491
|
-
for (var _iterator3 = _createForOfIteratorHelperLoose((_control$elements = control.elements) != null ? _control$elements : []), _step3; !(_step3 = _iterator3()).done;) {
|
|
492
|
-
var _control$elements;
|
|
493
|
-
var c = _step3.value;
|
|
494
|
-
var elemResult = def ? cb(def, fieldData, c, true) : undefined;
|
|
495
|
-
if (elemResult !== undefined) return elemResult;
|
|
496
|
-
if (compound) {
|
|
497
|
-
var cfResult = visitControlDataArray(children, _extends({}, ctx, {
|
|
498
|
-
fields: fieldData.children,
|
|
499
|
-
path: [].concat(thisPath, [cIndex])
|
|
500
|
-
}), cb);
|
|
501
|
-
if (cfResult !== undefined) return cfResult;
|
|
502
|
-
}
|
|
503
|
-
cIndex++;
|
|
504
|
-
}
|
|
505
|
-
} else if (compound) {
|
|
506
|
-
return visitControlDataArray(children, _extends({}, ctx, {
|
|
507
|
-
fields: fieldData.children,
|
|
508
|
-
path: thisPath
|
|
509
|
-
}), cb);
|
|
510
|
-
}
|
|
511
|
-
return undefined;
|
|
512
|
-
}
|
|
513
|
-
}
|
|
514
|
-
function lookupChildControl(data, path, element) {
|
|
515
|
-
var fieldPath = path.map(function (x) {
|
|
516
|
-
return x.field;
|
|
517
|
-
});
|
|
518
|
-
return lookupChildControlPath(data, element == null ? fieldPath : [].concat(fieldPath, [element]));
|
|
519
|
-
}
|
|
520
|
-
function lookupChildControlPath(data, jsonPath) {
|
|
521
|
-
var childPath = [].concat(data.path, jsonPath);
|
|
522
|
-
return watchControlLookup(data.data, childPath);
|
|
523
|
-
}
|
|
524
|
-
function cleanDataForSchema(v, fields, removeIfDefault) {
|
|
525
|
-
if (!v) return v;
|
|
526
|
-
var typeField = fields.find(function (x) {
|
|
527
|
-
return x.isTypeField;
|
|
528
|
-
});
|
|
529
|
-
if (!typeField) return v;
|
|
530
|
-
var typeValue = v[typeField.field];
|
|
531
|
-
var cleanableFields = !removeIfDefault ? fields.filter(function (x) {
|
|
532
|
-
var _x$onlyForTypes$lengt, _x$onlyForTypes;
|
|
533
|
-
return isCompoundField(x) || ((_x$onlyForTypes$lengt = (_x$onlyForTypes = x.onlyForTypes) == null ? void 0 : _x$onlyForTypes.length) != null ? _x$onlyForTypes$lengt : 0) > 0;
|
|
534
|
-
}) : fields;
|
|
535
|
-
if (!cleanableFields.length) return v;
|
|
536
|
-
var out = _extends({}, v);
|
|
537
|
-
cleanableFields.forEach(function (x) {
|
|
538
|
-
var _x$onlyForTypes2;
|
|
539
|
-
var childValue = v[x.field];
|
|
540
|
-
if (((_x$onlyForTypes2 = x.onlyForTypes) == null ? void 0 : _x$onlyForTypes2.includes(typeValue)) === false || !x.notNullable && canBeNull()) {
|
|
541
|
-
delete out[x.field];
|
|
542
|
-
return;
|
|
543
|
-
}
|
|
544
|
-
if (isCompoundField(x)) {
|
|
545
|
-
var childFields = x.treeChildren ? fields : x.children;
|
|
546
|
-
if (x.collection) {
|
|
547
|
-
if (Array.isArray(childValue)) {
|
|
548
|
-
out[x.field] = childValue.map(function (cv) {
|
|
549
|
-
return cleanDataForSchema(cv, childFields, removeIfDefault);
|
|
550
|
-
});
|
|
551
|
-
}
|
|
552
|
-
} else {
|
|
553
|
-
out[x.field] = cleanDataForSchema(childValue, childFields, removeIfDefault);
|
|
554
|
-
}
|
|
555
|
-
}
|
|
556
|
-
function canBeNull() {
|
|
557
|
-
return removeIfDefault && x.defaultValue === childValue || x.collection && Array.isArray(childValue) && !childValue.length
|
|
558
|
-
//|| (x.type === FieldType.Bool && childValue === false)
|
|
559
|
-
;
|
|
560
|
-
}
|
|
561
|
-
});
|
|
562
|
-
return out;
|
|
563
|
-
}
|
|
564
|
-
function getAllReferencedClasses(c, collectExtra) {
|
|
565
|
-
var _c$children3, _collectExtra;
|
|
566
|
-
var childClasses = (_c$children3 = c.children) == null ? void 0 : _c$children3.flatMap(function (x) {
|
|
567
|
-
return getAllReferencedClasses(x, collectExtra);
|
|
568
|
-
});
|
|
569
|
-
var tc = clsx__default["default"]([c.styleClass, c.layoutClass, c.labelClass].concat((_collectExtra = collectExtra == null ? void 0 : collectExtra(c)) != null ? _collectExtra : []).map(getOverrideClass));
|
|
570
|
-
if (childClasses && !tc) return childClasses;
|
|
571
|
-
if (!tc) return [];
|
|
572
|
-
if (childClasses) return [tc].concat(childClasses);
|
|
573
|
-
return [tc];
|
|
574
|
-
}
|
|
575
|
-
function jsonPathString(jsonPath, customIndex) {
|
|
576
|
-
var out = "";
|
|
577
|
-
jsonPath.forEach(function (v, i) {
|
|
578
|
-
if (typeof v === "number") {
|
|
579
|
-
var _customIndex;
|
|
580
|
-
out += (_customIndex = customIndex == null ? void 0 : customIndex(v)) != null ? _customIndex : "[" + v + "]";
|
|
581
|
-
} else {
|
|
582
|
-
if (i > 0) out += ".";
|
|
583
|
-
out += v;
|
|
584
|
-
}
|
|
585
|
-
});
|
|
586
|
-
return out;
|
|
587
|
-
}
|
|
588
|
-
function findChildDefinition(parent, childPath) {
|
|
589
|
-
if (Array.isArray(childPath)) {
|
|
590
|
-
var base = parent;
|
|
591
|
-
childPath.forEach(function (x) {
|
|
592
|
-
return base = base.children[x];
|
|
593
|
-
});
|
|
594
|
-
return base;
|
|
595
|
-
}
|
|
596
|
-
return parent.children[childPath];
|
|
597
|
-
}
|
|
598
|
-
function getOverrideClass(className) {
|
|
599
|
-
if (className && className.startsWith("@ ")) {
|
|
600
|
-
return className.substring(2);
|
|
601
|
-
}
|
|
602
|
-
return className;
|
|
603
|
-
}
|
|
604
|
-
function rendererClass(controlClass, globalClass) {
|
|
605
|
-
var oc = getOverrideClass(controlClass);
|
|
606
|
-
if (oc === controlClass) return clsx__default["default"](controlClass, globalClass);
|
|
607
|
-
return oc ? oc : undefined;
|
|
608
|
-
}
|
|
609
|
-
function watchControlLookup(base, path) {
|
|
610
|
-
var index = 0;
|
|
611
|
-
while (index < path.length && base) {
|
|
612
|
-
var childId = path[index];
|
|
613
|
-
var c = base.current;
|
|
614
|
-
if (typeof childId === "string") {
|
|
615
|
-
var _c$fields;
|
|
616
|
-
var next = (_c$fields = c.fields) == null ? void 0 : _c$fields[childId];
|
|
617
|
-
if (!next) core.trackControlChange(base, core.ControlChange.Structure);
|
|
618
|
-
base = next;
|
|
619
|
-
} else {
|
|
620
|
-
var _c$elements;
|
|
621
|
-
base = (_c$elements = c.elements) == null ? void 0 : _c$elements[childId];
|
|
622
|
-
}
|
|
623
|
-
index++;
|
|
624
|
-
}
|
|
625
|
-
return base;
|
|
626
|
-
}
|
|
627
|
-
function makeHook(runHook, state, deps) {
|
|
628
|
-
return {
|
|
629
|
-
deps: deps,
|
|
630
|
-
state: state,
|
|
631
|
-
runHook: runHook
|
|
632
|
-
};
|
|
633
|
-
}
|
|
634
|
-
function makeHookDepString(deps, asHookDep) {
|
|
635
|
-
return deps.map(function (x) {
|
|
636
|
-
return toDepString(asHookDep(x));
|
|
637
|
-
}).join(",");
|
|
638
|
-
}
|
|
639
|
-
function useDynamicHooks(hooks) {
|
|
640
|
-
var hookEntries = Object.entries(hooks);
|
|
641
|
-
var deps = makeHookDepString(hookEntries, function (x) {
|
|
642
|
-
return x[1].deps;
|
|
643
|
-
});
|
|
644
|
-
var ref = React.useRef({});
|
|
645
|
-
var s = ref.current;
|
|
646
|
-
hookEntries.forEach(function (x) {
|
|
647
|
-
return s[x[0]] = x[1].state;
|
|
648
|
-
});
|
|
649
|
-
return React.useCallback(function (p) {
|
|
650
|
-
return Object.fromEntries(hookEntries.map(function (_ref2) {
|
|
651
|
-
var f = _ref2[0],
|
|
652
|
-
hg = _ref2[1];
|
|
653
|
-
return [f, hg.runHook(p, ref.current[f])];
|
|
654
|
-
}));
|
|
655
|
-
}, [deps]);
|
|
656
|
-
}
|
|
657
|
-
function toDepString(x) {
|
|
658
|
-
if (x === undefined) return "_";
|
|
659
|
-
if (x === null) return "~";
|
|
660
|
-
return x.toString();
|
|
661
|
-
}
|
|
662
|
-
function appendElementIndex(dataContext, elementIndex) {
|
|
663
|
-
return _extends({}, dataContext, {
|
|
664
|
-
path: [].concat(dataContext.path, [elementIndex])
|
|
665
|
-
});
|
|
666
|
-
}
|
|
667
|
-
function applyLengthRestrictions(length, min, max, minValue, maxValue) {
|
|
668
|
-
return [min == null || length > min ? minValue : undefined, max == null || length < max ? maxValue : undefined];
|
|
669
|
-
}
|
|
670
|
-
function findFieldPath(fields, fieldPath) {
|
|
671
|
-
if (!fieldPath) return undefined;
|
|
672
|
-
var fieldNames = fieldPath.split("/");
|
|
673
|
-
var foundFields = [];
|
|
674
|
-
var i = 0;
|
|
675
|
-
var currentFields = fields;
|
|
676
|
-
while (i < fieldNames.length && currentFields) {
|
|
677
|
-
var cf = fieldNames[i];
|
|
678
|
-
var nextField = findField(currentFields, cf);
|
|
679
|
-
if (!nextField) return undefined;
|
|
680
|
-
foundFields.push(nextField);
|
|
681
|
-
currentFields = isCompoundField(nextField) && !nextField.collection ? nextField.children : undefined;
|
|
682
|
-
i++;
|
|
683
|
-
}
|
|
684
|
-
return foundFields.length === fieldNames.length ? foundFields : undefined;
|
|
685
|
-
}
|
|
686
|
-
function mergeObjects(o1, o2, doMerge) {
|
|
687
|
-
if (doMerge === void 0) {
|
|
688
|
-
doMerge = function doMerge(_, v1, v2) {
|
|
689
|
-
return v1 != null ? v1 : v2;
|
|
690
|
-
};
|
|
691
|
-
}
|
|
692
|
-
if (!o1) return o2;
|
|
693
|
-
if (!o2) return o1;
|
|
694
|
-
var result = _extends({}, o1);
|
|
695
|
-
for (var key in o2) {
|
|
696
|
-
if (o2.hasOwnProperty(key)) {
|
|
697
|
-
var value1 = o1[key];
|
|
698
|
-
var value2 = o2[key];
|
|
699
|
-
result[key] = doMerge(key, value1, value2);
|
|
700
|
-
}
|
|
701
|
-
}
|
|
702
|
-
return result;
|
|
703
|
-
}
|
|
704
|
-
|
|
705
|
-
function buildSchema(def) {
|
|
706
|
-
return Object.entries(def).map(function (x) {
|
|
707
|
-
return x[1](x[0]);
|
|
708
|
-
});
|
|
709
|
-
}
|
|
710
|
-
function stringField(displayName, options) {
|
|
711
|
-
return makeScalarField(_extends({
|
|
712
|
-
type: exports.FieldType.String,
|
|
713
|
-
displayName: displayName
|
|
714
|
-
}, options));
|
|
715
|
-
}
|
|
716
|
-
function stringOptionsField(displayName) {
|
|
717
|
-
return makeScalarField({
|
|
718
|
-
type: exports.FieldType.String,
|
|
719
|
-
displayName: displayName,
|
|
720
|
-
options: [].slice.call(arguments, 1)
|
|
721
|
-
});
|
|
722
|
-
}
|
|
723
|
-
function withScalarOptions(options, v) {
|
|
724
|
-
return function (n) {
|
|
725
|
-
return _extends({}, v(n), options);
|
|
726
|
-
};
|
|
727
|
-
}
|
|
728
|
-
function makeScalarField(options) {
|
|
729
|
-
return function (n) {
|
|
730
|
-
return _extends({}, defaultScalarField(n, n), options);
|
|
731
|
-
};
|
|
732
|
-
}
|
|
733
|
-
function makeCompoundField(options) {
|
|
734
|
-
return function (n) {
|
|
735
|
-
return _extends({}, defaultCompoundField(n, n, false), options);
|
|
736
|
-
};
|
|
737
|
-
}
|
|
738
|
-
function intField(displayName, options) {
|
|
739
|
-
return makeScalarField(_extends({
|
|
740
|
-
type: exports.FieldType.Int,
|
|
741
|
-
displayName: displayName
|
|
742
|
-
}, options));
|
|
743
|
-
}
|
|
744
|
-
function doubleField(displayName, options) {
|
|
745
|
-
return makeScalarField(_extends({
|
|
746
|
-
type: exports.FieldType.Double,
|
|
747
|
-
displayName: displayName
|
|
748
|
-
}, options));
|
|
749
|
-
}
|
|
750
|
-
function dateField(displayName, options) {
|
|
751
|
-
return makeScalarField(_extends({
|
|
752
|
-
type: exports.FieldType.Date,
|
|
753
|
-
displayName: displayName
|
|
754
|
-
}, options));
|
|
755
|
-
}
|
|
756
|
-
function timeField(displayName, options) {
|
|
757
|
-
return makeScalarField(_extends({
|
|
758
|
-
type: exports.FieldType.Time,
|
|
759
|
-
displayName: displayName
|
|
760
|
-
}, options));
|
|
761
|
-
}
|
|
762
|
-
function dateTimeField(displayName, options) {
|
|
763
|
-
return makeScalarField(_extends({
|
|
764
|
-
type: exports.FieldType.DateTime,
|
|
765
|
-
displayName: displayName
|
|
766
|
-
}, options));
|
|
767
|
-
}
|
|
768
|
-
function boolField(displayName, options) {
|
|
769
|
-
return makeScalarField(_extends({
|
|
770
|
-
type: exports.FieldType.Bool,
|
|
771
|
-
displayName: displayName
|
|
772
|
-
}, options));
|
|
773
|
-
}
|
|
774
|
-
function compoundField(displayName, fields, other) {
|
|
775
|
-
return function (field) {
|
|
776
|
-
return _extends({}, defaultCompoundField(field, displayName, false), other, {
|
|
777
|
-
children: fields
|
|
778
|
-
});
|
|
779
|
-
};
|
|
780
|
-
}
|
|
781
|
-
function defaultScalarField(field, displayName) {
|
|
782
|
-
return {
|
|
783
|
-
field: field,
|
|
784
|
-
displayName: displayName,
|
|
785
|
-
type: exports.FieldType.String
|
|
786
|
-
};
|
|
787
|
-
}
|
|
788
|
-
function defaultCompoundField(field, displayName, collection) {
|
|
789
|
-
return {
|
|
790
|
-
field: field,
|
|
791
|
-
displayName: displayName,
|
|
792
|
-
type: exports.FieldType.Compound,
|
|
793
|
-
collection: collection,
|
|
794
|
-
children: []
|
|
795
|
-
};
|
|
796
|
-
}
|
|
797
|
-
function mergeField(field, mergeInto) {
|
|
798
|
-
var existing = mergeInto.find(function (x) {
|
|
799
|
-
return x.field === field.field;
|
|
800
|
-
});
|
|
801
|
-
if (existing) {
|
|
802
|
-
return mergeInto.map(function (x) {
|
|
803
|
-
return x !== existing ? x : _extends({}, x, {
|
|
804
|
-
onlyForTypes: mergeTypes(x.onlyForTypes, field.onlyForTypes)
|
|
805
|
-
});
|
|
806
|
-
});
|
|
807
|
-
}
|
|
808
|
-
return [].concat(mergeInto, [field]);
|
|
809
|
-
function mergeTypes(f, s) {
|
|
810
|
-
if (!f) return s;
|
|
811
|
-
if (!s) return f;
|
|
812
|
-
var extras = s.filter(function (x) {
|
|
813
|
-
return !f.includes(x);
|
|
814
|
-
});
|
|
815
|
-
return extras.length ? [].concat(f, extras) : f;
|
|
816
|
-
}
|
|
817
|
-
}
|
|
818
|
-
function mergeFields(fields, name, value, newFields) {
|
|
819
|
-
var withType = fields.map(function (x) {
|
|
820
|
-
return x.isTypeField ? addFieldOption(x, name, value) : x;
|
|
821
|
-
});
|
|
822
|
-
return newFields.map(function (x) {
|
|
823
|
-
return _extends({}, x, {
|
|
824
|
-
onlyForTypes: [value]
|
|
825
|
-
});
|
|
826
|
-
}).reduce(function (af, x) {
|
|
827
|
-
return mergeField(x, af);
|
|
828
|
-
}, withType);
|
|
829
|
-
}
|
|
830
|
-
function addFieldOption(typeField, name, value) {
|
|
831
|
-
var _typeField$options;
|
|
832
|
-
var options = (_typeField$options = typeField.options) != null ? _typeField$options : [];
|
|
833
|
-
if (options.some(function (x) {
|
|
834
|
-
return x.value === value;
|
|
835
|
-
})) return typeField;
|
|
836
|
-
return _extends({}, typeField, {
|
|
837
|
-
options: [].concat(options, [{
|
|
838
|
-
name: name,
|
|
839
|
-
value: value
|
|
840
|
-
}])
|
|
841
|
-
});
|
|
842
|
-
}
|
|
843
|
-
function resolveSchemas(schemaMap) {
|
|
844
|
-
var out = {};
|
|
845
|
-
function resolveSchemaType(type) {
|
|
846
|
-
if (type in out) {
|
|
847
|
-
return out[type];
|
|
848
|
-
}
|
|
849
|
-
var resolvedFields = [];
|
|
850
|
-
out[type] = resolvedFields;
|
|
851
|
-
schemaMap[type].forEach(function (x) {
|
|
852
|
-
if (isCompoundField(x) && x.schemaRef) {
|
|
853
|
-
resolvedFields.push(_extends({}, x, {
|
|
854
|
-
children: resolveSchemaType(x.schemaRef)
|
|
855
|
-
}));
|
|
856
|
-
} else {
|
|
857
|
-
resolvedFields.push(x);
|
|
858
|
-
}
|
|
859
|
-
});
|
|
860
|
-
return resolvedFields;
|
|
861
|
-
}
|
|
862
|
-
Object.keys(schemaMap).forEach(resolveSchemaType);
|
|
863
|
-
return out;
|
|
864
|
-
}
|
|
865
|
-
|
|
866
|
-
function dataControl(field, title, options) {
|
|
867
|
-
return _extends({
|
|
868
|
-
type: exports.ControlDefinitionType.Data,
|
|
869
|
-
field: field,
|
|
870
|
-
title: title
|
|
871
|
-
}, options);
|
|
872
|
-
}
|
|
873
|
-
function textDisplayControl(text, options) {
|
|
874
|
-
return _extends({
|
|
875
|
-
type: exports.ControlDefinitionType.Display,
|
|
876
|
-
displayData: {
|
|
877
|
-
type: exports.DisplayDataType.Text,
|
|
878
|
-
text: text
|
|
879
|
-
}
|
|
880
|
-
}, options);
|
|
881
|
-
}
|
|
882
|
-
function htmlDisplayControl(html, options) {
|
|
883
|
-
return _extends({
|
|
884
|
-
type: exports.ControlDefinitionType.Display,
|
|
885
|
-
displayData: {
|
|
886
|
-
type: exports.DisplayDataType.Html,
|
|
887
|
-
html: html
|
|
888
|
-
}
|
|
889
|
-
}, options);
|
|
890
|
-
}
|
|
891
|
-
function dynamicDefaultValue(expr) {
|
|
892
|
-
return {
|
|
893
|
-
type: exports.DynamicPropertyType.DefaultValue,
|
|
894
|
-
expr: expr
|
|
895
|
-
};
|
|
896
|
-
}
|
|
897
|
-
function dynamicReadonly(expr) {
|
|
898
|
-
return {
|
|
899
|
-
type: exports.DynamicPropertyType.Readonly,
|
|
900
|
-
expr: expr
|
|
901
|
-
};
|
|
902
|
-
}
|
|
903
|
-
function dynamicVisibility(expr) {
|
|
904
|
-
return {
|
|
905
|
-
type: exports.DynamicPropertyType.Visible,
|
|
906
|
-
expr: expr
|
|
907
|
-
};
|
|
908
|
-
}
|
|
909
|
-
function dynamicDisabled(expr) {
|
|
910
|
-
return {
|
|
911
|
-
type: exports.DynamicPropertyType.Disabled,
|
|
912
|
-
expr: expr
|
|
913
|
-
};
|
|
914
|
-
}
|
|
915
|
-
function fieldEqExpr(field, value) {
|
|
916
|
-
return {
|
|
917
|
-
type: exports.ExpressionType.DataMatch,
|
|
918
|
-
field: field,
|
|
919
|
-
value: value
|
|
920
|
-
};
|
|
921
|
-
}
|
|
922
|
-
function jsonataExpr(expression) {
|
|
923
|
-
return {
|
|
924
|
-
type: exports.ExpressionType.Jsonata,
|
|
925
|
-
expression: expression
|
|
926
|
-
};
|
|
927
|
-
}
|
|
928
|
-
function groupedControl(children, title, options) {
|
|
929
|
-
return _extends({
|
|
930
|
-
type: exports.ControlDefinitionType.Group,
|
|
931
|
-
children: children,
|
|
932
|
-
title: title,
|
|
933
|
-
groupOptions: {
|
|
934
|
-
type: "Standard",
|
|
935
|
-
hideTitle: !title
|
|
936
|
-
}
|
|
937
|
-
}, options);
|
|
938
|
-
}
|
|
939
|
-
function compoundControl(field, title, children, options) {
|
|
940
|
-
return _extends({
|
|
941
|
-
type: exports.ControlDefinitionType.Data,
|
|
942
|
-
field: field,
|
|
943
|
-
children: children,
|
|
944
|
-
title: title,
|
|
945
|
-
renderOptions: {
|
|
946
|
-
type: "Standard"
|
|
947
|
-
}
|
|
948
|
-
}, options);
|
|
949
|
-
}
|
|
950
|
-
function createAction(actionId, onClick, actionText) {
|
|
951
|
-
return {
|
|
952
|
-
actionId: actionId,
|
|
953
|
-
onClick: onClick,
|
|
954
|
-
actionText: actionText != null ? actionText : actionId
|
|
955
|
-
};
|
|
956
|
-
}
|
|
957
|
-
var emptyGroupDefinition = {
|
|
958
|
-
type: exports.ControlDefinitionType.Group,
|
|
959
|
-
children: [],
|
|
960
|
-
groupOptions: {
|
|
961
|
-
type: exports.GroupRenderType.Standard,
|
|
962
|
-
hideTitle: true
|
|
963
|
-
}
|
|
964
|
-
};
|
|
965
|
-
function useControlDefinitionForSchema(sf, definition) {
|
|
966
|
-
if (definition === void 0) {
|
|
967
|
-
definition = emptyGroupDefinition;
|
|
968
|
-
}
|
|
969
|
-
return React.useMemo(function () {
|
|
970
|
-
var _definition$children;
|
|
971
|
-
return _extends({}, definition, {
|
|
972
|
-
children: addMissingControls(sf, (_definition$children = definition.children) != null ? _definition$children : [])
|
|
973
|
-
});
|
|
974
|
-
}, [sf, definition]);
|
|
975
|
-
}
|
|
976
|
-
function applyExtensionToSchema(schemaMap, extension) {
|
|
977
|
-
var outMap = _extends({}, schemaMap);
|
|
978
|
-
Object.entries(extension).forEach(function (_ref) {
|
|
979
|
-
var field = _ref[0],
|
|
980
|
-
cro = _ref[1];
|
|
981
|
-
outMap[field] = (Array.isArray(cro) ? cro : [cro]).reduce(function (a, cr) {
|
|
982
|
-
var _cr$fields;
|
|
983
|
-
return mergeFields(a, cr.name, cr.value, (_cr$fields = cr.fields) != null ? _cr$fields : []);
|
|
984
|
-
}, outMap[field]);
|
|
985
|
-
});
|
|
986
|
-
return outMap;
|
|
987
|
-
}
|
|
988
|
-
function applyExtensionsToSchema(schemaMap, extensions) {
|
|
989
|
-
return resolveSchemas(extensions.reduce(applyExtensionToSchema, schemaMap));
|
|
990
|
-
}
|
|
991
|
-
|
|
992
|
-
function _finallyRethrows(body, finalizer) {
|
|
993
|
-
try {
|
|
994
|
-
var result = body();
|
|
995
|
-
} catch (e) {
|
|
996
|
-
return finalizer(true, e);
|
|
997
|
-
}
|
|
998
|
-
if (result && result.then) {
|
|
999
|
-
return result.then(finalizer.bind(null, false), finalizer.bind(null, true));
|
|
1000
|
-
}
|
|
1001
|
-
return finalizer(false, result);
|
|
1002
|
-
}
|
|
1003
|
-
function useEvalVisibilityHook(useEvalExpressionHook, definition, fieldPath) {
|
|
1004
|
-
var dynamicVisibility = useEvalDynamicBoolHook(definition, exports.DynamicPropertyType.Visible, useEvalExpressionHook);
|
|
1005
|
-
return makeDynamicPropertyHook(dynamicVisibility, function (ctx, _ref) {
|
|
1006
|
-
var fieldPath = _ref.fieldPath,
|
|
1007
|
-
definition = _ref.definition;
|
|
1008
|
-
return core.useComputed(function () {
|
|
1009
|
-
return matchesType(ctx, fieldPath) && (!fieldPath || !hideDisplayOnly(ctx, fieldPath, definition, ctx.schemaInterface));
|
|
1010
|
-
});
|
|
1011
|
-
}, {
|
|
1012
|
-
fieldPath: fieldPath,
|
|
1013
|
-
definition: definition
|
|
1014
|
-
});
|
|
1015
|
-
}
|
|
1016
|
-
function useEvalReadonlyHook(useEvalExpressionHook, definition) {
|
|
1017
|
-
var dynamicReadonly = useEvalDynamicBoolHook(definition, exports.DynamicPropertyType.Readonly, useEvalExpressionHook);
|
|
1018
|
-
return makeDynamicPropertyHook(dynamicReadonly, function (ctx, _ref2) {
|
|
1019
|
-
var definition = _ref2.definition;
|
|
1020
|
-
return core.useCalculatedControl(function () {
|
|
1021
|
-
return isControlReadonly(definition);
|
|
1022
|
-
});
|
|
1023
|
-
}, {
|
|
1024
|
-
definition: definition
|
|
1025
|
-
});
|
|
1026
|
-
}
|
|
1027
|
-
function useEvalStyleHook(useEvalExpressionHook, property, definition) {
|
|
1028
|
-
var dynamicStyle = useEvalDynamicHook(definition, property, useEvalExpressionHook);
|
|
1029
|
-
return makeDynamicPropertyHook(dynamicStyle, function () {
|
|
1030
|
-
return core.useControl(undefined);
|
|
1031
|
-
}, undefined);
|
|
1032
|
-
}
|
|
1033
|
-
function useEvalAllowedOptionsHook(useEvalExpressionHook, definition) {
|
|
1034
|
-
var dynamicAllowed = useEvalDynamicHook(definition, exports.DynamicPropertyType.AllowedOptions, useEvalExpressionHook);
|
|
1035
|
-
return makeDynamicPropertyHook(dynamicAllowed, function () {
|
|
1036
|
-
return core.useControl([]);
|
|
1037
|
-
}, undefined);
|
|
1038
|
-
}
|
|
1039
|
-
function useEvalDisabledHook(useEvalExpressionHook, definition, fieldPath, elementIndex) {
|
|
1040
|
-
var dynamicDisabled = useEvalDynamicBoolHook(definition, exports.DynamicPropertyType.Disabled, useEvalExpressionHook);
|
|
1041
|
-
return makeDynamicPropertyHook(dynamicDisabled, function (ctx, _ref3) {
|
|
1042
|
-
var fieldPath = _ref3.fieldPath;
|
|
1043
|
-
return core.useComputed(function () {
|
|
1044
|
-
var _dataControl$meta$nul;
|
|
1045
|
-
var dataControl = fieldPath && lookupChildControl(ctx, fieldPath, elementIndex);
|
|
1046
|
-
var setToNull = (dataControl == null || (_dataControl$meta$nul = dataControl.meta["nullControl"]) == null ? void 0 : _dataControl$meta$nul.value) === false;
|
|
1047
|
-
return setToNull || isControlDisabled(definition);
|
|
1048
|
-
});
|
|
1049
|
-
}, {
|
|
1050
|
-
fieldPath: fieldPath,
|
|
1051
|
-
elementIndex: elementIndex
|
|
1052
|
-
});
|
|
1053
|
-
}
|
|
1054
|
-
function useEvalDisplayHook(useEvalExpressionHook, definition) {
|
|
1055
|
-
return useEvalDynamicHook(definition, exports.DynamicPropertyType.Display, useEvalExpressionHook);
|
|
1056
|
-
}
|
|
1057
|
-
function useEvalDefaultValueHook(useEvalExpressionHook, definition, schemaField, element) {
|
|
1058
|
-
var dynamicValue = useEvalDynamicHook(definition, exports.DynamicPropertyType.DefaultValue, useEvalExpressionHook);
|
|
1059
|
-
return makeDynamicPropertyHook(dynamicValue, function (ctx, _ref4) {
|
|
1060
|
-
var definition = _ref4.definition,
|
|
1061
|
-
schemaField = _ref4.schemaField;
|
|
1062
|
-
return core.useComputed(calcDefault);
|
|
1063
|
-
function calcDefault() {
|
|
1064
|
-
var _ref5 = isDataControlDefinition(definition) ? [definition.required, definition.defaultValue] : [false, undefined],
|
|
1065
|
-
required = _ref5[0],
|
|
1066
|
-
dcv = _ref5[1];
|
|
1067
|
-
return dcv != null ? dcv : schemaField ? element ? elementValueForField(schemaField) : defaultValueForField(schemaField, required, true) : undefined;
|
|
1068
|
-
}
|
|
1069
|
-
}, {
|
|
1070
|
-
definition: definition,
|
|
1071
|
-
schemaField: schemaField
|
|
1072
|
-
});
|
|
1073
|
-
}
|
|
1074
|
-
function useDataExpression(fvExpr, fields, data, coerce) {
|
|
1075
|
-
if (coerce === void 0) {
|
|
1076
|
-
coerce = function coerce(x) {
|
|
1077
|
-
return x;
|
|
1078
|
-
};
|
|
1079
|
-
}
|
|
1080
|
-
var refField = findFieldPath(fields, fvExpr.field);
|
|
1081
|
-
var otherField = refField ? lookupChildControl(data, refField) : undefined;
|
|
1082
|
-
return core.useCalculatedControl(function () {
|
|
1083
|
-
return coerce(otherField == null ? void 0 : otherField.value);
|
|
1084
|
-
});
|
|
1085
|
-
}
|
|
1086
|
-
function useDataMatchExpression(fvExpr, fields, data, coerce) {
|
|
1087
|
-
if (coerce === void 0) {
|
|
1088
|
-
coerce = function coerce(x) {
|
|
1089
|
-
return x;
|
|
1090
|
-
};
|
|
1091
|
-
}
|
|
1092
|
-
var refField = findFieldPath(fields, fvExpr.field);
|
|
1093
|
-
var otherField = refField ? lookupChildControl(data, refField) : undefined;
|
|
1094
|
-
return core.useCalculatedControl(function () {
|
|
1095
|
-
var fv = otherField == null ? void 0 : otherField.value;
|
|
1096
|
-
return coerce(Array.isArray(fv) ? fv.includes(fvExpr.value) : fv === fvExpr.value);
|
|
1097
|
-
});
|
|
1098
|
-
}
|
|
1099
|
-
function useNotEmptyExpression(fvExpr, fields, schemaInterface, data, coerce) {
|
|
1100
|
-
if (coerce === void 0) {
|
|
1101
|
-
coerce = function coerce(x) {
|
|
1102
|
-
return x;
|
|
1103
|
-
};
|
|
1104
|
-
}
|
|
1105
|
-
var refField = findFieldPath(fields, fvExpr.field);
|
|
1106
|
-
var otherField = refField ? lookupChildControl(data, refField) : undefined;
|
|
1107
|
-
return core.useCalculatedControl(function () {
|
|
1108
|
-
var fv = otherField == null ? void 0 : otherField.value;
|
|
1109
|
-
var field = refField == null ? void 0 : refField.at(-1);
|
|
1110
|
-
return coerce(field && !schemaInterface.isEmptyValue(field, fv));
|
|
1111
|
-
});
|
|
1112
|
-
}
|
|
1113
|
-
function defaultEvalHooks(expr, context, coerce) {
|
|
1114
|
-
switch (expr.type) {
|
|
1115
|
-
case exports.ExpressionType.Jsonata:
|
|
1116
|
-
return useJsonataExpression(expr.expression, context, undefined, coerce);
|
|
1117
|
-
case exports.ExpressionType.UUID:
|
|
1118
|
-
return useUuidExpression(coerce);
|
|
1119
|
-
case exports.ExpressionType.Data:
|
|
1120
|
-
return useDataExpression(expr, context.fields, context, coerce);
|
|
1121
|
-
case exports.ExpressionType.DataMatch:
|
|
1122
|
-
return useDataMatchExpression(expr, context.fields, context, coerce);
|
|
1123
|
-
case exports.ExpressionType.NotEmpty:
|
|
1124
|
-
return useNotEmptyExpression(expr, context.fields, context.schemaInterface, context, coerce);
|
|
1125
|
-
default:
|
|
1126
|
-
return core.useControl(undefined);
|
|
1127
|
-
}
|
|
1128
|
-
}
|
|
1129
|
-
var defaultUseEvalExpressionHook = makeEvalExpressionHook(defaultEvalHooks);
|
|
1130
|
-
function makeEvalExpressionHook(f) {
|
|
1131
|
-
return function (expr, coerce) {
|
|
1132
|
-
return {
|
|
1133
|
-
deps: expr != null ? expr.type : "!",
|
|
1134
|
-
state: expr,
|
|
1135
|
-
runHook: function runHook(ctx, state) {
|
|
1136
|
-
return state ? f(state, ctx, coerce) : undefined;
|
|
1137
|
-
}
|
|
1138
|
-
};
|
|
1139
|
-
};
|
|
1140
|
-
}
|
|
1141
|
-
function useEvalDynamicBoolHook(definition, type, useEvalExpressionHook) {
|
|
1142
|
-
return useEvalDynamicHook(definition, type, useEvalExpressionHook, function (x) {
|
|
1143
|
-
return Boolean(x);
|
|
1144
|
-
});
|
|
1145
|
-
}
|
|
1146
|
-
function useEvalDynamicHook(definition, type, useEvalExpressionHook, coerce) {
|
|
1147
|
-
var _definition$dynamic;
|
|
1148
|
-
if (coerce === void 0) {
|
|
1149
|
-
coerce = function coerce(x) {
|
|
1150
|
-
return x;
|
|
1151
|
-
};
|
|
1152
|
-
}
|
|
1153
|
-
var expression = (_definition$dynamic = definition.dynamic) == null ? void 0 : _definition$dynamic.find(function (x) {
|
|
1154
|
-
return x.type === type;
|
|
1155
|
-
});
|
|
1156
|
-
return useEvalExpressionHook(expression == null ? void 0 : expression.expr, coerce);
|
|
1157
|
-
}
|
|
1158
|
-
function matchesType(context, fieldPath) {
|
|
1159
|
-
var types = fieldPath ? fieldPath[fieldPath.length - 1].onlyForTypes : undefined;
|
|
1160
|
-
if (types == null || types.length === 0) return true;
|
|
1161
|
-
var typeField = getTypeField(context, fieldPath);
|
|
1162
|
-
return typeField && types.includes(typeField.value);
|
|
1163
|
-
}
|
|
1164
|
-
function hideDisplayOnly(context, fieldPath, definition, schemaInterface) {
|
|
1165
|
-
var _lookupChildControl;
|
|
1166
|
-
var displayOptions = getDisplayOnlyOptions(definition);
|
|
1167
|
-
return displayOptions && !displayOptions.emptyText && schemaInterface.isEmptyValue(fieldPath.at(-1), (_lookupChildControl = lookupChildControl(context, fieldPath)) == null ? void 0 : _lookupChildControl.value);
|
|
1168
|
-
}
|
|
1169
|
-
function useUuidExpression(coerce) {
|
|
1170
|
-
if (coerce === void 0) {
|
|
1171
|
-
coerce = function coerce(x) {
|
|
1172
|
-
return x;
|
|
1173
|
-
};
|
|
1174
|
-
}
|
|
1175
|
-
return core.useControl(function () {
|
|
1176
|
-
return coerce(uuid.v4());
|
|
1177
|
-
});
|
|
1178
|
-
}
|
|
1179
|
-
function useJsonataExpression(jExpr, dataContext, bindings, coerce) {
|
|
1180
|
-
if (coerce === void 0) {
|
|
1181
|
-
coerce = function coerce(x) {
|
|
1182
|
-
return x;
|
|
1183
|
-
};
|
|
1184
|
-
}
|
|
1185
|
-
var pathString = jsonPathString(dataContext.path, function (x) {
|
|
1186
|
-
return "#$i[" + x + "]";
|
|
1187
|
-
});
|
|
1188
|
-
var fullExpr = pathString ? pathString + ".(" + jExpr + ")" : jExpr;
|
|
1189
|
-
var compiledExpr = React.useMemo(function () {
|
|
1190
|
-
try {
|
|
1191
|
-
return jsonata__default["default"](fullExpr);
|
|
1192
|
-
} catch (e) {
|
|
1193
|
-
console.error(e);
|
|
1194
|
-
return jsonata__default["default"]("null");
|
|
1195
|
-
}
|
|
1196
|
-
}, [fullExpr]);
|
|
1197
|
-
var control = core.useControl();
|
|
1198
|
-
var listenerRef = React.useRef();
|
|
1199
|
-
var updateRef = React.useRef(0);
|
|
1200
|
-
var _useRefState = core.useRefState(function () {
|
|
1201
|
-
return core.makeChangeTracker(function () {
|
|
1202
|
-
var l = listenerRef.current;
|
|
1203
|
-
if (l) {
|
|
1204
|
-
listenerRef.current = undefined;
|
|
1205
|
-
core.addAfterChangesCallback(function () {
|
|
1206
|
-
listenerRef.current = l;
|
|
1207
|
-
l();
|
|
1208
|
-
});
|
|
1209
|
-
}
|
|
1210
|
-
});
|
|
1211
|
-
}),
|
|
1212
|
-
ref = _useRefState[0];
|
|
1213
|
-
React.useEffect(function () {
|
|
1214
|
-
var apply = function apply() {
|
|
1215
|
-
try {
|
|
1216
|
-
var _ref$current = ref.current,
|
|
1217
|
-
collect = _ref$current[0],
|
|
1218
|
-
updateSubscriptions = _ref$current[1];
|
|
1219
|
-
var _temp = _finallyRethrows(function () {
|
|
1220
|
-
updateRef.current++;
|
|
1221
|
-
var bindingData = bindings ? core.collectChanges(collect, bindings) : undefined;
|
|
1222
|
-
var _coerce = coerce;
|
|
1223
|
-
return Promise.resolve(compiledExpr.evaluate(core.trackedValue(dataContext.data, collect), bindingData)).then(function (_compiledExpr$evaluat) {
|
|
1224
|
-
control.value = _coerce(_compiledExpr$evaluat);
|
|
1225
|
-
});
|
|
1226
|
-
}, function (_wasThrown, _result) {
|
|
1227
|
-
if (! --updateRef.current) updateSubscriptions();
|
|
1228
|
-
if (_wasThrown) throw _result;
|
|
1229
|
-
return _result;
|
|
1230
|
-
});
|
|
1231
|
-
return Promise.resolve(_temp && _temp.then ? _temp.then(function () {}) : void 0);
|
|
1232
|
-
} catch (e) {
|
|
1233
|
-
return Promise.reject(e);
|
|
1234
|
-
}
|
|
1235
|
-
};
|
|
1236
|
-
listenerRef.current = apply;
|
|
1237
|
-
apply();
|
|
1238
|
-
return function () {
|
|
1239
|
-
return ref.current[1](true);
|
|
1240
|
-
};
|
|
1241
|
-
}, [compiledExpr]);
|
|
1242
|
-
return control;
|
|
1243
|
-
}
|
|
1244
|
-
function useEvalActionHook(useExpr, definition) {
|
|
1245
|
-
var dynamicValue = useEvalDynamicHook(definition, exports.DynamicPropertyType.ActionData, useExpr);
|
|
1246
|
-
return makeDynamicPropertyHook(dynamicValue, function () {
|
|
1247
|
-
return core.useControl(null);
|
|
1248
|
-
}, undefined);
|
|
1249
|
-
}
|
|
1250
|
-
function useEvalLabelText(useExpr, definition) {
|
|
1251
|
-
var dynamicValue = useEvalDynamicHook(definition, exports.DynamicPropertyType.Label, useExpr);
|
|
1252
|
-
return makeDynamicPropertyHook(dynamicValue, function () {
|
|
1253
|
-
return core.useControl(null);
|
|
1254
|
-
}, undefined);
|
|
1255
|
-
}
|
|
1256
|
-
function makeDynamicPropertyHook(dynamicValue, makeDefault, state, deps) {
|
|
1257
|
-
return {
|
|
1258
|
-
deps: deps === undefined ? dynamicValue.deps : [deps, dynamicValue.deps].map(toDepString).join(),
|
|
1259
|
-
runHook: function runHook(ctx, s) {
|
|
1260
|
-
var _dynamicValue$runHook;
|
|
1261
|
-
return (_dynamicValue$runHook = dynamicValue.runHook(ctx, s[0])) != null ? _dynamicValue$runHook : makeDefault(ctx, s[1]);
|
|
1262
|
-
},
|
|
1263
|
-
state: [dynamicValue.state, state]
|
|
1264
|
-
};
|
|
1265
|
-
}
|
|
1266
|
-
|
|
1267
|
-
function useMakeValidationHook(definition, field, useValidatorFor) {
|
|
1268
|
-
var _dd$validators;
|
|
1269
|
-
if (useValidatorFor === void 0) {
|
|
1270
|
-
useValidatorFor = useDefaultValidator;
|
|
1271
|
-
}
|
|
1272
|
-
var dd = field && isDataControlDefinition(definition) ? definition : undefined;
|
|
1273
|
-
var refData = useUpdatedRef({
|
|
1274
|
-
dd: dd,
|
|
1275
|
-
field: field,
|
|
1276
|
-
useValidatorFor: useValidatorFor
|
|
1277
|
-
});
|
|
1278
|
-
var depString = makeHookDepString((_dd$validators = dd == null ? void 0 : dd.validators) != null ? _dd$validators : [], function (x) {
|
|
1279
|
-
return x.type;
|
|
1280
|
-
});
|
|
1281
|
-
return React.useCallback(function (ctx) {
|
|
1282
|
-
var _dd$validators2;
|
|
1283
|
-
var _refData$current = refData.current,
|
|
1284
|
-
dd = _refData$current.dd,
|
|
1285
|
-
field = _refData$current.field;
|
|
1286
|
-
if (!dd || !field) return;
|
|
1287
|
-
var control = ctx.control,
|
|
1288
|
-
hiddenControl = ctx.hiddenControl,
|
|
1289
|
-
schemaInterface = ctx.dataContext.schemaInterface;
|
|
1290
|
-
core.useValueChangeEffect(control, function () {
|
|
1291
|
-
return control.setError("default", "");
|
|
1292
|
-
});
|
|
1293
|
-
core.useValidator(control, function (v) {
|
|
1294
|
-
return !hiddenControl.value && dd.required && schemaInterface.isEmptyValue(field, v) ? schemaInterface.validationMessageText(field, exports.ValidationMessageType.NotEmpty, false, true) : null;
|
|
1295
|
-
}, "required", undefined, [dd.required]);
|
|
1296
|
-
(_dd$validators2 = dd.validators) == null || _dd$validators2.forEach(function (v, i) {
|
|
1297
|
-
return useValidatorFor(v, _extends({}, ctx, {
|
|
1298
|
-
index: i,
|
|
1299
|
-
field: field,
|
|
1300
|
-
definition: dd
|
|
1301
|
-
}));
|
|
1302
|
-
});
|
|
1303
|
-
}, [!!dd, depString, useValidatorFor]);
|
|
1304
|
-
}
|
|
1305
|
-
function useDefaultValidator(validator, ctx) {
|
|
1306
|
-
switch (validator.type) {
|
|
1307
|
-
case exports.ValidatorType.Length:
|
|
1308
|
-
useLengthValidator(validator, ctx);
|
|
1309
|
-
break;
|
|
1310
|
-
case exports.ValidatorType.Jsonata:
|
|
1311
|
-
useJsonataValidator(validator, ctx);
|
|
1312
|
-
break;
|
|
1313
|
-
case exports.ValidatorType.Date:
|
|
1314
|
-
useDateValidator(validator, ctx);
|
|
1315
|
-
break;
|
|
1316
|
-
}
|
|
1317
|
-
}
|
|
1318
|
-
function useJsonataValidator(validator, ctx) {
|
|
1319
|
-
var errorMsg = useJsonataExpression(validator.expression, ctx.dataContext, undefined, function (v) {
|
|
1320
|
-
return v == null ? null : typeof v === "string" ? v : JSON.stringify(v);
|
|
1321
|
-
});
|
|
1322
|
-
core.useValidator(ctx.control, function () {
|
|
1323
|
-
return !ctx.hiddenControl.value ? errorMsg.value : null;
|
|
1324
|
-
}, "jsonata" + ctx.index);
|
|
1325
|
-
}
|
|
1326
|
-
function useLengthValidator(lv, ctx) {
|
|
1327
|
-
var control = ctx.control,
|
|
1328
|
-
schemaInterface = ctx.dataContext.schemaInterface,
|
|
1329
|
-
hiddenControl = ctx.hiddenControl,
|
|
1330
|
-
field = ctx.field;
|
|
1331
|
-
core.useValidator(control, function (v) {
|
|
1332
|
-
var len = schemaInterface.controlLength(field, control);
|
|
1333
|
-
var hidden = hiddenControl.value;
|
|
1334
|
-
if (hidden) {
|
|
1335
|
-
return undefined;
|
|
1336
|
-
}
|
|
1337
|
-
if (lv.min != null && len < lv.min) {
|
|
1338
|
-
if (field != null && field.collection) {
|
|
1339
|
-
control.setValue(function (v) {
|
|
1340
|
-
return Array.isArray(v) ? v.concat(Array.from({
|
|
1341
|
-
length: lv.min - v.length
|
|
1342
|
-
})) : Array.from({
|
|
1343
|
-
length: lv.min
|
|
1344
|
-
});
|
|
1345
|
-
});
|
|
1346
|
-
} else {
|
|
1347
|
-
return schemaInterface.validationMessageText(field, exports.ValidationMessageType.MinLength, len, lv.min);
|
|
1348
|
-
}
|
|
1349
|
-
} else if (lv.max != null && len > lv.max) {
|
|
1350
|
-
return schemaInterface.validationMessageText(field, exports.ValidationMessageType.MaxLength, len, lv.max);
|
|
1351
|
-
}
|
|
1352
|
-
return undefined;
|
|
1353
|
-
}, "length" + ctx.index);
|
|
1354
|
-
}
|
|
1355
|
-
function useDateValidator(dv, ctx) {
|
|
1356
|
-
var control = ctx.control,
|
|
1357
|
-
field = ctx.field,
|
|
1358
|
-
index = ctx.index,
|
|
1359
|
-
schemaInterface = ctx.dataContext.schemaInterface;
|
|
1360
|
-
var comparisonDate;
|
|
1361
|
-
if (dv.fixedDate) {
|
|
1362
|
-
comparisonDate = schemaInterface.parseToMillis(field, dv.fixedDate);
|
|
1363
|
-
} else {
|
|
1364
|
-
var nowDate = new Date();
|
|
1365
|
-
comparisonDate = Date.UTC(nowDate.getFullYear(), nowDate.getMonth(), nowDate.getDate());
|
|
1366
|
-
if (dv.daysFromCurrent) {
|
|
1367
|
-
comparisonDate += dv.daysFromCurrent * 86400000;
|
|
1368
|
-
}
|
|
1369
|
-
}
|
|
1370
|
-
core.useValidator(control, function (v) {
|
|
1371
|
-
if (v) {
|
|
1372
|
-
var selDate = schemaInterface.parseToMillis(field, v);
|
|
1373
|
-
var notAfter = dv.comparison === exports.DateComparison.NotAfter;
|
|
1374
|
-
if (notAfter ? selDate > comparisonDate : selDate < comparisonDate) {
|
|
1375
|
-
return schemaInterface.validationMessageText(field, notAfter ? exports.ValidationMessageType.NotAfterDate : exports.ValidationMessageType.NotBeforeDate, selDate, comparisonDate);
|
|
1376
|
-
}
|
|
1377
|
-
}
|
|
1378
|
-
return null;
|
|
1379
|
-
}, "date" + index);
|
|
1380
|
-
}
|
|
1381
|
-
|
|
1382
|
-
function cc(n) {
|
|
1383
|
-
return n ? n : undefined;
|
|
1384
|
-
}
|
|
1385
|
-
|
|
1386
|
-
var DefaultSchemaInterface = /*#__PURE__*/function () {
|
|
1387
|
-
function DefaultSchemaInterface(boolStrings) {
|
|
1388
|
-
if (boolStrings === void 0) {
|
|
1389
|
-
boolStrings = ["No", "Yes"];
|
|
1390
|
-
}
|
|
1391
|
-
this.boolStrings = void 0;
|
|
1392
|
-
this.boolStrings = boolStrings;
|
|
1393
|
-
}
|
|
1394
|
-
var _proto = DefaultSchemaInterface.prototype;
|
|
1395
|
-
_proto.parseToMillis = function parseToMillis(field, v) {
|
|
1396
|
-
return Date.parse(v);
|
|
1397
|
-
};
|
|
1398
|
-
_proto.validationMessageText = function validationMessageText(field, messageType, actual, expected) {
|
|
1399
|
-
switch (messageType) {
|
|
1400
|
-
case exports.ValidationMessageType.NotEmpty:
|
|
1401
|
-
return "Please enter a value";
|
|
1402
|
-
case exports.ValidationMessageType.MinLength:
|
|
1403
|
-
return "Length must be at least " + expected;
|
|
1404
|
-
case exports.ValidationMessageType.MaxLength:
|
|
1405
|
-
return "Length must be less than " + expected;
|
|
1406
|
-
case exports.ValidationMessageType.NotBeforeDate:
|
|
1407
|
-
return "Date must not be before " + new Date(expected).toDateString();
|
|
1408
|
-
case exports.ValidationMessageType.NotAfterDate:
|
|
1409
|
-
return "Date must not be after " + new Date(expected).toDateString();
|
|
1410
|
-
default:
|
|
1411
|
-
return "Unknown error";
|
|
1412
|
-
}
|
|
1413
|
-
};
|
|
1414
|
-
_proto.getOptions = function getOptions(_ref) {
|
|
1415
|
-
var options = _ref.options;
|
|
1416
|
-
return options && options.length > 0 ? options : null;
|
|
1417
|
-
};
|
|
1418
|
-
_proto.isEmptyValue = function isEmptyValue(f, value) {
|
|
1419
|
-
if (f.collection) return Array.isArray(value) ? value.length === 0 : value == null;
|
|
1420
|
-
switch (f.type) {
|
|
1421
|
-
case exports.FieldType.String:
|
|
1422
|
-
return !value;
|
|
1423
|
-
default:
|
|
1424
|
-
return value == null;
|
|
1425
|
-
}
|
|
1426
|
-
};
|
|
1427
|
-
_proto.textValue = function textValue(field, value, element) {
|
|
1428
|
-
switch (field.type) {
|
|
1429
|
-
case exports.FieldType.DateTime:
|
|
1430
|
-
return new Date(value).toLocaleDateString();
|
|
1431
|
-
case exports.FieldType.Date:
|
|
1432
|
-
return new Date(value).toLocaleDateString();
|
|
1433
|
-
case exports.FieldType.Bool:
|
|
1434
|
-
return this.boolStrings[value ? 1 : 0];
|
|
1435
|
-
default:
|
|
1436
|
-
return value != null ? value.toString() : undefined;
|
|
1437
|
-
}
|
|
1438
|
-
};
|
|
1439
|
-
_proto.controlLength = function controlLength(f, control) {
|
|
1440
|
-
var _control$elements$len, _control$elements;
|
|
1441
|
-
return f.collection ? (_control$elements$len = (_control$elements = control.elements) == null ? void 0 : _control$elements.length) != null ? _control$elements$len : 0 : this.valueLength(f, control.value);
|
|
1442
|
-
};
|
|
1443
|
-
_proto.valueLength = function valueLength(field, value) {
|
|
1444
|
-
var _ref2;
|
|
1445
|
-
return (_ref2 = value && (value == null ? void 0 : value.length)) != null ? _ref2 : 0;
|
|
1446
|
-
};
|
|
1447
|
-
return DefaultSchemaInterface;
|
|
1448
|
-
}();
|
|
1449
|
-
var defaultSchemaInterface = new DefaultSchemaInterface();
|
|
1450
|
-
|
|
1451
|
-
var _excluded$4 = ["definition", "field", "control", "formOptions", "style", "allowedOptions", "schemaInterface"];
|
|
1452
|
-
var AppendAdornmentPriority = 0;
|
|
1453
|
-
var WrapAdornmentPriority = 1000;
|
|
1454
|
-
exports.LabelType = void 0;
|
|
1455
|
-
(function (LabelType) {
|
|
1456
|
-
LabelType[LabelType["Control"] = 0] = "Control";
|
|
1457
|
-
LabelType[LabelType["Group"] = 1] = "Group";
|
|
1458
|
-
LabelType[LabelType["Text"] = 2] = "Text";
|
|
1459
|
-
})(exports.LabelType || (exports.LabelType = {}));
|
|
1460
|
-
function useControlRenderer(definition, fields, renderer, options) {
|
|
1461
|
-
var _options$useDataHook, _options$schemaInterf, _options$useEvalExpre;
|
|
1462
|
-
if (options === void 0) {
|
|
1463
|
-
options = {};
|
|
1464
|
-
}
|
|
1465
|
-
var dataProps = (_options$useDataHook = options.useDataHook == null ? void 0 : options.useDataHook(definition)) != null ? _options$useDataHook : defaultDataProps;
|
|
1466
|
-
var elementIndex = options.elementIndex;
|
|
1467
|
-
var schemaInterface = (_options$schemaInterf = options.schemaInterface) != null ? _options$schemaInterf : defaultSchemaInterface;
|
|
1468
|
-
var useExpr = (_options$useEvalExpre = options.useEvalExpressionHook) != null ? _options$useEvalExpre : defaultUseEvalExpressionHook;
|
|
1469
|
-
var fieldPath = lookupSchemaField(definition, fields);
|
|
1470
|
-
var schemaField = fieldPath == null ? void 0 : fieldPath.at(-1);
|
|
1471
|
-
var useValidation = useMakeValidationHook(definition, schemaField, options.useValidationHook);
|
|
1472
|
-
var dynamicHooks = useDynamicHooks({
|
|
1473
|
-
defaultValueControl: useEvalDefaultValueHook(useExpr, definition, schemaField, elementIndex != null),
|
|
1474
|
-
visibleControl: useEvalVisibilityHook(useExpr, definition, fieldPath),
|
|
1475
|
-
readonlyControl: useEvalReadonlyHook(useExpr, definition),
|
|
1476
|
-
disabledControl: useEvalDisabledHook(useExpr, definition, fieldPath, elementIndex),
|
|
1477
|
-
allowedOptions: useEvalAllowedOptionsHook(useExpr, definition),
|
|
1478
|
-
labelText: useEvalLabelText(useExpr, definition),
|
|
1479
|
-
actionData: useEvalActionHook(useExpr, definition),
|
|
1480
|
-
customStyle: useEvalStyleHook(useExpr, exports.DynamicPropertyType.Style, definition),
|
|
1481
|
-
layoutStyle: useEvalStyleHook(useExpr, exports.DynamicPropertyType.LayoutStyle, definition),
|
|
1482
|
-
displayControl: useEvalDisplayHook(useExpr, definition)
|
|
1483
|
-
});
|
|
1484
|
-
var r = useUpdatedRef({
|
|
1485
|
-
options: options,
|
|
1486
|
-
definition: definition,
|
|
1487
|
-
fields: fields,
|
|
1488
|
-
fieldPath: fieldPath,
|
|
1489
|
-
elementIndex: elementIndex
|
|
1490
|
-
});
|
|
1491
|
-
var Component = React.useCallback(function (_ref) {
|
|
1492
|
-
var rootControl = _ref.control,
|
|
1493
|
-
_ref$parentPath = _ref.parentPath,
|
|
1494
|
-
parentPath = _ref$parentPath === void 0 ? [] : _ref$parentPath;
|
|
1495
|
-
var stopTracking = core.useComponentTracking();
|
|
1496
|
-
try {
|
|
1497
|
-
var _definition$adornment, _definition$adornment2;
|
|
1498
|
-
var _r$current = r.current,
|
|
1499
|
-
c = _r$current.definition,
|
|
1500
|
-
_options = _r$current.options,
|
|
1501
|
-
_fields = _r$current.fields,
|
|
1502
|
-
_fieldPath = _r$current.fieldPath,
|
|
1503
|
-
_elementIndex = _r$current.elementIndex;
|
|
1504
|
-
var _schemaField = _fieldPath == null ? void 0 : _fieldPath.at(-1);
|
|
1505
|
-
var parentDataContext = {
|
|
1506
|
-
fields: _fields,
|
|
1507
|
-
schemaInterface: schemaInterface,
|
|
1508
|
-
data: rootControl,
|
|
1509
|
-
path: parentPath
|
|
1510
|
-
};
|
|
1511
|
-
var _dynamicHooks = dynamicHooks(parentDataContext),
|
|
1512
|
-
readonlyControl = _dynamicHooks.readonlyControl,
|
|
1513
|
-
disabledControl = _dynamicHooks.disabledControl,
|
|
1514
|
-
visibleControl = _dynamicHooks.visibleControl,
|
|
1515
|
-
displayControl = _dynamicHooks.displayControl,
|
|
1516
|
-
layoutStyle = _dynamicHooks.layoutStyle,
|
|
1517
|
-
labelText = _dynamicHooks.labelText,
|
|
1518
|
-
customStyle = _dynamicHooks.customStyle,
|
|
1519
|
-
allowedOptions = _dynamicHooks.allowedOptions,
|
|
1520
|
-
defaultValueControl = _dynamicHooks.defaultValueControl,
|
|
1521
|
-
actionData = _dynamicHooks.actionData;
|
|
1522
|
-
var visible = visibleControl.current.value;
|
|
1523
|
-
var visibility = core.useControl(function () {
|
|
1524
|
-
return visible != null ? {
|
|
1525
|
-
visible: visible,
|
|
1526
|
-
showing: visible
|
|
1527
|
-
} : undefined;
|
|
1528
|
-
});
|
|
1529
|
-
core.useControlEffect(function () {
|
|
1530
|
-
return visibleControl.value;
|
|
1531
|
-
}, function (visible) {
|
|
1532
|
-
if (visible != null) visibility.setValue(function (ex) {
|
|
1533
|
-
return {
|
|
1534
|
-
visible: visible,
|
|
1535
|
-
showing: ex ? ex.showing : visible
|
|
1536
|
-
};
|
|
1537
|
-
});
|
|
1538
|
-
});
|
|
1539
|
-
var _getControlData = getControlData(_fieldPath, parentDataContext, _elementIndex),
|
|
1540
|
-
parentControl = _getControlData[0],
|
|
1541
|
-
control = _getControlData[1],
|
|
1542
|
-
controlDataContext = _getControlData[2];
|
|
1543
|
-
core.useControlEffect(function () {
|
|
1544
|
-
var _definition$renderOpt;
|
|
1545
|
-
return [visibility.value, defaultValueControl.value, control == null ? void 0 : control.isNull, isDataControlDefinition(definition) && definition.dontClearHidden, isDataControlDefinition(definition) && ((_definition$renderOpt = definition.renderOptions) == null ? void 0 : _definition$renderOpt.type) == exports.DataRenderType.NullToggle, parentControl.isNull, _options.hidden, readonlyControl.value];
|
|
1546
|
-
}, function (_ref2) {
|
|
1547
|
-
var vc = _ref2[0],
|
|
1548
|
-
dv = _ref2[1],
|
|
1549
|
-
_ = _ref2[2],
|
|
1550
|
-
dontClear = _ref2[3],
|
|
1551
|
-
dontDefault = _ref2[4],
|
|
1552
|
-
parentNull = _ref2[5],
|
|
1553
|
-
hidden = _ref2[6],
|
|
1554
|
-
ro = _ref2[7];
|
|
1555
|
-
if (!ro) {
|
|
1556
|
-
if (control) {
|
|
1557
|
-
if (vc && vc.visible === vc.showing) {
|
|
1558
|
-
if (hidden || !vc.visible) {
|
|
1559
|
-
control.setValue(function (x) {
|
|
1560
|
-
return _options.clearHidden && !dontClear ? undefined : x == null && dontClear && !dontDefault ? dv : x;
|
|
1561
|
-
});
|
|
1562
|
-
} else if (!dontDefault) control.setValue(function (x) {
|
|
1563
|
-
return x != null ? x : dv;
|
|
1564
|
-
});
|
|
1565
|
-
}
|
|
1566
|
-
} else if (parentNull) {
|
|
1567
|
-
parentControl.setValue(function (x) {
|
|
1568
|
-
return x != null ? x : {};
|
|
1569
|
-
});
|
|
1570
|
-
}
|
|
1571
|
-
}
|
|
1572
|
-
}, true);
|
|
1573
|
-
var myOptionsControl = core.useCalculatedControl(function () {
|
|
1574
|
-
var _visibility$fields;
|
|
1575
|
-
return {
|
|
1576
|
-
hidden: _options.hidden || !((_visibility$fields = visibility.fields) != null && _visibility$fields.showing.value),
|
|
1577
|
-
readonly: _options.readonly || readonlyControl.value,
|
|
1578
|
-
disabled: _options.disabled || disabledControl.value
|
|
1579
|
-
};
|
|
1580
|
-
});
|
|
1581
|
-
var myOptions = core.trackedValue(myOptionsControl);
|
|
1582
|
-
useValidation({
|
|
1583
|
-
control: control != null ? control : core.newControl(null),
|
|
1584
|
-
hiddenControl: myOptionsControl.fields.hidden,
|
|
1585
|
-
dataContext: parentDataContext
|
|
1586
|
-
});
|
|
1587
|
-
var childOptions = _extends({}, _options, myOptions, {
|
|
1588
|
-
elementIndex: undefined
|
|
1589
|
-
});
|
|
1590
|
-
React.useEffect(function () {
|
|
1591
|
-
if (control && typeof myOptions.disabled === "boolean" && control.disabled != myOptions.disabled) control.disabled = myOptions.disabled;
|
|
1592
|
-
}, [control, myOptions.disabled]);
|
|
1593
|
-
if (parentControl.isNull) return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null);
|
|
1594
|
-
var adornments = (_definition$adornment = (_definition$adornment2 = definition.adornments) == null ? void 0 : _definition$adornment2.map(function (x) {
|
|
1595
|
-
return renderer.renderAdornment({
|
|
1596
|
-
adornment: x,
|
|
1597
|
-
dataContext: controlDataContext,
|
|
1598
|
-
parentContext: parentDataContext,
|
|
1599
|
-
useExpr: useExpr
|
|
1600
|
-
});
|
|
1601
|
-
})) != null ? _definition$adornment : [];
|
|
1602
|
-
var labelAndChildren = renderControlLayout({
|
|
1603
|
-
definition: c,
|
|
1604
|
-
renderer: renderer,
|
|
1605
|
-
renderChild: function renderChild(k, child, options) {
|
|
1606
|
-
var _options$dataContext;
|
|
1607
|
-
if (control && control.isNull) return /*#__PURE__*/React__default["default"].createElement(React.Fragment, {
|
|
1608
|
-
key: k
|
|
1609
|
-
});
|
|
1610
|
-
var dataContext = (_options$dataContext = options == null ? void 0 : options.dataContext) != null ? _options$dataContext : controlDataContext;
|
|
1611
|
-
return /*#__PURE__*/React__default["default"].createElement(ControlRenderer, {
|
|
1612
|
-
key: k,
|
|
1613
|
-
control: dataContext.data,
|
|
1614
|
-
fields: dataContext.fields,
|
|
1615
|
-
definition: child,
|
|
1616
|
-
parentPath: dataContext.path,
|
|
1617
|
-
renderer: renderer,
|
|
1618
|
-
options: options ? _extends({}, childOptions, {
|
|
1619
|
-
elementIndex: options == null ? void 0 : options.elementIndex
|
|
1620
|
-
}) : childOptions
|
|
1621
|
-
});
|
|
1622
|
-
},
|
|
1623
|
-
createDataProps: dataProps,
|
|
1624
|
-
formOptions: myOptions,
|
|
1625
|
-
dataContext: controlDataContext,
|
|
1626
|
-
parentContext: parentDataContext,
|
|
1627
|
-
control: displayControl != null ? displayControl : control,
|
|
1628
|
-
elementIndex: _elementIndex,
|
|
1629
|
-
schemaInterface: schemaInterface,
|
|
1630
|
-
labelText: labelText,
|
|
1631
|
-
field: _schemaField,
|
|
1632
|
-
displayControl: displayControl,
|
|
1633
|
-
style: customStyle.value,
|
|
1634
|
-
allowedOptions: allowedOptions,
|
|
1635
|
-
customDisplay: _options.customDisplay,
|
|
1636
|
-
actionDataControl: actionData,
|
|
1637
|
-
actionOnClick: _options.actionOnClick,
|
|
1638
|
-
useChildVisibility: function useChildVisibility(childDef, context) {
|
|
1639
|
-
var schemaField = lookupSchemaField(childDef, (context != null ? context : controlDataContext).fields);
|
|
1640
|
-
return useEvalVisibilityHook(useExpr, childDef, schemaField);
|
|
1641
|
-
}
|
|
1642
|
-
});
|
|
1643
|
-
var renderedControl = renderer.renderLayout(_extends({}, labelAndChildren, {
|
|
1644
|
-
adornments: adornments,
|
|
1645
|
-
className: c.layoutClass,
|
|
1646
|
-
style: layoutStyle.value
|
|
1647
|
-
}));
|
|
1648
|
-
return renderer.renderVisibility(_extends({
|
|
1649
|
-
visibility: visibility
|
|
1650
|
-
}, renderedControl));
|
|
1651
|
-
} finally {
|
|
1652
|
-
stopTracking();
|
|
1653
|
-
}
|
|
1654
|
-
}, [r, dataProps, useValidation, renderer, schemaInterface, dynamicHooks]);
|
|
1655
|
-
Component.displayName = "RenderControl";
|
|
1656
|
-
return Component;
|
|
1657
|
-
}
|
|
1658
|
-
function lookupSchemaField(c, fields) {
|
|
1659
|
-
var fieldName = isGroupControlsDefinition(c) ? c.compoundField : isDataControlDefinition(c) ? c.field : undefined;
|
|
1660
|
-
return fieldName ? findFieldPath(fields, fieldName) : undefined;
|
|
1661
|
-
}
|
|
1662
|
-
function getControlData(fieldPath, parentContext, elementIndex) {
|
|
1663
|
-
var _fieldPath$slice$map, _parentControl$fields, _childControl$element;
|
|
1664
|
-
var data = parentContext.data,
|
|
1665
|
-
pp = parentContext.path;
|
|
1666
|
-
var extraPath = (_fieldPath$slice$map = fieldPath == null ? void 0 : fieldPath.slice(0, -1).map(function (x) {
|
|
1667
|
-
return x.field;
|
|
1668
|
-
})) != null ? _fieldPath$slice$map : [];
|
|
1669
|
-
var path = [].concat(pp, extraPath);
|
|
1670
|
-
var schemaField = fieldPath == null ? void 0 : fieldPath.at(-1);
|
|
1671
|
-
var _lookupControl = lookupControl(data, path),
|
|
1672
|
-
parentControl = _lookupControl[0],
|
|
1673
|
-
found = _lookupControl[1];
|
|
1674
|
-
var childPath = schemaField ? elementIndex != null ? [].concat(path, [schemaField.field, elementIndex]) : [].concat(path, [schemaField.field]) : path;
|
|
1675
|
-
var childControl = schemaField && found ? (_parentControl$fields = parentControl.fields) == null ? void 0 : _parentControl$fields[schemaField.field] : undefined;
|
|
1676
|
-
return [parentControl, childControl && elementIndex != null ? (_childControl$element = childControl.elements) == null ? void 0 : _childControl$element[elementIndex] : childControl, schemaField ? _extends({}, parentContext, {
|
|
1677
|
-
path: childPath,
|
|
1678
|
-
fields: isCompoundField(schemaField) ? schemaField.children : parentContext.fields
|
|
1679
|
-
}) : parentContext];
|
|
1680
|
-
}
|
|
1681
|
-
function lookupControl(control, path) {
|
|
1682
|
-
var _base;
|
|
1683
|
-
var base = control;
|
|
1684
|
-
var index = 0;
|
|
1685
|
-
while (index < path.length && base) {
|
|
1686
|
-
control = base;
|
|
1687
|
-
var childId = path[index];
|
|
1688
|
-
var c = base.current;
|
|
1689
|
-
if (typeof childId === "string") {
|
|
1690
|
-
var _c$fields;
|
|
1691
|
-
base = (_c$fields = c.fields) == null ? void 0 : _c$fields[childId];
|
|
1692
|
-
} else {
|
|
1693
|
-
var _c$elements;
|
|
1694
|
-
base = (_c$elements = c.elements) == null ? void 0 : _c$elements[childId];
|
|
1695
|
-
}
|
|
1696
|
-
index++;
|
|
1697
|
-
}
|
|
1698
|
-
return [(_base = base) != null ? _base : control, !!base];
|
|
1699
|
-
}
|
|
1700
|
-
function ControlRenderer(_ref3) {
|
|
1701
|
-
var _effect = core.useComponentTracking();
|
|
1702
|
-
try {
|
|
1703
|
-
var definition = _ref3.definition,
|
|
1704
|
-
fields = _ref3.fields,
|
|
1705
|
-
renderer = _ref3.renderer,
|
|
1706
|
-
options = _ref3.options,
|
|
1707
|
-
control = _ref3.control,
|
|
1708
|
-
parentPath = _ref3.parentPath;
|
|
1709
|
-
var Render = useControlRenderer(definition, fields, renderer, options);
|
|
1710
|
-
return /*#__PURE__*/React__default["default"].createElement(Render, {
|
|
1711
|
-
control: control,
|
|
1712
|
-
parentPath: parentPath
|
|
1713
|
-
});
|
|
1714
|
-
} finally {
|
|
1715
|
-
_effect();
|
|
1716
|
-
}
|
|
1717
|
-
}
|
|
1718
|
-
function defaultDataProps(_ref4) {
|
|
1719
|
-
var _allowedOptions$value, _definition$children, _definition$renderOpt2;
|
|
1720
|
-
var definition = _ref4.definition,
|
|
1721
|
-
field = _ref4.field,
|
|
1722
|
-
control = _ref4.control,
|
|
1723
|
-
formOptions = _ref4.formOptions,
|
|
1724
|
-
style = _ref4.style,
|
|
1725
|
-
allowedOptions = _ref4.allowedOptions,
|
|
1726
|
-
_ref4$schemaInterface = _ref4.schemaInterface,
|
|
1727
|
-
schemaInterface = _ref4$schemaInterface === void 0 ? defaultSchemaInterface : _ref4$schemaInterface,
|
|
1728
|
-
props = _objectWithoutPropertiesLoose(_ref4, _excluded$4);
|
|
1729
|
-
var className = cc(definition.styleClass);
|
|
1730
|
-
var required = !!definition.required;
|
|
1731
|
-
var fieldOptions = schemaInterface.getOptions(field);
|
|
1732
|
-
var _allowed = (_allowedOptions$value = allowedOptions == null ? void 0 : allowedOptions.value) != null ? _allowedOptions$value : [];
|
|
1733
|
-
var allowed = Array.isArray(_allowed) ? _allowed : [_allowed];
|
|
1734
|
-
return _extends({
|
|
1735
|
-
definition: definition,
|
|
1736
|
-
childDefinitions: (_definition$children = definition.children) != null ? _definition$children : [],
|
|
1737
|
-
control: control,
|
|
1738
|
-
field: field,
|
|
1739
|
-
id: "c" + control.uniqueId,
|
|
1740
|
-
options: allowed.length > 0 ? allowed.map(function (x) {
|
|
1741
|
-
var _fieldOptions$find;
|
|
1742
|
-
return typeof x === "object" ? x : (_fieldOptions$find = fieldOptions == null ? void 0 : fieldOptions.find(function (y) {
|
|
1743
|
-
return y.value == x;
|
|
1744
|
-
})) != null ? _fieldOptions$find : {
|
|
1745
|
-
name: x.toString(),
|
|
1746
|
-
value: x
|
|
1747
|
-
};
|
|
1748
|
-
}) : fieldOptions,
|
|
1749
|
-
readonly: !!formOptions.readonly,
|
|
1750
|
-
renderOptions: (_definition$renderOpt2 = definition.renderOptions) != null ? _definition$renderOpt2 : {
|
|
1751
|
-
type: "Standard"
|
|
1752
|
-
},
|
|
1753
|
-
required: required,
|
|
1754
|
-
hidden: !!formOptions.hidden,
|
|
1755
|
-
className: className,
|
|
1756
|
-
style: style
|
|
1757
|
-
}, props);
|
|
1758
|
-
}
|
|
1759
|
-
function renderControlLayout(props) {
|
|
1760
|
-
var c = props.definition,
|
|
1761
|
-
renderer = props.renderer,
|
|
1762
|
-
renderChild = props.renderChild,
|
|
1763
|
-
control = props.control,
|
|
1764
|
-
field = props.field,
|
|
1765
|
-
dataContext = props.dataContext,
|
|
1766
|
-
dataProps = props.createDataProps,
|
|
1767
|
-
displayControl = props.displayControl,
|
|
1768
|
-
style = props.style,
|
|
1769
|
-
labelText = props.labelText,
|
|
1770
|
-
parentContext = props.parentContext,
|
|
1771
|
-
useChildVisibility = props.useChildVisibility,
|
|
1772
|
-
designMode = props.designMode,
|
|
1773
|
-
customDisplay = props.customDisplay;
|
|
1774
|
-
if (isDataControlDefinition(c)) {
|
|
1775
|
-
return renderData(c);
|
|
1776
|
-
}
|
|
1777
|
-
if (isGroupControlsDefinition(c)) {
|
|
1778
|
-
var _c$children, _c$groupOptions2, _labelText$value, _c$groupOptions3;
|
|
1779
|
-
if (c.compoundField) {
|
|
1780
|
-
var _c$groupOptions;
|
|
1781
|
-
return renderData(dataControl(c.compoundField, c.title, {
|
|
1782
|
-
children: c.children,
|
|
1783
|
-
hideTitle: (_c$groupOptions = c.groupOptions) == null ? void 0 : _c$groupOptions.hideTitle
|
|
1784
|
-
}));
|
|
1785
|
-
}
|
|
1786
|
-
return {
|
|
1787
|
-
processLayout: renderer.renderGroup({
|
|
1788
|
-
childDefinitions: (_c$children = c.children) != null ? _c$children : [],
|
|
1789
|
-
definition: c,
|
|
1790
|
-
parentContext: parentContext,
|
|
1791
|
-
renderChild: renderChild,
|
|
1792
|
-
dataContext: dataContext,
|
|
1793
|
-
renderOptions: (_c$groupOptions2 = c.groupOptions) != null ? _c$groupOptions2 : {
|
|
1794
|
-
type: "Standard"
|
|
1795
|
-
},
|
|
1796
|
-
className: cc(c.styleClass),
|
|
1797
|
-
useChildVisibility: useChildVisibility,
|
|
1798
|
-
style: style,
|
|
1799
|
-
designMode: designMode
|
|
1800
|
-
}),
|
|
1801
|
-
label: {
|
|
1802
|
-
label: (_labelText$value = labelText == null ? void 0 : labelText.value) != null ? _labelText$value : c.title,
|
|
1803
|
-
className: cc(c.labelClass),
|
|
1804
|
-
type: exports.LabelType.Group,
|
|
1805
|
-
hide: (_c$groupOptions3 = c.groupOptions) == null ? void 0 : _c$groupOptions3.hideTitle
|
|
1806
|
-
}
|
|
1807
|
-
};
|
|
1808
|
-
}
|
|
1809
|
-
if (isActionControlsDefinition(c)) {
|
|
1810
|
-
var _props$actionDataCont, _props$actionDataCont2, _ref5, _labelText$value2, _props$actionOnClick;
|
|
1811
|
-
var actionData = (_props$actionDataCont = (_props$actionDataCont2 = props.actionDataControl) == null ? void 0 : _props$actionDataCont2.value) != null ? _props$actionDataCont : c.actionData;
|
|
1812
|
-
return {
|
|
1813
|
-
children: renderer.renderAction({
|
|
1814
|
-
actionText: (_ref5 = (_labelText$value2 = labelText == null ? void 0 : labelText.value) != null ? _labelText$value2 : c.title) != null ? _ref5 : c.actionId,
|
|
1815
|
-
actionId: c.actionId,
|
|
1816
|
-
actionData: actionData,
|
|
1817
|
-
onClick: (_props$actionOnClick = props.actionOnClick == null ? void 0 : props.actionOnClick(c.actionId, actionData)) != null ? _props$actionOnClick : function () {},
|
|
1818
|
-
className: cc(c.styleClass),
|
|
1819
|
-
style: style
|
|
1820
|
-
})
|
|
1821
|
-
};
|
|
1822
|
-
}
|
|
1823
|
-
if (isDisplayControlsDefinition(c)) {
|
|
1824
|
-
var _c$displayData;
|
|
1825
|
-
var data = (_c$displayData = c.displayData) != null ? _c$displayData : {};
|
|
1826
|
-
var displayProps = {
|
|
1827
|
-
data: data,
|
|
1828
|
-
className: cc(c.styleClass),
|
|
1829
|
-
style: style,
|
|
1830
|
-
display: displayControl,
|
|
1831
|
-
dataContext: dataContext
|
|
1832
|
-
};
|
|
1833
|
-
if (data.type === exports.DisplayDataType.Custom && customDisplay) {
|
|
1834
|
-
return {
|
|
1835
|
-
children: customDisplay(data.customId, displayProps)
|
|
1836
|
-
};
|
|
1837
|
-
}
|
|
1838
|
-
return {
|
|
1839
|
-
children: renderer.renderDisplay(displayProps)
|
|
1840
|
-
};
|
|
1841
|
-
}
|
|
1842
|
-
return {};
|
|
1843
|
-
function renderData(c) {
|
|
1844
|
-
var _labelText$value3, _c$children$length, _c$children2;
|
|
1845
|
-
if (!field) return {
|
|
1846
|
-
children: "No schema field for: " + c.field
|
|
1847
|
-
};
|
|
1848
|
-
if (!control) return {
|
|
1849
|
-
children: "No control for: " + c.field
|
|
1850
|
-
};
|
|
1851
|
-
var rendererProps = dataProps(props);
|
|
1852
|
-
var label = !c.hideTitle ? controlTitle((_labelText$value3 = labelText == null ? void 0 : labelText.value) != null ? _labelText$value3 : c.title, field) : undefined;
|
|
1853
|
-
return {
|
|
1854
|
-
processLayout: renderer.renderData(rendererProps),
|
|
1855
|
-
label: {
|
|
1856
|
-
type: ((_c$children$length = (_c$children2 = c.children) == null ? void 0 : _c$children2.length) != null ? _c$children$length : 0) > 0 ? exports.LabelType.Group : exports.LabelType.Control,
|
|
1857
|
-
label: label,
|
|
1858
|
-
forId: rendererProps.id,
|
|
1859
|
-
required: c.required,
|
|
1860
|
-
hide: c.hideTitle,
|
|
1861
|
-
className: cc(c.labelClass)
|
|
1862
|
-
},
|
|
1863
|
-
errorControl: control
|
|
1864
|
-
};
|
|
1865
|
-
}
|
|
1866
|
-
}
|
|
1867
|
-
function appendMarkup(k, markup) {
|
|
1868
|
-
return function (layout) {
|
|
1869
|
-
return layout[k] = /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, layout[k], markup);
|
|
1870
|
-
};
|
|
1871
|
-
}
|
|
1872
|
-
function wrapMarkup(k, wrap) {
|
|
1873
|
-
return function (layout) {
|
|
1874
|
-
return layout[k] = wrap(layout[k]);
|
|
1875
|
-
};
|
|
1876
|
-
}
|
|
1877
|
-
function layoutKeyForPlacement(pos) {
|
|
1878
|
-
switch (pos) {
|
|
1879
|
-
case exports.AdornmentPlacement.ControlEnd:
|
|
1880
|
-
return "controlEnd";
|
|
1881
|
-
case exports.AdornmentPlacement.ControlStart:
|
|
1882
|
-
return "controlStart";
|
|
1883
|
-
case exports.AdornmentPlacement.LabelStart:
|
|
1884
|
-
return "labelStart";
|
|
1885
|
-
case exports.AdornmentPlacement.LabelEnd:
|
|
1886
|
-
return "labelEnd";
|
|
1887
|
-
}
|
|
1888
|
-
}
|
|
1889
|
-
function wrapLayout(wrap) {
|
|
1890
|
-
return function (rl) {
|
|
1891
|
-
var orig = rl.wrapLayout;
|
|
1892
|
-
rl.wrapLayout = function (x) {
|
|
1893
|
-
return wrap(orig(x));
|
|
1894
|
-
};
|
|
1895
|
-
};
|
|
1896
|
-
}
|
|
1897
|
-
function appendMarkupAt(pos, markup) {
|
|
1898
|
-
return appendMarkup(layoutKeyForPlacement(pos), markup);
|
|
1899
|
-
}
|
|
1900
|
-
function wrapMarkupAt(pos, wrap) {
|
|
1901
|
-
return wrapMarkup(layoutKeyForPlacement(pos), wrap);
|
|
1902
|
-
}
|
|
1903
|
-
function renderLayoutParts(props, renderer) {
|
|
1904
|
-
var _props$processLayout;
|
|
1905
|
-
var _ref6 = (_props$processLayout = props.processLayout == null ? void 0 : props.processLayout(props)) != null ? _props$processLayout : props,
|
|
1906
|
-
className = _ref6.className,
|
|
1907
|
-
children = _ref6.children,
|
|
1908
|
-
style = _ref6.style,
|
|
1909
|
-
errorControl = _ref6.errorControl,
|
|
1910
|
-
label = _ref6.label,
|
|
1911
|
-
adornments = _ref6.adornments;
|
|
1912
|
-
var layout = {
|
|
1913
|
-
children: children,
|
|
1914
|
-
errorControl: errorControl,
|
|
1915
|
-
style: style,
|
|
1916
|
-
className: cc(className),
|
|
1917
|
-
wrapLayout: function wrapLayout(x) {
|
|
1918
|
-
return x;
|
|
1919
|
-
}
|
|
1920
|
-
};
|
|
1921
|
-
(adornments != null ? adornments : []).sort(function (a, b) {
|
|
1922
|
-
return a.priority - b.priority;
|
|
1923
|
-
}).forEach(function (x) {
|
|
1924
|
-
return x.apply(layout);
|
|
1925
|
-
});
|
|
1926
|
-
layout.label = label && !label.hide ? renderer.renderLabel(label, layout.labelStart, layout.labelEnd) : undefined;
|
|
1927
|
-
return layout;
|
|
1928
|
-
}
|
|
1929
|
-
function controlTitle(title, field) {
|
|
1930
|
-
return title ? title : fieldDisplayName(field);
|
|
1931
|
-
}
|
|
1932
|
-
function getLengthRestrictions(definition) {
|
|
1933
|
-
var _definition$validator;
|
|
1934
|
-
var lengthVal = (_definition$validator = definition.validators) == null ? void 0 : _definition$validator.find(function (x) {
|
|
1935
|
-
return x.type === exports.ValidatorType.Length;
|
|
1936
|
-
});
|
|
1937
|
-
return {
|
|
1938
|
-
min: lengthVal == null ? void 0 : lengthVal.min,
|
|
1939
|
-
max: lengthVal == null ? void 0 : lengthVal.max
|
|
1940
|
-
};
|
|
1941
|
-
}
|
|
1942
|
-
function createArrayActions(control, field, options) {
|
|
1943
|
-
var _field$displayName;
|
|
1944
|
-
var noun = (_field$displayName = field.displayName) != null ? _field$displayName : field.field;
|
|
1945
|
-
var _ref7 = options != null ? options : {},
|
|
1946
|
-
addText = _ref7.addText,
|
|
1947
|
-
noAdd = _ref7.noAdd,
|
|
1948
|
-
removeText = _ref7.removeText,
|
|
1949
|
-
noRemove = _ref7.noRemove,
|
|
1950
|
-
removeActionId = _ref7.removeActionId,
|
|
1951
|
-
addActionId = _ref7.addActionId;
|
|
1952
|
-
return {
|
|
1953
|
-
arrayControl: control,
|
|
1954
|
-
addAction: !noAdd ? {
|
|
1955
|
-
actionId: addActionId ? addActionId : "add",
|
|
1956
|
-
actionText: addText ? addText : "Add " + noun,
|
|
1957
|
-
onClick: function onClick() {
|
|
1958
|
-
return core.addElement(control, elementValueForField(field));
|
|
1959
|
-
}
|
|
1960
|
-
} : undefined,
|
|
1961
|
-
removeAction: !noRemove ? function (i) {
|
|
1962
|
-
return {
|
|
1963
|
-
actionId: removeActionId ? removeActionId : "remove",
|
|
1964
|
-
actionText: removeText ? removeText : "Remove",
|
|
1965
|
-
onClick: function onClick() {
|
|
1966
|
-
return core.removeElement(control, i);
|
|
1967
|
-
}
|
|
1968
|
-
};
|
|
1969
|
-
} : undefined
|
|
1970
|
-
};
|
|
1971
|
-
}
|
|
1972
|
-
function applyArrayLengthRestrictions(_ref8, disable) {
|
|
1973
|
-
var _arrayControl$element, _arrayControl$element2;
|
|
1974
|
-
var arrayControl = _ref8.arrayControl,
|
|
1975
|
-
min = _ref8.min,
|
|
1976
|
-
max = _ref8.max,
|
|
1977
|
-
aa = _ref8.addAction,
|
|
1978
|
-
ra = _ref8.removeAction,
|
|
1979
|
-
required = _ref8.required;
|
|
1980
|
-
var _applyLengthRestricti = applyLengthRestrictions((_arrayControl$element = (_arrayControl$element2 = arrayControl.elements) == null ? void 0 : _arrayControl$element2.length) != null ? _arrayControl$element : 0, min == null && required ? 1 : min, max, true, true),
|
|
1981
|
-
removeAllowed = _applyLengthRestricti[0],
|
|
1982
|
-
addAllowed = _applyLengthRestricti[1];
|
|
1983
|
-
return {
|
|
1984
|
-
addAction: disable || addAllowed ? aa : undefined,
|
|
1985
|
-
removeAction: disable || removeAllowed ? ra : undefined,
|
|
1986
|
-
removeDisabled: !removeAllowed,
|
|
1987
|
-
addDisabled: !addAllowed
|
|
1988
|
-
};
|
|
1989
|
-
}
|
|
1990
|
-
|
|
1991
|
-
function isIconAdornment(a) {
|
|
1992
|
-
return a.type === exports.ControlAdornmentType.Icon;
|
|
1993
|
-
}
|
|
1994
|
-
function isAccordionAdornment(a) {
|
|
1995
|
-
return a.type === exports.ControlAdornmentType.Accordion;
|
|
1996
|
-
}
|
|
1997
|
-
function isSetFieldAdornment(a) {
|
|
1998
|
-
return a.type === exports.ControlAdornmentType.SetField;
|
|
1999
|
-
}
|
|
2000
|
-
function createLayoutRenderer(render, options) {
|
|
2001
|
-
return _extends({
|
|
2002
|
-
type: "layout",
|
|
2003
|
-
render: render
|
|
2004
|
-
}, options);
|
|
2005
|
-
}
|
|
2006
|
-
function createActionRenderer(actionId, render, options) {
|
|
2007
|
-
return _extends({
|
|
2008
|
-
type: "action",
|
|
2009
|
-
actionType: actionId,
|
|
2010
|
-
render: render
|
|
2011
|
-
}, options);
|
|
2012
|
-
}
|
|
2013
|
-
function createArrayRenderer(render, options) {
|
|
2014
|
-
return _extends({
|
|
2015
|
-
type: "array",
|
|
2016
|
-
render: render
|
|
2017
|
-
}, options);
|
|
2018
|
-
}
|
|
2019
|
-
function createDataRenderer(render, options) {
|
|
2020
|
-
return _extends({
|
|
2021
|
-
type: "data",
|
|
2022
|
-
render: render
|
|
2023
|
-
}, options);
|
|
2024
|
-
}
|
|
2025
|
-
function createGroupRenderer(render, options) {
|
|
2026
|
-
return _extends({
|
|
2027
|
-
type: "group",
|
|
2028
|
-
render: render
|
|
2029
|
-
}, options);
|
|
2030
|
-
}
|
|
2031
|
-
function createDisplayRenderer(render, options) {
|
|
2032
|
-
return _extends({
|
|
2033
|
-
type: "display",
|
|
2034
|
-
render: render
|
|
2035
|
-
}, options);
|
|
2036
|
-
}
|
|
2037
|
-
function createLabelRenderer(render, options) {
|
|
2038
|
-
return _extends({
|
|
2039
|
-
type: "label",
|
|
2040
|
-
render: render
|
|
2041
|
-
}, options);
|
|
2042
|
-
}
|
|
2043
|
-
function createVisibilityRenderer(render, options) {
|
|
2044
|
-
return _extends({
|
|
2045
|
-
type: "visibility",
|
|
2046
|
-
render: render
|
|
2047
|
-
}, options);
|
|
2048
|
-
}
|
|
2049
|
-
function createAdornmentRenderer(render, options) {
|
|
2050
|
-
return _extends({
|
|
2051
|
-
type: "adornment"
|
|
2052
|
-
}, options, {
|
|
2053
|
-
render: render
|
|
2054
|
-
});
|
|
2055
|
-
}
|
|
2056
|
-
|
|
2057
|
-
var defaultTailwindTheme = {
|
|
2058
|
-
label: {
|
|
2059
|
-
groupLabelClass: "font-bold",
|
|
2060
|
-
requiredElement: /*#__PURE__*/React__default["default"].createElement("span", {
|
|
2061
|
-
className: "text-red-500"
|
|
2062
|
-
}, " *")
|
|
2063
|
-
},
|
|
2064
|
-
array: {
|
|
2065
|
-
removableClass: "grid grid-cols-[1fr_auto] items-center gap-x-2",
|
|
2066
|
-
childClass: "grow my-2",
|
|
2067
|
-
addActionClass: "my-2"
|
|
2068
|
-
},
|
|
2069
|
-
group: {
|
|
2070
|
-
standardClassName: "flex flex-col gap-4",
|
|
2071
|
-
gridClassName: "gap-x-2 gap-y-4",
|
|
2072
|
-
flexClassName: "gap-2"
|
|
2073
|
-
},
|
|
2074
|
-
action: {
|
|
2075
|
-
className: "bg-primary-500 rounded-lg p-3 text-white"
|
|
2076
|
-
},
|
|
2077
|
-
layout: {
|
|
2078
|
-
className: "flex flex-col",
|
|
2079
|
-
errorClass: "text-sm text-danger-500"
|
|
2080
|
-
},
|
|
2081
|
-
data: {
|
|
2082
|
-
displayOnlyClass: "flex flex-row items-center gap-2",
|
|
2083
|
-
checkOptions: {
|
|
2084
|
-
className: "flex items-center gap-4",
|
|
2085
|
-
entryClass: "flex gap-1 items-center"
|
|
2086
|
-
},
|
|
2087
|
-
selectOptions: {
|
|
2088
|
-
emptyText: "<select>"
|
|
2089
|
-
},
|
|
2090
|
-
multilineClass: "border p-2 outline-0 whitespace-pre"
|
|
2091
|
-
},
|
|
2092
|
-
adornment: {
|
|
2093
|
-
accordion: {
|
|
2094
|
-
className: "flex items-center gap-2 my-2",
|
|
2095
|
-
titleClass: "cursor-pointer",
|
|
2096
|
-
iconOpenClass: "fa fa-chevron-up",
|
|
2097
|
-
iconClosedClass: "fa fa-chevron-down"
|
|
2098
|
-
}
|
|
2099
|
-
}
|
|
2100
|
-
};
|
|
2101
|
-
|
|
2102
|
-
var _excluded$3 = ["data", "display", "className", "style"];
|
|
2103
|
-
function createDefaultDisplayRenderer(options) {
|
|
2104
|
-
if (options === void 0) {
|
|
2105
|
-
options = {};
|
|
2106
|
-
}
|
|
2107
|
-
return {
|
|
2108
|
-
render: function render(props) {
|
|
2109
|
-
return /*#__PURE__*/React__default["default"].createElement(DefaultDisplay, _extends({}, options, props));
|
|
2110
|
-
},
|
|
2111
|
-
type: "display"
|
|
2112
|
-
};
|
|
2113
|
-
}
|
|
2114
|
-
function DefaultDisplay(_ref) {
|
|
2115
|
-
var _effect = core.useComponentTracking();
|
|
2116
|
-
try {
|
|
2117
|
-
var _display$value;
|
|
2118
|
-
var data = _ref.data,
|
|
2119
|
-
display = _ref.display,
|
|
2120
|
-
className = _ref.className,
|
|
2121
|
-
style = _ref.style,
|
|
2122
|
-
options = _objectWithoutPropertiesLoose(_ref, _excluded$3);
|
|
2123
|
-
switch (data.type) {
|
|
2124
|
-
case exports.DisplayDataType.Icon:
|
|
2125
|
-
return /*#__PURE__*/React__default["default"].createElement("i", {
|
|
2126
|
-
style: style,
|
|
2127
|
-
className: clsx__default["default"](getOverrideClass(className), display ? display.value : data.iconClass)
|
|
2128
|
-
});
|
|
2129
|
-
case exports.DisplayDataType.Text:
|
|
2130
|
-
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
2131
|
-
style: style,
|
|
2132
|
-
className: rendererClass(className, options.textClassName)
|
|
2133
|
-
}, display ? display.value : data.text);
|
|
2134
|
-
case exports.DisplayDataType.Html:
|
|
2135
|
-
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
2136
|
-
style: style,
|
|
2137
|
-
className: rendererClass(className, options.htmlClassName),
|
|
2138
|
-
dangerouslySetInnerHTML: {
|
|
2139
|
-
__html: display ? (_display$value = display.value) != null ? _display$value : "" : data.html
|
|
2140
|
-
}
|
|
2141
|
-
});
|
|
2142
|
-
case exports.DisplayDataType.Custom:
|
|
2143
|
-
return /*#__PURE__*/React__default["default"].createElement("div", null, "Custom display placeholder: ", data.customId);
|
|
2144
|
-
default:
|
|
2145
|
-
return /*#__PURE__*/React__default["default"].createElement("h1", null, "Unknown display type: ", data.type);
|
|
2146
|
-
}
|
|
2147
|
-
} finally {
|
|
2148
|
-
_effect();
|
|
2149
|
-
}
|
|
2150
|
-
}
|
|
2151
|
-
|
|
2152
|
-
function DefaultLayout(_ref) {
|
|
2153
|
-
var _effect = core.useComponentTracking();
|
|
2154
|
-
try {
|
|
2155
|
-
var errorClass = _ref.errorClass,
|
|
2156
|
-
_ref$renderError = _ref.renderError,
|
|
2157
|
-
renderError = _ref$renderError === void 0 ? function (e) {
|
|
2158
|
-
return e && /*#__PURE__*/React__default["default"].createElement("div", {
|
|
2159
|
-
className: errorClass
|
|
2160
|
-
}, e);
|
|
2161
|
-
} : _ref$renderError,
|
|
2162
|
-
_ref$layout = _ref.layout,
|
|
2163
|
-
controlEnd = _ref$layout.controlEnd,
|
|
2164
|
-
controlStart = _ref$layout.controlStart,
|
|
2165
|
-
label = _ref$layout.label,
|
|
2166
|
-
children = _ref$layout.children,
|
|
2167
|
-
errorControl = _ref$layout.errorControl;
|
|
2168
|
-
var ec = errorControl;
|
|
2169
|
-
var errorText = ec && ec.touched ? ec.error : undefined;
|
|
2170
|
-
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, label, controlStart, children, renderError(errorText), controlEnd);
|
|
2171
|
-
} finally {
|
|
2172
|
-
_effect();
|
|
2173
|
-
}
|
|
2174
|
-
}
|
|
2175
|
-
|
|
2176
|
-
function createDefaultVisibilityRenderer() {
|
|
2177
|
-
return createVisibilityRenderer(function (props) {
|
|
2178
|
-
return /*#__PURE__*/React__default["default"].createElement(DefaultVisibility, props);
|
|
2179
|
-
});
|
|
2180
|
-
}
|
|
2181
|
-
function DefaultVisibility(_ref) {
|
|
2182
|
-
var _effect = core.useComponentTracking();
|
|
2183
|
-
try {
|
|
2184
|
-
var visibility = _ref.visibility,
|
|
2185
|
-
children = _ref.children,
|
|
2186
|
-
className = _ref.className,
|
|
2187
|
-
style = _ref.style,
|
|
2188
|
-
divRef = _ref.divRef;
|
|
2189
|
-
var v = visibility.value;
|
|
2190
|
-
React.useEffect(function () {
|
|
2191
|
-
if (v) {
|
|
2192
|
-
visibility.setValue(function (ex) {
|
|
2193
|
-
return {
|
|
2194
|
-
visible: v.visible,
|
|
2195
|
-
showing: v.visible
|
|
2196
|
-
};
|
|
2197
|
-
});
|
|
2198
|
-
}
|
|
2199
|
-
}, [v == null ? void 0 : v.visible]);
|
|
2200
|
-
return v != null && v.visible ? /*#__PURE__*/React__default["default"].createElement("div", {
|
|
2201
|
-
className: clsx__default["default"](className),
|
|
2202
|
-
style: style,
|
|
2203
|
-
ref: divRef
|
|
2204
|
-
}, children) : /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null);
|
|
2205
|
-
} finally {
|
|
2206
|
-
_effect();
|
|
2207
|
-
}
|
|
2208
|
-
}
|
|
2209
|
-
|
|
2210
|
-
var _excluded$2 = ["state", "options", "className", "convert", "required", "emptyText", "requiredText", "readonly"];
|
|
2211
|
-
function createSelectRenderer(options) {
|
|
2212
|
-
if (options === void 0) {
|
|
2213
|
-
options = {};
|
|
2214
|
-
}
|
|
2215
|
-
return createDataRenderer(function (props, asArray) {
|
|
2216
|
-
var _props$options;
|
|
2217
|
-
return /*#__PURE__*/React__default["default"].createElement(SelectDataRenderer, {
|
|
2218
|
-
className: rendererClass(props.className, options.className),
|
|
2219
|
-
state: props.control,
|
|
2220
|
-
id: props.id,
|
|
2221
|
-
readonly: props.readonly,
|
|
2222
|
-
options: (_props$options = props.options) != null ? _props$options : [],
|
|
2223
|
-
required: props.required,
|
|
2224
|
-
emptyText: options.emptyText,
|
|
2225
|
-
requiredText: options.requiredText,
|
|
2226
|
-
convert: createSelectConversion(props.field.type)
|
|
2227
|
-
});
|
|
2228
|
-
}, {
|
|
2229
|
-
options: true
|
|
2230
|
-
});
|
|
2231
|
-
}
|
|
2232
|
-
function SelectDataRenderer(_ref) {
|
|
2233
|
-
var _effect = core.useComponentTracking();
|
|
2234
|
-
try {
|
|
2235
|
-
var state = _ref.state,
|
|
2236
|
-
options = _ref.options,
|
|
2237
|
-
className = _ref.className,
|
|
2238
|
-
convert = _ref.convert,
|
|
2239
|
-
required = _ref.required,
|
|
2240
|
-
_ref$emptyText = _ref.emptyText,
|
|
2241
|
-
emptyText = _ref$emptyText === void 0 ? "N/A" : _ref$emptyText,
|
|
2242
|
-
_ref$requiredText = _ref.requiredText,
|
|
2243
|
-
requiredText = _ref$requiredText === void 0 ? "<please select>" : _ref$requiredText,
|
|
2244
|
-
readonly = _ref.readonly,
|
|
2245
|
-
props = _objectWithoutPropertiesLoose(_ref, _excluded$2);
|
|
2246
|
-
var value = state.value,
|
|
2247
|
-
disabled = state.disabled;
|
|
2248
|
-
var _useState = React.useState(!required || value == null),
|
|
2249
|
-
showEmpty = _useState[0];
|
|
2250
|
-
var optionStringMap = React.useMemo(function () {
|
|
2251
|
-
return Object.fromEntries(options.map(function (x) {
|
|
2252
|
-
return [convert(x.value), x.value];
|
|
2253
|
-
}));
|
|
2254
|
-
}, [options]);
|
|
2255
|
-
return /*#__PURE__*/React__default["default"].createElement("select", _extends({}, props, {
|
|
2256
|
-
className: className,
|
|
2257
|
-
onChange: function onChange(v) {
|
|
2258
|
-
return state.value = optionStringMap[v.target.value];
|
|
2259
|
-
},
|
|
2260
|
-
value: convert(value),
|
|
2261
|
-
disabled: disabled || readonly
|
|
2262
|
-
}), showEmpty && /*#__PURE__*/React__default["default"].createElement("option", {
|
|
2263
|
-
value: ""
|
|
2264
|
-
}, required ? requiredText : emptyText), options.map(function (x, i) {
|
|
2265
|
-
return /*#__PURE__*/React__default["default"].createElement("option", {
|
|
2266
|
-
key: i,
|
|
2267
|
-
value: convert(x.value),
|
|
2268
|
-
disabled: !!x.disabled
|
|
2269
|
-
}, x.name);
|
|
2270
|
-
}));
|
|
2271
|
-
} finally {
|
|
2272
|
-
_effect();
|
|
2273
|
-
}
|
|
2274
|
-
}
|
|
2275
|
-
function createSelectConversion(ft) {
|
|
2276
|
-
switch (ft) {
|
|
2277
|
-
case exports.FieldType.String:
|
|
2278
|
-
case exports.FieldType.Int:
|
|
2279
|
-
case exports.FieldType.Double:
|
|
2280
|
-
return function (a) {
|
|
2281
|
-
return a;
|
|
2282
|
-
};
|
|
2283
|
-
default:
|
|
2284
|
-
return function (a) {
|
|
2285
|
-
var _a$toString;
|
|
2286
|
-
return (_a$toString = a == null ? void 0 : a.toString()) != null ? _a$toString : "";
|
|
2287
|
-
};
|
|
2288
|
-
}
|
|
2289
|
-
}
|
|
2290
|
-
|
|
2291
|
-
function DefaultDisplayOnly(_ref) {
|
|
2292
|
-
var _effect = core.useComponentTracking();
|
|
2293
|
-
try {
|
|
2294
|
-
var _ref2;
|
|
2295
|
-
var control = _ref.control,
|
|
2296
|
-
className = _ref.className,
|
|
2297
|
-
emptyText = _ref.emptyText,
|
|
2298
|
-
schemaInterface = _ref.schemaInterface,
|
|
2299
|
-
field = _ref.field,
|
|
2300
|
-
style = _ref.style;
|
|
2301
|
-
var v = control.value;
|
|
2302
|
-
var text = (_ref2 = schemaInterface.isEmptyValue(field, v) ? emptyText : schemaInterface.textValue(field, v)) != null ? _ref2 : "";
|
|
2303
|
-
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
2304
|
-
style: style,
|
|
2305
|
-
className: rendererClass(className)
|
|
2306
|
-
}, text);
|
|
2307
|
-
} finally {
|
|
2308
|
-
_effect();
|
|
2309
|
-
}
|
|
2310
|
-
}
|
|
2311
|
-
|
|
2312
|
-
var _excluded$1 = ["control", "convert"],
|
|
2313
|
-
_excluded2 = ["errorText", "value", "onChange"];
|
|
2314
|
-
function ControlInput(_ref) {
|
|
2315
|
-
var _effect = core.useComponentTracking();
|
|
2316
|
-
try {
|
|
2317
|
-
var toText = function toText(value) {
|
|
2318
|
-
return value == null ? "" : convert[2](value);
|
|
2319
|
-
};
|
|
2320
|
-
var control = _ref.control,
|
|
2321
|
-
convert = _ref.convert,
|
|
2322
|
-
props = _objectWithoutPropertiesLoose(_ref, _excluded$1);
|
|
2323
|
-
var _formControlProps = core.formControlProps(control),
|
|
2324
|
-
errorText = _formControlProps.errorText,
|
|
2325
|
-
value = _formControlProps.value,
|
|
2326
|
-
onChange = _formControlProps.onChange,
|
|
2327
|
-
inputProps = _objectWithoutPropertiesLoose(_formControlProps, _excluded2);
|
|
2328
|
-
var textValue = core.useControl(function () {
|
|
2329
|
-
return toText(value);
|
|
2330
|
-
});
|
|
2331
|
-
core.useControlEffect(function () {
|
|
2332
|
-
return control.value;
|
|
2333
|
-
}, function (v) {
|
|
2334
|
-
return textValue.value = toText(v);
|
|
2335
|
-
});
|
|
2336
|
-
return /*#__PURE__*/React__default["default"].createElement("input", _extends({}, inputProps, {
|
|
2337
|
-
type: convert[0],
|
|
2338
|
-
value: textValue.value,
|
|
2339
|
-
onChange: function onChange(e) {
|
|
2340
|
-
textValue.value = e.target.value;
|
|
2341
|
-
var converted = convert[1](e.target.value);
|
|
2342
|
-
if (converted !== undefined) control.value = converted;
|
|
2343
|
-
}
|
|
2344
|
-
}, props));
|
|
2345
|
-
} finally {
|
|
2346
|
-
_effect();
|
|
2347
|
-
}
|
|
2348
|
-
}
|
|
2349
|
-
function createInputConversion(ft) {
|
|
2350
|
-
switch (ft) {
|
|
2351
|
-
case exports.FieldType.String:
|
|
2352
|
-
return ["text", function (a) {
|
|
2353
|
-
return a;
|
|
2354
|
-
}, function (a) {
|
|
2355
|
-
return a;
|
|
2356
|
-
}];
|
|
2357
|
-
case exports.FieldType.Bool:
|
|
2358
|
-
return ["text", function (a) {
|
|
2359
|
-
return a === "true" ? true : a === "false" ? false : undefined;
|
|
2360
|
-
}, function (a) {
|
|
2361
|
-
var _a$toString;
|
|
2362
|
-
return (_a$toString = a == null ? void 0 : a.toString()) != null ? _a$toString : "";
|
|
2363
|
-
}];
|
|
2364
|
-
case exports.FieldType.Int:
|
|
2365
|
-
return ["number", function (a) {
|
|
2366
|
-
return a !== "" ? parseInt(a) : null;
|
|
2367
|
-
}, function (a) {
|
|
2368
|
-
return a == null ? "" : a;
|
|
2369
|
-
}];
|
|
2370
|
-
case exports.FieldType.Date:
|
|
2371
|
-
return ["date", function (a) {
|
|
2372
|
-
return a;
|
|
2373
|
-
}, function (a) {
|
|
2374
|
-
return a;
|
|
2375
|
-
}];
|
|
2376
|
-
case exports.FieldType.Time:
|
|
2377
|
-
return ["time", function (a) {
|
|
2378
|
-
var l = a.length;
|
|
2379
|
-
if (l === 5) return a + ":00";
|
|
2380
|
-
if (l === 8) return a;
|
|
2381
|
-
return undefined;
|
|
2382
|
-
}, function (a) {
|
|
2383
|
-
return a ? a.substring(0, 5) : "";
|
|
2384
|
-
}];
|
|
2385
|
-
case exports.FieldType.Double:
|
|
2386
|
-
return ["number", function (a) {
|
|
2387
|
-
return a !== "" ? parseFloat(a) : null;
|
|
2388
|
-
}, function (a) {
|
|
2389
|
-
return a == null ? "" : a;
|
|
2390
|
-
}];
|
|
2391
|
-
default:
|
|
2392
|
-
return ["text", function (a) {
|
|
2393
|
-
return a;
|
|
2394
|
-
}, function (a) {
|
|
2395
|
-
return a;
|
|
2396
|
-
}];
|
|
2397
|
-
}
|
|
2398
|
-
}
|
|
2399
|
-
|
|
2400
|
-
function createDefaultArrayDataRenderer(defaultActions) {
|
|
2401
|
-
return createDataRenderer(function (_ref, renderers) {
|
|
2402
|
-
var definition = _ref.definition,
|
|
2403
|
-
control = _ref.control,
|
|
2404
|
-
required = _ref.required,
|
|
2405
|
-
field = _ref.field,
|
|
2406
|
-
renderChild = _ref.renderChild,
|
|
2407
|
-
parentContext = _ref.parentContext,
|
|
2408
|
-
className = _ref.className,
|
|
2409
|
-
style = _ref.style,
|
|
2410
|
-
renderOptions = _ref.renderOptions;
|
|
2411
|
-
var _mergeObjects = mergeObjects(isArrayRenderer(renderOptions) ? renderOptions : {}, defaultActions),
|
|
2412
|
-
addText = _mergeObjects.addText,
|
|
2413
|
-
noAdd = _mergeObjects.noAdd,
|
|
2414
|
-
noRemove = _mergeObjects.noRemove,
|
|
2415
|
-
removeText = _mergeObjects.removeText;
|
|
2416
|
-
var childOptions = isArrayRenderer(renderOptions) ? renderOptions.childOptions : undefined;
|
|
2417
|
-
var arrayProps = _extends({}, createArrayActions(control, field, {
|
|
2418
|
-
addText: addText,
|
|
2419
|
-
removeText: removeText,
|
|
2420
|
-
noAdd: noAdd,
|
|
2421
|
-
noRemove: noRemove
|
|
2422
|
-
}), {
|
|
2423
|
-
required: required,
|
|
2424
|
-
renderElement: function renderElement(i) {
|
|
2425
|
-
var _control$elements$i$u, _control$elements;
|
|
2426
|
-
return renderChild((_control$elements$i$u = (_control$elements = control.elements) == null ? void 0 : _control$elements[i].uniqueId) != null ? _control$elements$i$u : i, {
|
|
2427
|
-
type: exports.ControlDefinitionType.Data,
|
|
2428
|
-
field: definition.field,
|
|
2429
|
-
children: definition.children,
|
|
2430
|
-
renderOptions: childOptions != null ? childOptions : {
|
|
2431
|
-
type: exports.DataRenderType.Standard
|
|
2432
|
-
},
|
|
2433
|
-
hideTitle: true
|
|
2434
|
-
}, {
|
|
2435
|
-
elementIndex: i,
|
|
2436
|
-
dataContext: parentContext
|
|
2437
|
-
});
|
|
2438
|
-
},
|
|
2439
|
-
className: cc(className),
|
|
2440
|
-
style: style
|
|
2441
|
-
}, getLengthRestrictions(definition));
|
|
2442
|
-
return renderers.renderArray(arrayProps);
|
|
2443
|
-
});
|
|
2444
|
-
}
|
|
2445
|
-
function createDefaultArrayRenderer(options) {
|
|
2446
|
-
return {
|
|
2447
|
-
render: function render(props, _ref2) {
|
|
2448
|
-
var renderAction = _ref2.renderAction;
|
|
2449
|
-
return /*#__PURE__*/React__default["default"].createElement(DefaultArrayRenderer, _extends({}, props, options, {
|
|
2450
|
-
renderAction: renderAction
|
|
2451
|
-
}));
|
|
2452
|
-
},
|
|
2453
|
-
type: "array"
|
|
2454
|
-
};
|
|
2455
|
-
}
|
|
2456
|
-
function DefaultArrayRenderer(props) {
|
|
2457
|
-
var _effect = core.useComponentTracking();
|
|
2458
|
-
try {
|
|
2459
|
-
var renderElement = props.renderElement,
|
|
2460
|
-
className = props.className,
|
|
2461
|
-
removableClass = props.removableClass,
|
|
2462
|
-
childClass = props.childClass,
|
|
2463
|
-
removableChildClass = props.removableChildClass,
|
|
2464
|
-
removeActionClass = props.removeActionClass,
|
|
2465
|
-
addActionClass = props.addActionClass,
|
|
2466
|
-
arrayControl = props.arrayControl,
|
|
2467
|
-
renderAction = props.renderAction,
|
|
2468
|
-
style = props.style;
|
|
2469
|
-
var _applyArrayLengthRest = applyArrayLengthRestrictions(props),
|
|
2470
|
-
addAction = _applyArrayLengthRest.addAction,
|
|
2471
|
-
removeAction = _applyArrayLengthRest.removeAction;
|
|
2472
|
-
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
2473
|
-
style: style
|
|
2474
|
-
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
2475
|
-
className: clsx__default["default"](className, removeAction && removableClass)
|
|
2476
|
-
}, /*#__PURE__*/React__default["default"].createElement(core.RenderElements, {
|
|
2477
|
-
control: arrayControl
|
|
2478
|
-
}, function (_, x) {
|
|
2479
|
-
return removeAction ? /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
2480
|
-
className: clsx__default["default"](childClass, removableChildClass)
|
|
2481
|
-
}, renderElement(x)), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
2482
|
-
className: removeActionClass
|
|
2483
|
-
}, renderAction(removeAction(x)))) : /*#__PURE__*/React__default["default"].createElement("div", {
|
|
2484
|
-
className: childClass
|
|
2485
|
-
}, renderElement(x));
|
|
2486
|
-
})), addAction && /*#__PURE__*/React__default["default"].createElement("div", {
|
|
2487
|
-
className: addActionClass
|
|
2488
|
-
}, renderAction(addAction)));
|
|
2489
|
-
} finally {
|
|
2490
|
-
_effect();
|
|
2491
|
-
}
|
|
2492
|
-
}
|
|
2493
|
-
|
|
2494
|
-
function createRadioRenderer(options) {
|
|
2495
|
-
if (options === void 0) {
|
|
2496
|
-
options = {};
|
|
2497
|
-
}
|
|
2498
|
-
return createDataRenderer(function (p) {
|
|
2499
|
-
return /*#__PURE__*/React__default["default"].createElement(CheckButtons, _extends({}, options, p, {
|
|
2500
|
-
className: rendererClass(p.className, options.className),
|
|
2501
|
-
isChecked: function isChecked(control, o) {
|
|
2502
|
-
return control.value == o.value;
|
|
2503
|
-
},
|
|
2504
|
-
setChecked: function setChecked(c, o) {
|
|
2505
|
-
return c.value = o.value;
|
|
2506
|
-
},
|
|
2507
|
-
control: p.control,
|
|
2508
|
-
type: "radio"
|
|
2509
|
-
}));
|
|
2510
|
-
}, {
|
|
2511
|
-
renderType: exports.DataRenderType.Radio
|
|
2512
|
-
});
|
|
2513
|
-
}
|
|
2514
|
-
function createCheckListRenderer(options) {
|
|
2515
|
-
if (options === void 0) {
|
|
2516
|
-
options = {};
|
|
2517
|
-
}
|
|
2518
|
-
return createDataRenderer(function (p) {
|
|
2519
|
-
return /*#__PURE__*/React__default["default"].createElement(CheckButtons, _extends({}, options, p, {
|
|
2520
|
-
className: rendererClass(p.className, options.className),
|
|
2521
|
-
isChecked: function isChecked(control, o) {
|
|
2522
|
-
var v = control.value;
|
|
2523
|
-
return Array.isArray(v) ? v.includes(o.value) : false;
|
|
2524
|
-
},
|
|
2525
|
-
setChecked: function setChecked(c, o, checked) {
|
|
2526
|
-
c.setValue(function (x) {
|
|
2527
|
-
return setIncluded(x != null ? x : [], o.value, checked);
|
|
2528
|
-
});
|
|
2529
|
-
},
|
|
2530
|
-
control: p.control,
|
|
2531
|
-
type: "checkbox"
|
|
2532
|
-
}));
|
|
2533
|
-
}, {
|
|
2534
|
-
collection: true,
|
|
2535
|
-
renderType: exports.DataRenderType.CheckList
|
|
2536
|
-
});
|
|
2537
|
-
}
|
|
2538
|
-
function CheckButtons(_ref) {
|
|
2539
|
-
var _effect = core.useComponentTracking();
|
|
2540
|
-
try {
|
|
2541
|
-
var control = _ref.control,
|
|
2542
|
-
options = _ref.options,
|
|
2543
|
-
labelClass = _ref.labelClass,
|
|
2544
|
-
checkClass = _ref.checkClass,
|
|
2545
|
-
readonly = _ref.readonly,
|
|
2546
|
-
entryClass = _ref.entryClass,
|
|
2547
|
-
className = _ref.className,
|
|
2548
|
-
id = _ref.id,
|
|
2549
|
-
type = _ref.type,
|
|
2550
|
-
isChecked = _ref.isChecked,
|
|
2551
|
-
setChecked = _ref.setChecked;
|
|
2552
|
-
var disabled = control.disabled;
|
|
2553
|
-
var name = "r" + control.uniqueId;
|
|
2554
|
-
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
2555
|
-
className: className,
|
|
2556
|
-
id: id
|
|
2557
|
-
}, /*#__PURE__*/React__default["default"].createElement(core.RenderArrayElements, {
|
|
2558
|
-
array: options == null ? void 0 : options.filter(function (x) {
|
|
2559
|
-
return x.value != null;
|
|
2560
|
-
})
|
|
2561
|
-
}, function (o, i) {
|
|
2562
|
-
var checked = core.useComputed(function () {
|
|
2563
|
-
return isChecked(control, o);
|
|
2564
|
-
}).value;
|
|
2565
|
-
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
2566
|
-
key: i,
|
|
2567
|
-
className: entryClass
|
|
2568
|
-
}, /*#__PURE__*/React__default["default"].createElement("input", {
|
|
2569
|
-
id: name + "_" + i,
|
|
2570
|
-
className: checkClass,
|
|
2571
|
-
type: type,
|
|
2572
|
-
name: name,
|
|
2573
|
-
readOnly: readonly,
|
|
2574
|
-
disabled: disabled,
|
|
2575
|
-
checked: checked,
|
|
2576
|
-
onChange: function onChange(x) {
|
|
2577
|
-
!readonly && setChecked(control, o, x.target.checked);
|
|
2578
|
-
}
|
|
2579
|
-
}), /*#__PURE__*/React__default["default"].createElement("label", {
|
|
2580
|
-
className: labelClass,
|
|
2581
|
-
htmlFor: name + "_" + i
|
|
2582
|
-
}, o.name));
|
|
2583
|
-
}));
|
|
2584
|
-
} finally {
|
|
2585
|
-
_effect();
|
|
2586
|
-
}
|
|
2587
|
-
}
|
|
2588
|
-
function setIncluded(array, elem, included) {
|
|
2589
|
-
var already = array.includes(elem);
|
|
2590
|
-
if (included === already) {
|
|
2591
|
-
return array;
|
|
2592
|
-
}
|
|
2593
|
-
if (included) {
|
|
2594
|
-
return [].concat(array, [elem]);
|
|
2595
|
-
}
|
|
2596
|
-
return array.filter(function (e) {
|
|
2597
|
-
return e !== elem;
|
|
2598
|
-
});
|
|
2599
|
-
}
|
|
2600
|
-
function createCheckboxRenderer(options) {
|
|
2601
|
-
if (options === void 0) {
|
|
2602
|
-
options = {};
|
|
2603
|
-
}
|
|
2604
|
-
return createDataRenderer(function (props, renderer) {
|
|
2605
|
-
return function (p) {
|
|
2606
|
-
return _extends({}, p, {
|
|
2607
|
-
label: undefined,
|
|
2608
|
-
children: /*#__PURE__*/React__default["default"].createElement("div", {
|
|
2609
|
-
className: rendererClass(props.className, options.entryClass)
|
|
2610
|
-
}, /*#__PURE__*/React__default["default"].createElement(core.Fcheckbox, {
|
|
2611
|
-
id: props.id,
|
|
2612
|
-
control: props.control,
|
|
2613
|
-
style: props.style,
|
|
2614
|
-
className: options.checkClass
|
|
2615
|
-
}), p.label && renderer.renderLabel(p.label, undefined, undefined))
|
|
2616
|
-
});
|
|
2617
|
-
};
|
|
2618
|
-
}, {
|
|
2619
|
-
renderType: exports.DataRenderType.Checkbox
|
|
2620
|
-
});
|
|
2621
|
-
}
|
|
2622
|
-
|
|
2623
|
-
function DefaultAccordion(_ref) {
|
|
2624
|
-
var _effect = core.useComponentTracking();
|
|
2625
|
-
try {
|
|
2626
|
-
var children = _ref.children,
|
|
2627
|
-
accordion = _ref.accordion,
|
|
2628
|
-
contentStyle = _ref.contentStyle,
|
|
2629
|
-
contentClassName = _ref.contentClassName,
|
|
2630
|
-
designMode = _ref.designMode,
|
|
2631
|
-
iconOpenClass = _ref.iconOpenClass,
|
|
2632
|
-
iconClosedClass = _ref.iconClosedClass,
|
|
2633
|
-
className = _ref.className,
|
|
2634
|
-
_ref$renderTitle = _ref.renderTitle,
|
|
2635
|
-
renderTitle = _ref$renderTitle === void 0 ? function (t) {
|
|
2636
|
-
return t;
|
|
2637
|
-
} : _ref$renderTitle,
|
|
2638
|
-
renderToggler = _ref.renderToggler,
|
|
2639
|
-
renderers = _ref.renderers,
|
|
2640
|
-
titleClass = _ref.titleClass;
|
|
2641
|
-
var open = core.useControl(!!accordion.defaultExpanded);
|
|
2642
|
-
var isOpen = open.value;
|
|
2643
|
-
var fullContentStyle = isOpen || designMode ? contentStyle : _extends({}, contentStyle, {
|
|
2644
|
-
display: "none"
|
|
2645
|
-
});
|
|
2646
|
-
var title = renderers.renderLabelText(renderTitle(accordion.title, open));
|
|
2647
|
-
var toggler = renderToggler ? renderToggler(open, title) : /*#__PURE__*/React__default["default"].createElement("button", {
|
|
2648
|
-
className: className,
|
|
2649
|
-
onClick: function onClick() {
|
|
2650
|
-
return open.setValue(function (x) {
|
|
2651
|
-
return !x;
|
|
2652
|
-
});
|
|
2653
|
-
}
|
|
2654
|
-
}, /*#__PURE__*/React__default["default"].createElement("label", {
|
|
2655
|
-
className: titleClass
|
|
2656
|
-
}, title), /*#__PURE__*/React__default["default"].createElement("i", {
|
|
2657
|
-
className: clsx__default["default"](isOpen ? iconOpenClass : iconClosedClass)
|
|
2658
|
-
}));
|
|
2659
|
-
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, toggler, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
2660
|
-
style: fullContentStyle,
|
|
2661
|
-
className: contentClassName
|
|
2662
|
-
}, children));
|
|
2663
|
-
} finally {
|
|
2664
|
-
_effect();
|
|
2665
|
-
}
|
|
2666
|
-
}
|
|
2667
|
-
|
|
2668
|
-
var _excluded = ["control", "field", "renderOptions"];
|
|
2669
|
-
function createNullToggleRenderer() {
|
|
2670
|
-
return createDataRenderer(function (_ref, renderers) {
|
|
2671
|
-
var _control$meta, _nullControl, _control$meta$_nullCo;
|
|
2672
|
-
var control = _ref.control,
|
|
2673
|
-
field = _ref.field,
|
|
2674
|
-
props = _objectWithoutPropertiesLoose(_ref, _excluded);
|
|
2675
|
-
var nullControl = (_control$meta$_nullCo = (_control$meta = control.meta)[_nullControl = "nullControl"]) != null ? _control$meta$_nullCo : _control$meta[_nullControl] = core.newControl(control.current.value != null);
|
|
2676
|
-
return function (layout) {
|
|
2677
|
-
var newLayout = renderers.renderData(_extends({}, props, {
|
|
2678
|
-
control: nullControl,
|
|
2679
|
-
field: _extends({}, field, {
|
|
2680
|
-
type: exports.FieldType.Bool
|
|
2681
|
-
}),
|
|
2682
|
-
renderOptions: {
|
|
2683
|
-
type: exports.DataRenderType.Checkbox
|
|
2684
|
-
}
|
|
2685
|
-
}))(layout);
|
|
2686
|
-
return _extends({}, newLayout, {
|
|
2687
|
-
children: /*#__PURE__*/React__default["default"].createElement(NullWrapper, {
|
|
2688
|
-
control: control,
|
|
2689
|
-
nullControl: nullControl,
|
|
2690
|
-
children: newLayout.children,
|
|
2691
|
-
readonly: props.readonly,
|
|
2692
|
-
defaultValue: props.definition.defaultValue
|
|
2693
|
-
})
|
|
2694
|
-
});
|
|
2695
|
-
};
|
|
2696
|
-
});
|
|
2697
|
-
}
|
|
2698
|
-
function NullWrapper(_ref2) {
|
|
2699
|
-
var children = _ref2.children,
|
|
2700
|
-
nullControl = _ref2.nullControl,
|
|
2701
|
-
control = _ref2.control,
|
|
2702
|
-
defaultValue = _ref2.defaultValue,
|
|
2703
|
-
readonly = _ref2.readonly;
|
|
2704
|
-
core.useControlEffect(function () {
|
|
2705
|
-
return readonly;
|
|
2706
|
-
}, function (r) {
|
|
2707
|
-
return nullControl.disabled = r;
|
|
2708
|
-
}, true);
|
|
2709
|
-
core.useControlEffect(function () {
|
|
2710
|
-
return nullControl.value;
|
|
2711
|
-
}, function (e) {
|
|
2712
|
-
if (e) {
|
|
2713
|
-
var _nullControl$meta$non;
|
|
2714
|
-
control.value = (_nullControl$meta$non = nullControl.meta["nonNullValue"]) != null ? _nullControl$meta$non : defaultValue;
|
|
2715
|
-
} else {
|
|
2716
|
-
nullControl.meta["nonNullValue"] = control.value;
|
|
2717
|
-
control.value = null;
|
|
2718
|
-
}
|
|
2719
|
-
});
|
|
2720
|
-
return children;
|
|
2721
|
-
}
|
|
2722
|
-
|
|
2723
|
-
function createMultilineFieldRenderer(className) {
|
|
2724
|
-
return createDataRenderer(function (p) {
|
|
2725
|
-
return /*#__PURE__*/React__default["default"].createElement(MultilineTextfield, _extends({}, p, {
|
|
2726
|
-
className: rendererClass(p.className, className)
|
|
2727
|
-
}));
|
|
2728
|
-
});
|
|
2729
|
-
}
|
|
2730
|
-
function MultilineTextfield(_ref) {
|
|
2731
|
-
var _effect = core.useComponentTracking();
|
|
2732
|
-
try {
|
|
2733
|
-
var control = _ref.control,
|
|
2734
|
-
className = _ref.className;
|
|
2735
|
-
var codeRef = React.useRef(null);
|
|
2736
|
-
core.useControlEffect(function () {
|
|
2737
|
-
return control.value;
|
|
2738
|
-
}, function (v) {
|
|
2739
|
-
var c = codeRef.current;
|
|
2740
|
-
if (c && c.textContent !== v) {
|
|
2741
|
-
c.textContent = v;
|
|
2742
|
-
}
|
|
2743
|
-
}, true);
|
|
2744
|
-
return /*#__PURE__*/React__default["default"].createElement("code", {
|
|
2745
|
-
contentEditable: !control.disabled,
|
|
2746
|
-
className: className,
|
|
2747
|
-
onInput: function onInput(t) {
|
|
2748
|
-
return control.value = t.currentTarget.textContent;
|
|
2749
|
-
},
|
|
2750
|
-
ref: codeRef
|
|
2751
|
-
});
|
|
2752
|
-
} finally {
|
|
2753
|
-
_effect();
|
|
2754
|
-
}
|
|
2755
|
-
}
|
|
2756
|
-
|
|
2757
|
-
function createJsonataRenderer(className) {
|
|
2758
|
-
return createDataRenderer(function (p) {
|
|
2759
|
-
return /*#__PURE__*/React__default["default"].createElement(JsonataRenderer, {
|
|
2760
|
-
renderOptions: p.renderOptions,
|
|
2761
|
-
className: rendererClass(p.className, className),
|
|
2762
|
-
dataContext: p.dataContext,
|
|
2763
|
-
control: p.control,
|
|
2764
|
-
readonly: p.readonly
|
|
2765
|
-
});
|
|
2766
|
-
}, {
|
|
2767
|
-
renderType: exports.DataRenderType.Jsonata
|
|
2768
|
-
});
|
|
2769
|
-
}
|
|
2770
|
-
function JsonataRenderer(_ref) {
|
|
2771
|
-
var _effect = core.useComponentTracking();
|
|
2772
|
-
try {
|
|
2773
|
-
var control = _ref.control,
|
|
2774
|
-
expression = _ref.renderOptions.expression,
|
|
2775
|
-
readonly = _ref.readonly,
|
|
2776
|
-
className = _ref.className,
|
|
2777
|
-
dataContext = _ref.dataContext;
|
|
2778
|
-
var rendered = useJsonataExpression(expression, dataContext, function () {
|
|
2779
|
-
return {
|
|
2780
|
-
value: control.value,
|
|
2781
|
-
readonly: readonly,
|
|
2782
|
-
disabled: control.disabled
|
|
2783
|
-
};
|
|
2784
|
-
}, function (v) {
|
|
2785
|
-
return typeof v == null ? "" : typeof v === "object" ? "error: " + JSON.stringify(v) : v.toString();
|
|
2786
|
-
});
|
|
2787
|
-
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
2788
|
-
className: className,
|
|
2789
|
-
dangerouslySetInnerHTML: {
|
|
2790
|
-
__html: rendered.value
|
|
2791
|
-
}
|
|
2792
|
-
});
|
|
2793
|
-
} finally {
|
|
2794
|
-
_effect();
|
|
2795
|
-
}
|
|
2796
|
-
}
|
|
2797
|
-
|
|
2798
|
-
function createButtonActionRenderer(actionId, options) {
|
|
2799
|
-
if (options === void 0) {
|
|
2800
|
-
options = {};
|
|
2801
|
-
}
|
|
2802
|
-
return createActionRenderer(actionId, function (_ref) {
|
|
2803
|
-
var _options$renderConten;
|
|
2804
|
-
var onClick = _ref.onClick,
|
|
2805
|
-
actionText = _ref.actionText,
|
|
2806
|
-
className = _ref.className,
|
|
2807
|
-
style = _ref.style,
|
|
2808
|
-
actionId = _ref.actionId,
|
|
2809
|
-
actionData = _ref.actionData;
|
|
2810
|
-
return /*#__PURE__*/React__default["default"].createElement("button", {
|
|
2811
|
-
className: rendererClass(className, options.className),
|
|
2812
|
-
style: style,
|
|
2813
|
-
onClick: onClick
|
|
2814
|
-
}, (_options$renderConten = options.renderContent == null ? void 0 : options.renderContent(actionText, actionId, actionData)) != null ? _options$renderConten : actionText);
|
|
2815
|
-
});
|
|
2816
|
-
}
|
|
2817
|
-
function createDefaultGroupRenderer(options) {
|
|
2818
|
-
var _ref2 = options != null ? options : {},
|
|
2819
|
-
className = _ref2.className,
|
|
2820
|
-
_ref2$gridStyles = _ref2.gridStyles,
|
|
2821
|
-
gridStyles = _ref2$gridStyles === void 0 ? defaultGridStyles : _ref2$gridStyles,
|
|
2822
|
-
_ref2$defaultGridColu = _ref2.defaultGridColumns,
|
|
2823
|
-
defaultGridColumns = _ref2$defaultGridColu === void 0 ? 2 : _ref2$defaultGridColu,
|
|
2824
|
-
gridClassName = _ref2.gridClassName,
|
|
2825
|
-
standardClassName = _ref2.standardClassName,
|
|
2826
|
-
flexClassName = _ref2.flexClassName,
|
|
2827
|
-
defaultFlexGap = _ref2.defaultFlexGap;
|
|
2828
|
-
function defaultGridStyles(_ref3) {
|
|
2829
|
-
var _ref3$columns = _ref3.columns,
|
|
2830
|
-
columns = _ref3$columns === void 0 ? defaultGridColumns : _ref3$columns;
|
|
2831
|
-
return {
|
|
2832
|
-
className: gridClassName,
|
|
2833
|
-
style: {
|
|
2834
|
-
display: "grid",
|
|
2835
|
-
gridTemplateColumns: "repeat(" + columns + ", 1fr)"
|
|
2836
|
-
}
|
|
2837
|
-
};
|
|
2838
|
-
}
|
|
2839
|
-
function flexStyles(options) {
|
|
2840
|
-
return {
|
|
2841
|
-
className: flexClassName,
|
|
2842
|
-
style: {
|
|
2843
|
-
display: "flex",
|
|
2844
|
-
gap: options.gap ? options.gap : defaultFlexGap,
|
|
2845
|
-
flexDirection: options.direction ? options.direction : undefined
|
|
2846
|
-
}
|
|
2847
|
-
};
|
|
2848
|
-
}
|
|
2849
|
-
function render(props) {
|
|
2850
|
-
var renderChild = props.renderChild,
|
|
2851
|
-
renderOptions = props.renderOptions,
|
|
2852
|
-
childDefinitions = props.childDefinitions;
|
|
2853
|
-
var _ref4 = isGridRenderer(renderOptions) ? gridStyles(renderOptions) : isFlexRenderer(renderOptions) ? flexStyles(renderOptions) : {
|
|
2854
|
-
className: standardClassName
|
|
2855
|
-
},
|
|
2856
|
-
style = _ref4.style,
|
|
2857
|
-
gcn = _ref4.className;
|
|
2858
|
-
return function (cp) {
|
|
2859
|
-
return _extends({}, cp, {
|
|
2860
|
-
children: /*#__PURE__*/React__default["default"].createElement("div", {
|
|
2861
|
-
className: rendererClass(props.className, clsx__default["default"](className, gcn)),
|
|
2862
|
-
style: style
|
|
2863
|
-
}, childDefinitions == null ? void 0 : childDefinitions.map(function (c, i) {
|
|
2864
|
-
return renderChild(i, c);
|
|
2865
|
-
}))
|
|
2866
|
-
});
|
|
2867
|
-
};
|
|
2868
|
-
}
|
|
2869
|
-
return {
|
|
2870
|
-
type: "group",
|
|
2871
|
-
render: render
|
|
2872
|
-
};
|
|
2873
|
-
}
|
|
2874
|
-
var DefaultBoolOptions = [{
|
|
2875
|
-
name: "Yes",
|
|
2876
|
-
value: true
|
|
2877
|
-
}, {
|
|
2878
|
-
name: "No",
|
|
2879
|
-
value: false
|
|
2880
|
-
}];
|
|
2881
|
-
function createDefaultDataRenderer(options) {
|
|
2882
|
-
var _options$checkOptions, _options$radioOptions, _options$checkListOpt;
|
|
2883
|
-
if (options === void 0) {
|
|
2884
|
-
options = {};
|
|
2885
|
-
}
|
|
2886
|
-
var jsonataRenderer = createJsonataRenderer(options.jsonataClass);
|
|
2887
|
-
var nullToggler = createNullToggleRenderer();
|
|
2888
|
-
var multilineRenderer = createMultilineFieldRenderer(options.multilineClass);
|
|
2889
|
-
var checkboxRenderer = createCheckboxRenderer((_options$checkOptions = options.checkOptions) != null ? _options$checkOptions : options.checkboxOptions);
|
|
2890
|
-
var selectRenderer = createSelectRenderer(options.selectOptions);
|
|
2891
|
-
var radioRenderer = createRadioRenderer((_options$radioOptions = options.radioOptions) != null ? _options$radioOptions : options.checkOptions);
|
|
2892
|
-
var checkListRenderer = createCheckListRenderer((_options$checkListOpt = options.checkListOptions) != null ? _options$checkListOpt : options.checkOptions);
|
|
2893
|
-
var _optionRenderer$boole = _extends({
|
|
2894
|
-
optionRenderer: selectRenderer,
|
|
2895
|
-
booleanOptions: DefaultBoolOptions
|
|
2896
|
-
}, options),
|
|
2897
|
-
inputClass = _optionRenderer$boole.inputClass,
|
|
2898
|
-
booleanOptions = _optionRenderer$boole.booleanOptions,
|
|
2899
|
-
optionRenderer = _optionRenderer$boole.optionRenderer,
|
|
2900
|
-
displayOnlyClass = _optionRenderer$boole.displayOnlyClass;
|
|
2901
|
-
var arrayRenderer = createDefaultArrayDataRenderer(options.arrayOptions);
|
|
2902
|
-
return createDataRenderer(function (props, renderers) {
|
|
2903
|
-
var field = props.field;
|
|
2904
|
-
var fieldType = field.type;
|
|
2905
|
-
var renderOptions = props.renderOptions;
|
|
2906
|
-
var renderType = renderOptions.type;
|
|
2907
|
-
if (field.collection && props.elementIndex == null && renderType == exports.DataRenderType.Standard) {
|
|
2908
|
-
return arrayRenderer.render(props, renderers);
|
|
2909
|
-
}
|
|
2910
|
-
if (fieldType === exports.FieldType.Compound) {
|
|
2911
|
-
var _ref5;
|
|
2912
|
-
var groupOptions = (_ref5 = isDataGroupRenderer(renderOptions) ? renderOptions.groupOptions : undefined) != null ? _ref5 : {
|
|
2913
|
-
type: "Standard",
|
|
2914
|
-
hideTitle: true
|
|
2915
|
-
};
|
|
2916
|
-
return renderers.renderGroup(_extends({}, props, {
|
|
2917
|
-
renderOptions: groupOptions
|
|
2918
|
-
}));
|
|
2919
|
-
}
|
|
2920
|
-
if (fieldType == exports.FieldType.Any) return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, "No control for Any");
|
|
2921
|
-
if (isDisplayOnlyRenderer(renderOptions)) return function (p) {
|
|
2922
|
-
return _extends({}, p, {
|
|
2923
|
-
className: displayOnlyClass,
|
|
2924
|
-
children: /*#__PURE__*/React__default["default"].createElement(DefaultDisplayOnly, {
|
|
2925
|
-
field: props.field,
|
|
2926
|
-
schemaInterface: props.dataContext.schemaInterface,
|
|
2927
|
-
control: props.control,
|
|
2928
|
-
className: props.className,
|
|
2929
|
-
style: props.style,
|
|
2930
|
-
emptyText: renderOptions.emptyText
|
|
2931
|
-
})
|
|
2932
|
-
});
|
|
2933
|
-
};
|
|
2934
|
-
var isBool = fieldType === exports.FieldType.Bool;
|
|
2935
|
-
if (booleanOptions != null && isBool && props.options == null) {
|
|
2936
|
-
return renderers.renderData(_extends({}, props, {
|
|
2937
|
-
options: booleanOptions
|
|
2938
|
-
}));
|
|
2939
|
-
}
|
|
2940
|
-
if (renderType === exports.DataRenderType.Standard && hasOptions(props)) {
|
|
2941
|
-
return optionRenderer.render(props, renderers);
|
|
2942
|
-
}
|
|
2943
|
-
switch (renderType) {
|
|
2944
|
-
case exports.DataRenderType.NullToggle:
|
|
2945
|
-
return nullToggler.render(props, renderers);
|
|
2946
|
-
case exports.DataRenderType.CheckList:
|
|
2947
|
-
return checkListRenderer.render(props, renderers);
|
|
2948
|
-
case exports.DataRenderType.Dropdown:
|
|
2949
|
-
return selectRenderer.render(props, renderers);
|
|
2950
|
-
case exports.DataRenderType.Radio:
|
|
2951
|
-
return radioRenderer.render(props, renderers);
|
|
2952
|
-
case exports.DataRenderType.Checkbox:
|
|
2953
|
-
return checkboxRenderer.render(props, renderers);
|
|
2954
|
-
case exports.DataRenderType.Jsonata:
|
|
2955
|
-
return jsonataRenderer.render(props, renderers);
|
|
2956
|
-
}
|
|
2957
|
-
if (isTextfieldRenderer(renderOptions) && renderOptions.multiline) return multilineRenderer.render(props, renderers);
|
|
2958
|
-
var placeholder = isTextfieldRenderer(renderOptions) ? renderOptions.placeholder : undefined;
|
|
2959
|
-
return /*#__PURE__*/React__default["default"].createElement(ControlInput, {
|
|
2960
|
-
className: rendererClass(props.className, inputClass),
|
|
2961
|
-
style: props.style,
|
|
2962
|
-
id: props.id,
|
|
2963
|
-
readOnly: props.readonly,
|
|
2964
|
-
control: props.control,
|
|
2965
|
-
placeholder: placeholder != null ? placeholder : undefined,
|
|
2966
|
-
convert: createInputConversion(props.field.type)
|
|
2967
|
-
});
|
|
2968
|
-
});
|
|
2969
|
-
}
|
|
2970
|
-
function createDefaultAdornmentRenderer(options) {
|
|
2971
|
-
if (options === void 0) {
|
|
2972
|
-
options = {};
|
|
2973
|
-
}
|
|
2974
|
-
return {
|
|
2975
|
-
type: "adornment",
|
|
2976
|
-
render: function render(_ref6, renderers) {
|
|
2977
|
-
var adornment = _ref6.adornment,
|
|
2978
|
-
designMode = _ref6.designMode,
|
|
2979
|
-
parentContext = _ref6.parentContext,
|
|
2980
|
-
useExpr = _ref6.useExpr;
|
|
2981
|
-
return {
|
|
2982
|
-
apply: function apply(rl) {
|
|
2983
|
-
if (isSetFieldAdornment(adornment) && useExpr) {
|
|
2984
|
-
var setFieldWrapper = function setFieldWrapper(_ref7) {
|
|
2985
|
-
var children = _ref7.children,
|
|
2986
|
-
adornment = _ref7.adornment,
|
|
2987
|
-
parentContext = _ref7.parentContext;
|
|
2988
|
-
var _dynamicHooks = dynamicHooks(parentContext),
|
|
2989
|
-
value = _dynamicHooks.value;
|
|
2990
|
-
var refField = findFieldPath(parentContext.fields, adornment.field);
|
|
2991
|
-
var otherField = refField ? lookupChildControl(parentContext, refField) : undefined;
|
|
2992
|
-
var always = !adornment.defaultOnly;
|
|
2993
|
-
core.useControlEffect(function () {
|
|
2994
|
-
return [value == null ? void 0 : value.value, (otherField == null ? void 0 : otherField.value) == null];
|
|
2995
|
-
}, function (_ref8) {
|
|
2996
|
-
var v = _ref8[0];
|
|
2997
|
-
otherField == null || otherField.setValue(function (x) {
|
|
2998
|
-
return always || x == null ? v : x;
|
|
2999
|
-
});
|
|
3000
|
-
}, true);
|
|
3001
|
-
return children;
|
|
3002
|
-
};
|
|
3003
|
-
var hook = useExpr(adornment.expression, function (x) {
|
|
3004
|
-
return x;
|
|
3005
|
-
});
|
|
3006
|
-
var dynamicHooks = useDynamicHooks({
|
|
3007
|
-
value: hook
|
|
3008
|
-
});
|
|
3009
|
-
var SetFieldWrapper = React.useCallback(setFieldWrapper, [dynamicHooks]);
|
|
3010
|
-
return wrapLayout(function (x) {
|
|
3011
|
-
return /*#__PURE__*/React__default["default"].createElement(SetFieldWrapper, {
|
|
3012
|
-
children: x,
|
|
3013
|
-
parentContext: parentContext,
|
|
3014
|
-
adornment: adornment
|
|
3015
|
-
});
|
|
3016
|
-
})(rl);
|
|
3017
|
-
}
|
|
3018
|
-
if (isIconAdornment(adornment)) {
|
|
3019
|
-
var _adornment$placement;
|
|
3020
|
-
return appendMarkupAt((_adornment$placement = adornment.placement) != null ? _adornment$placement : exports.AdornmentPlacement.ControlStart, /*#__PURE__*/React__default["default"].createElement("i", {
|
|
3021
|
-
className: adornment.iconClass
|
|
3022
|
-
}))(rl);
|
|
3023
|
-
}
|
|
3024
|
-
if (isAccordionAdornment(adornment)) {
|
|
3025
|
-
return wrapLayout(function (x) {
|
|
3026
|
-
return /*#__PURE__*/React__default["default"].createElement(DefaultAccordion, _extends({
|
|
3027
|
-
renderers: renderers,
|
|
3028
|
-
children: x,
|
|
3029
|
-
accordion: adornment,
|
|
3030
|
-
contentStyle: rl.style,
|
|
3031
|
-
contentClassName: rl.className,
|
|
3032
|
-
designMode: designMode
|
|
3033
|
-
}, options.accordion));
|
|
3034
|
-
})(rl);
|
|
3035
|
-
}
|
|
3036
|
-
},
|
|
3037
|
-
priority: 0,
|
|
3038
|
-
adornment: adornment
|
|
3039
|
-
};
|
|
3040
|
-
}
|
|
3041
|
-
};
|
|
3042
|
-
}
|
|
3043
|
-
function createDefaultLayoutRenderer(options) {
|
|
3044
|
-
if (options === void 0) {
|
|
3045
|
-
options = {};
|
|
3046
|
-
}
|
|
3047
|
-
return createLayoutRenderer(function (props, renderers) {
|
|
3048
|
-
var layout = renderLayoutParts(_extends({}, props, {
|
|
3049
|
-
className: rendererClass(props.className, options.className)
|
|
3050
|
-
}), renderers);
|
|
3051
|
-
return {
|
|
3052
|
-
children: layout.wrapLayout( /*#__PURE__*/React__default["default"].createElement(DefaultLayout, _extends({
|
|
3053
|
-
layout: layout
|
|
3054
|
-
}, options))),
|
|
3055
|
-
className: layout.className,
|
|
3056
|
-
style: layout.style,
|
|
3057
|
-
divRef: function divRef(e) {
|
|
3058
|
-
return e && props.errorControl ? props.errorControl.meta.scrollElement = e : undefined;
|
|
3059
|
-
}
|
|
3060
|
-
};
|
|
3061
|
-
});
|
|
3062
|
-
}
|
|
3063
|
-
function createDefaultLabelRenderer(options) {
|
|
3064
|
-
var _requiredElement$labe = _extends({
|
|
3065
|
-
requiredElement: /*#__PURE__*/React__default["default"].createElement("span", null, " *"),
|
|
3066
|
-
labelContainer: function labelContainer(c) {
|
|
3067
|
-
return c;
|
|
3068
|
-
}
|
|
3069
|
-
}, options),
|
|
3070
|
-
className = _requiredElement$labe.className,
|
|
3071
|
-
groupLabelClass = _requiredElement$labe.groupLabelClass,
|
|
3072
|
-
controlLabelClass = _requiredElement$labe.controlLabelClass,
|
|
3073
|
-
requiredElement = _requiredElement$labe.requiredElement,
|
|
3074
|
-
labelContainer = _requiredElement$labe.labelContainer;
|
|
3075
|
-
return {
|
|
3076
|
-
render: function render(props, labelStart, labelEnd, renderers) {
|
|
3077
|
-
if (props.type == exports.LabelType.Text) return props.label;
|
|
3078
|
-
return labelContainer( /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement("label", {
|
|
3079
|
-
htmlFor: props.forId,
|
|
3080
|
-
className: rendererClass(props.className, clsx__default["default"](className, props.type === exports.LabelType.Group && groupLabelClass, props.type === exports.LabelType.Control && controlLabelClass))
|
|
3081
|
-
}, labelStart, renderers.renderLabelText(props.label), props.required && requiredElement), labelEnd));
|
|
3082
|
-
},
|
|
3083
|
-
type: "label"
|
|
3084
|
-
};
|
|
3085
|
-
}
|
|
3086
|
-
function createDefaultRenderers(options) {
|
|
3087
|
-
if (options === void 0) {
|
|
3088
|
-
options = {};
|
|
3089
|
-
}
|
|
3090
|
-
return {
|
|
3091
|
-
data: createDefaultDataRenderer(options.data),
|
|
3092
|
-
display: createDefaultDisplayRenderer(options.display),
|
|
3093
|
-
action: createButtonActionRenderer(undefined, options.action),
|
|
3094
|
-
array: createDefaultArrayRenderer(options.array),
|
|
3095
|
-
group: createDefaultGroupRenderer(options.group),
|
|
3096
|
-
label: createDefaultLabelRenderer(options.label),
|
|
3097
|
-
adornment: createDefaultAdornmentRenderer(options.adornment),
|
|
3098
|
-
renderLayout: createDefaultLayoutRenderer(options.layout),
|
|
3099
|
-
visibility: createDefaultVisibilityRenderer()
|
|
3100
|
-
};
|
|
3101
|
-
}
|
|
3102
|
-
|
|
3103
|
-
function createFormRenderer(customRenderers, defaultRenderers) {
|
|
3104
|
-
var _customRenderers$find;
|
|
3105
|
-
if (customRenderers === void 0) {
|
|
3106
|
-
customRenderers = [];
|
|
3107
|
-
}
|
|
3108
|
-
if (defaultRenderers === void 0) {
|
|
3109
|
-
defaultRenderers = createClassStyledRenderers();
|
|
3110
|
-
}
|
|
3111
|
-
var dataRegistrations = customRenderers.filter(isDataRegistration);
|
|
3112
|
-
var groupRegistrations = customRenderers.filter(isGroupRegistration);
|
|
3113
|
-
var adornmentRegistrations = customRenderers.filter(isAdornmentRegistration);
|
|
3114
|
-
var displayRegistrations = customRenderers.filter(isDisplayRegistration);
|
|
3115
|
-
var labelRenderers = customRenderers.filter(isLabelRegistration);
|
|
3116
|
-
var arrayRenderers = customRenderers.filter(isArrayRegistration);
|
|
3117
|
-
var actionRenderers = customRenderers.filter(isActionRegistration);
|
|
3118
|
-
var layoutRenderers = customRenderers.filter(isLayoutRegistration);
|
|
3119
|
-
var visibilityRenderer = (_customRenderers$find = customRenderers.find(isVisibilityRegistration)) != null ? _customRenderers$find : defaultRenderers.visibility;
|
|
3120
|
-
var formRenderers = {
|
|
3121
|
-
renderAction: renderAction,
|
|
3122
|
-
renderData: renderData,
|
|
3123
|
-
renderGroup: renderGroup,
|
|
3124
|
-
renderDisplay: renderDisplay,
|
|
3125
|
-
renderLabel: renderLabel,
|
|
3126
|
-
renderArray: renderArray,
|
|
3127
|
-
renderAdornment: renderAdornment,
|
|
3128
|
-
renderLayout: renderLayout,
|
|
3129
|
-
renderVisibility: visibilityRenderer.render,
|
|
3130
|
-
renderLabelText: renderLabelText
|
|
3131
|
-
};
|
|
3132
|
-
function renderLabelText(label) {
|
|
3133
|
-
return renderLabel({
|
|
3134
|
-
label: label,
|
|
3135
|
-
type: exports.LabelType.Text
|
|
3136
|
-
}, undefined, undefined);
|
|
3137
|
-
}
|
|
3138
|
-
function renderLayout(props) {
|
|
3139
|
-
var _layoutRenderers$find;
|
|
3140
|
-
var renderer = (_layoutRenderers$find = layoutRenderers.find(function (x) {
|
|
3141
|
-
return !x.match || x.match(props);
|
|
3142
|
-
})) != null ? _layoutRenderers$find : defaultRenderers.renderLayout;
|
|
3143
|
-
return renderer.render(props, formRenderers);
|
|
3144
|
-
}
|
|
3145
|
-
function renderAdornment(props) {
|
|
3146
|
-
var _adornmentRegistratio;
|
|
3147
|
-
var renderer = (_adornmentRegistratio = adornmentRegistrations.find(function (x) {
|
|
3148
|
-
return isOneOf(x.adornmentType, props.adornment.type);
|
|
3149
|
-
})) != null ? _adornmentRegistratio : defaultRenderers.adornment;
|
|
3150
|
-
return renderer.render(props, formRenderers);
|
|
3151
|
-
}
|
|
3152
|
-
function renderArray(props) {
|
|
3153
|
-
var _arrayRenderers$;
|
|
3154
|
-
return ((_arrayRenderers$ = arrayRenderers[0]) != null ? _arrayRenderers$ : defaultRenderers.array).render(props, formRenderers);
|
|
3155
|
-
}
|
|
3156
|
-
function renderLabel(props, labelStart, labelEnd) {
|
|
3157
|
-
var _labelRenderers$find;
|
|
3158
|
-
var renderer = (_labelRenderers$find = labelRenderers.find(function (x) {
|
|
3159
|
-
return isOneOf(x.labelType, props.type);
|
|
3160
|
-
})) != null ? _labelRenderers$find : defaultRenderers.label;
|
|
3161
|
-
return renderer.render(props, labelStart, labelEnd, formRenderers);
|
|
3162
|
-
}
|
|
3163
|
-
function renderData(props) {
|
|
3164
|
-
var _dataRegistrations$fi;
|
|
3165
|
-
var renderType = props.renderOptions.type,
|
|
3166
|
-
field = props.field;
|
|
3167
|
-
var options = hasOptions(props);
|
|
3168
|
-
var renderer = (_dataRegistrations$fi = dataRegistrations.find(function (x) {
|
|
3169
|
-
var _x$collection, _field$collection, _x$options;
|
|
3170
|
-
return ((_x$collection = x.collection) != null ? _x$collection : false) === (props.elementIndex == null && ((_field$collection = field.collection) != null ? _field$collection : false)) && ((_x$options = x.options) != null ? _x$options : false) === options && (x.schemaType && renderType == exports.DataRenderType.Standard && isOneOf(x.schemaType, field.type) || x.renderType && isOneOf(x.renderType, renderType) || x.match && x.match(props));
|
|
3171
|
-
})) != null ? _dataRegistrations$fi : defaultRenderers.data;
|
|
3172
|
-
var result = renderer.render(props, formRenderers);
|
|
3173
|
-
if (typeof result === "function") return result;
|
|
3174
|
-
return function (l) {
|
|
3175
|
-
return _extends({}, l, {
|
|
3176
|
-
children: result
|
|
3177
|
-
});
|
|
3178
|
-
};
|
|
3179
|
-
}
|
|
3180
|
-
function renderGroup(props) {
|
|
3181
|
-
var _groupRegistrations$f;
|
|
3182
|
-
var renderType = props.renderOptions.type;
|
|
3183
|
-
var renderer = (_groupRegistrations$f = groupRegistrations.find(function (x) {
|
|
3184
|
-
return isOneOf(x.renderType, renderType);
|
|
3185
|
-
})) != null ? _groupRegistrations$f : defaultRenderers.group;
|
|
3186
|
-
var result = renderer.render(props, formRenderers);
|
|
3187
|
-
if (typeof result === "function") return result;
|
|
3188
|
-
return function (l) {
|
|
3189
|
-
return _extends({}, l, {
|
|
3190
|
-
children: result
|
|
3191
|
-
});
|
|
3192
|
-
};
|
|
3193
|
-
}
|
|
3194
|
-
function renderAction(props) {
|
|
3195
|
-
var _actionRenderers$find;
|
|
3196
|
-
var renderer = (_actionRenderers$find = actionRenderers.find(function (x) {
|
|
3197
|
-
return isOneOf(x.actionType, props.actionId);
|
|
3198
|
-
})) != null ? _actionRenderers$find : defaultRenderers.action;
|
|
3199
|
-
return renderer.render(props, formRenderers);
|
|
3200
|
-
}
|
|
3201
|
-
function renderDisplay(props) {
|
|
3202
|
-
var _displayRegistrations;
|
|
3203
|
-
var renderType = props.data.type;
|
|
3204
|
-
var renderer = (_displayRegistrations = displayRegistrations.find(function (x) {
|
|
3205
|
-
return isOneOf(x.renderType, renderType);
|
|
3206
|
-
})) != null ? _displayRegistrations : defaultRenderers.display;
|
|
3207
|
-
return renderer.render(props, formRenderers);
|
|
3208
|
-
}
|
|
3209
|
-
return formRenderers;
|
|
3210
|
-
}
|
|
3211
|
-
function createClassStyledRenderers() {
|
|
3212
|
-
return createDefaultRenderers({
|
|
3213
|
-
layout: {
|
|
3214
|
-
className: "control"
|
|
3215
|
-
},
|
|
3216
|
-
group: {
|
|
3217
|
-
className: "group"
|
|
3218
|
-
},
|
|
3219
|
-
array: {
|
|
3220
|
-
className: "control-array"
|
|
3221
|
-
},
|
|
3222
|
-
action: {
|
|
3223
|
-
className: "action"
|
|
3224
|
-
},
|
|
3225
|
-
data: {
|
|
3226
|
-
inputClass: "data"
|
|
3227
|
-
},
|
|
3228
|
-
display: {
|
|
3229
|
-
htmlClassName: "html",
|
|
3230
|
-
textClassName: "text"
|
|
3231
|
-
}
|
|
3232
|
-
});
|
|
3233
|
-
}
|
|
3234
|
-
function isOneOf(x, v) {
|
|
3235
|
-
return x == null ? true : Array.isArray(x) ? x.includes(v) : v === x;
|
|
3236
|
-
}
|
|
3237
|
-
function isAdornmentRegistration(x) {
|
|
3238
|
-
return x.type === "adornment";
|
|
3239
|
-
}
|
|
3240
|
-
function isDataRegistration(x) {
|
|
3241
|
-
return x.type === "data";
|
|
3242
|
-
}
|
|
3243
|
-
function isGroupRegistration(x) {
|
|
3244
|
-
return x.type === "group";
|
|
3245
|
-
}
|
|
3246
|
-
function isLabelRegistration(x) {
|
|
3247
|
-
return x.type === "label";
|
|
3248
|
-
}
|
|
3249
|
-
function isLayoutRegistration(x) {
|
|
3250
|
-
return x.type === "layout";
|
|
3251
|
-
}
|
|
3252
|
-
function isVisibilityRegistration(x) {
|
|
3253
|
-
return x.type === "visibility";
|
|
3254
|
-
}
|
|
3255
|
-
function isActionRegistration(x) {
|
|
3256
|
-
return x.type === "action";
|
|
3257
|
-
}
|
|
3258
|
-
function isDisplayRegistration(x) {
|
|
3259
|
-
return x.type === "display";
|
|
3260
|
-
}
|
|
3261
|
-
function isArrayRegistration(x) {
|
|
3262
|
-
return x.type === "array";
|
|
3263
|
-
}
|
|
3264
|
-
|
|
3265
|
-
exports.AppendAdornmentPriority = AppendAdornmentPriority;
|
|
3266
|
-
exports.CheckButtons = CheckButtons;
|
|
3267
|
-
exports.ControlInput = ControlInput;
|
|
3268
|
-
exports.ControlRenderer = ControlRenderer;
|
|
3269
|
-
exports.DefaultBoolOptions = DefaultBoolOptions;
|
|
3270
|
-
exports.DefaultDisplay = DefaultDisplay;
|
|
3271
|
-
exports.DefaultDisplayOnly = DefaultDisplayOnly;
|
|
3272
|
-
exports.DefaultLayout = DefaultLayout;
|
|
3273
|
-
exports.DefaultSchemaInterface = DefaultSchemaInterface;
|
|
3274
|
-
exports.DefaultVisibility = DefaultVisibility;
|
|
3275
|
-
exports.JsonataRenderer = JsonataRenderer;
|
|
3276
|
-
exports.SelectDataRenderer = SelectDataRenderer;
|
|
3277
|
-
exports.WrapAdornmentPriority = WrapAdornmentPriority;
|
|
3278
|
-
exports.addFieldOption = addFieldOption;
|
|
3279
|
-
exports.addMissingControls = addMissingControls;
|
|
3280
|
-
exports.appendElementIndex = appendElementIndex;
|
|
3281
|
-
exports.appendMarkup = appendMarkup;
|
|
3282
|
-
exports.appendMarkupAt = appendMarkupAt;
|
|
3283
|
-
exports.applyArrayLengthRestrictions = applyArrayLengthRestrictions;
|
|
3284
|
-
exports.applyDefaultForField = applyDefaultForField;
|
|
3285
|
-
exports.applyDefaultValues = applyDefaultValues;
|
|
3286
|
-
exports.applyExtensionToSchema = applyExtensionToSchema;
|
|
3287
|
-
exports.applyExtensionsToSchema = applyExtensionsToSchema;
|
|
3288
|
-
exports.applyLengthRestrictions = applyLengthRestrictions;
|
|
3289
|
-
exports.boolField = boolField;
|
|
3290
|
-
exports.buildSchema = buildSchema;
|
|
3291
|
-
exports.cleanDataForSchema = cleanDataForSchema;
|
|
3292
|
-
exports.compoundControl = compoundControl;
|
|
3293
|
-
exports.compoundField = compoundField;
|
|
3294
|
-
exports.controlTitle = controlTitle;
|
|
3295
|
-
exports.createAction = createAction;
|
|
3296
|
-
exports.createActionRenderer = createActionRenderer;
|
|
3297
|
-
exports.createAdornmentRenderer = createAdornmentRenderer;
|
|
3298
|
-
exports.createArrayActions = createArrayActions;
|
|
3299
|
-
exports.createArrayRenderer = createArrayRenderer;
|
|
3300
|
-
exports.createButtonActionRenderer = createButtonActionRenderer;
|
|
3301
|
-
exports.createCheckListRenderer = createCheckListRenderer;
|
|
3302
|
-
exports.createCheckboxRenderer = createCheckboxRenderer;
|
|
3303
|
-
exports.createDataRenderer = createDataRenderer;
|
|
3304
|
-
exports.createDefaultAdornmentRenderer = createDefaultAdornmentRenderer;
|
|
3305
|
-
exports.createDefaultDataRenderer = createDefaultDataRenderer;
|
|
3306
|
-
exports.createDefaultDisplayRenderer = createDefaultDisplayRenderer;
|
|
3307
|
-
exports.createDefaultGroupRenderer = createDefaultGroupRenderer;
|
|
3308
|
-
exports.createDefaultLabelRenderer = createDefaultLabelRenderer;
|
|
3309
|
-
exports.createDefaultRenderers = createDefaultRenderers;
|
|
3310
|
-
exports.createDefaultVisibilityRenderer = createDefaultVisibilityRenderer;
|
|
3311
|
-
exports.createDisplayRenderer = createDisplayRenderer;
|
|
3312
|
-
exports.createFormRenderer = createFormRenderer;
|
|
3313
|
-
exports.createGroupRenderer = createGroupRenderer;
|
|
3314
|
-
exports.createInputConversion = createInputConversion;
|
|
3315
|
-
exports.createJsonataRenderer = createJsonataRenderer;
|
|
3316
|
-
exports.createLabelRenderer = createLabelRenderer;
|
|
3317
|
-
exports.createLayoutRenderer = createLayoutRenderer;
|
|
3318
|
-
exports.createNullToggleRenderer = createNullToggleRenderer;
|
|
3319
|
-
exports.createRadioRenderer = createRadioRenderer;
|
|
3320
|
-
exports.createSelectConversion = createSelectConversion;
|
|
3321
|
-
exports.createSelectRenderer = createSelectRenderer;
|
|
3322
|
-
exports.createVisibilityRenderer = createVisibilityRenderer;
|
|
3323
|
-
exports.dataControl = dataControl;
|
|
3324
|
-
exports.dateField = dateField;
|
|
3325
|
-
exports.dateTimeField = dateTimeField;
|
|
3326
|
-
exports.defaultCompoundField = defaultCompoundField;
|
|
3327
|
-
exports.defaultControlForField = defaultControlForField;
|
|
3328
|
-
exports.defaultDataProps = defaultDataProps;
|
|
3329
|
-
exports.defaultEvalHooks = defaultEvalHooks;
|
|
3330
|
-
exports.defaultScalarField = defaultScalarField;
|
|
3331
|
-
exports.defaultSchemaInterface = defaultSchemaInterface;
|
|
3332
|
-
exports.defaultTailwindTheme = defaultTailwindTheme;
|
|
3333
|
-
exports.defaultUseEvalExpressionHook = defaultUseEvalExpressionHook;
|
|
3334
|
-
exports.defaultValueForField = defaultValueForField;
|
|
3335
|
-
exports.defaultValueForFields = defaultValueForFields;
|
|
3336
|
-
exports.doubleField = doubleField;
|
|
3337
|
-
exports.dynamicDefaultValue = dynamicDefaultValue;
|
|
3338
|
-
exports.dynamicDisabled = dynamicDisabled;
|
|
3339
|
-
exports.dynamicReadonly = dynamicReadonly;
|
|
3340
|
-
exports.dynamicVisibility = dynamicVisibility;
|
|
3341
|
-
exports.elementValueForField = elementValueForField;
|
|
3342
|
-
exports.emptyGroupDefinition = emptyGroupDefinition;
|
|
3343
|
-
exports.existsInGroups = existsInGroups;
|
|
3344
|
-
exports.fieldDisplayName = fieldDisplayName;
|
|
3345
|
-
exports.fieldEqExpr = fieldEqExpr;
|
|
3346
|
-
exports.fieldHasTag = fieldHasTag;
|
|
3347
|
-
exports.findChildDefinition = findChildDefinition;
|
|
3348
|
-
exports.findCompoundField = findCompoundField;
|
|
3349
|
-
exports.findCompoundGroups = findCompoundGroups;
|
|
3350
|
-
exports.findControlsForCompound = findControlsForCompound;
|
|
3351
|
-
exports.findField = findField;
|
|
3352
|
-
exports.findFieldPath = findFieldPath;
|
|
3353
|
-
exports.findNonDataGroups = findNonDataGroups;
|
|
3354
|
-
exports.findScalarField = findScalarField;
|
|
3355
|
-
exports.getAllReferencedClasses = getAllReferencedClasses;
|
|
3356
|
-
exports.getControlData = getControlData;
|
|
3357
|
-
exports.getDisplayOnlyOptions = getDisplayOnlyOptions;
|
|
3358
|
-
exports.getLengthRestrictions = getLengthRestrictions;
|
|
3359
|
-
exports.getOverrideClass = getOverrideClass;
|
|
3360
|
-
exports.getTypeField = getTypeField;
|
|
3361
|
-
exports.groupedControl = groupedControl;
|
|
3362
|
-
exports.hasOptions = hasOptions;
|
|
3363
|
-
exports.hideDisplayOnly = hideDisplayOnly;
|
|
3364
|
-
exports.htmlDisplayControl = htmlDisplayControl;
|
|
3365
|
-
exports.intField = intField;
|
|
3366
|
-
exports.isAccordionAdornment = isAccordionAdornment;
|
|
3367
|
-
exports.isActionControlsDefinition = isActionControlsDefinition;
|
|
3368
|
-
exports.isArrayRenderer = isArrayRenderer;
|
|
3369
|
-
exports.isCompoundField = isCompoundField;
|
|
3370
|
-
exports.isControlDisabled = isControlDisabled;
|
|
3371
|
-
exports.isControlReadonly = isControlReadonly;
|
|
3372
|
-
exports.isDataControl = isDataControl;
|
|
3373
|
-
exports.isDataControlDefinition = isDataControlDefinition;
|
|
3374
|
-
exports.isDataGroupRenderer = isDataGroupRenderer;
|
|
3375
|
-
exports.isDisplayControlsDefinition = isDisplayControlsDefinition;
|
|
3376
|
-
exports.isDisplayOnlyRenderer = isDisplayOnlyRenderer;
|
|
3377
|
-
exports.isFlexRenderer = isFlexRenderer;
|
|
3378
|
-
exports.isGridRenderer = isGridRenderer;
|
|
3379
|
-
exports.isGroupControl = isGroupControl;
|
|
3380
|
-
exports.isGroupControlsDefinition = isGroupControlsDefinition;
|
|
3381
|
-
exports.isIconAdornment = isIconAdornment;
|
|
3382
|
-
exports.isScalarField = isScalarField;
|
|
3383
|
-
exports.isSetFieldAdornment = isSetFieldAdornment;
|
|
3384
|
-
exports.isTextfieldRenderer = isTextfieldRenderer;
|
|
3385
|
-
exports.jsonPathString = jsonPathString;
|
|
3386
|
-
exports.jsonataExpr = jsonataExpr;
|
|
3387
|
-
exports.layoutKeyForPlacement = layoutKeyForPlacement;
|
|
3388
|
-
exports.lookupChildControl = lookupChildControl;
|
|
3389
|
-
exports.lookupChildControlPath = lookupChildControlPath;
|
|
3390
|
-
exports.lookupSchemaField = lookupSchemaField;
|
|
3391
|
-
exports.makeCompoundField = makeCompoundField;
|
|
3392
|
-
exports.makeEvalExpressionHook = makeEvalExpressionHook;
|
|
3393
|
-
exports.makeHook = makeHook;
|
|
3394
|
-
exports.makeHookDepString = makeHookDepString;
|
|
3395
|
-
exports.makeScalarField = makeScalarField;
|
|
3396
|
-
exports.matchesType = matchesType;
|
|
3397
|
-
exports.mergeField = mergeField;
|
|
3398
|
-
exports.mergeFields = mergeFields;
|
|
3399
|
-
exports.mergeObjects = mergeObjects;
|
|
3400
|
-
exports.renderControlLayout = renderControlLayout;
|
|
3401
|
-
exports.renderLayoutParts = renderLayoutParts;
|
|
3402
|
-
exports.rendererClass = rendererClass;
|
|
3403
|
-
exports.resolveSchemas = resolveSchemas;
|
|
3404
|
-
exports.setIncluded = setIncluded;
|
|
3405
|
-
exports.stringField = stringField;
|
|
3406
|
-
exports.stringOptionsField = stringOptionsField;
|
|
3407
|
-
exports.textDisplayControl = textDisplayControl;
|
|
3408
|
-
exports.timeField = timeField;
|
|
3409
|
-
exports.toDepString = toDepString;
|
|
3410
|
-
exports.useControlDefinitionForSchema = useControlDefinitionForSchema;
|
|
3411
|
-
exports.useControlRenderer = useControlRenderer;
|
|
3412
|
-
exports.useDateValidator = useDateValidator;
|
|
3413
|
-
exports.useDynamicHooks = useDynamicHooks;
|
|
3414
|
-
exports.useEvalActionHook = useEvalActionHook;
|
|
3415
|
-
exports.useEvalAllowedOptionsHook = useEvalAllowedOptionsHook;
|
|
3416
|
-
exports.useEvalDefaultValueHook = useEvalDefaultValueHook;
|
|
3417
|
-
exports.useEvalDisabledHook = useEvalDisabledHook;
|
|
3418
|
-
exports.useEvalDisplayHook = useEvalDisplayHook;
|
|
3419
|
-
exports.useEvalDynamicBoolHook = useEvalDynamicBoolHook;
|
|
3420
|
-
exports.useEvalDynamicHook = useEvalDynamicHook;
|
|
3421
|
-
exports.useEvalLabelText = useEvalLabelText;
|
|
3422
|
-
exports.useEvalReadonlyHook = useEvalReadonlyHook;
|
|
3423
|
-
exports.useEvalStyleHook = useEvalStyleHook;
|
|
3424
|
-
exports.useEvalVisibilityHook = useEvalVisibilityHook;
|
|
3425
|
-
exports.useJsonataExpression = useJsonataExpression;
|
|
3426
|
-
exports.useJsonataValidator = useJsonataValidator;
|
|
3427
|
-
exports.useLengthValidator = useLengthValidator;
|
|
3428
|
-
exports.useMakeValidationHook = useMakeValidationHook;
|
|
3429
|
-
exports.useUpdatedRef = useUpdatedRef;
|
|
3430
|
-
exports.useUuidExpression = useUuidExpression;
|
|
3431
|
-
exports.visitControlData = visitControlData;
|
|
3432
|
-
exports.visitControlDataArray = visitControlDataArray;
|
|
3433
|
-
exports.visitControlDefinition = visitControlDefinition;
|
|
3434
|
-
exports.watchControlLookup = watchControlLookup;
|
|
3435
|
-
exports.withScalarOptions = withScalarOptions;
|
|
3436
|
-
exports.wrapLayout = wrapLayout;
|
|
3437
|
-
exports.wrapMarkup = wrapMarkup;
|
|
3438
|
-
exports.wrapMarkupAt = wrapMarkupAt;
|
|
1
|
+
import e,{useRef as n,useCallback as t,useMemo as r,useEffect as l,Fragment as a,useState as o}from"react";import{trackControlChange as i,ControlChange as u,useControl as c,useRefState as s,makeChangeTracker as d,addAfterChangesCallback as f,collectChanges as p,trackedValue as y,useComputed as m,useCalculatedControl as v,useValueChangeEffect as h,useValidator as C,useComponentTracking as g,useControlEffect as b,newControl as N,addElement as x,removeElement as D,formControlProps as E,RenderElements as T,RenderArrayElements as O,Fcheckbox as A}from"@react-typed-forms/core";import S from"clsx";import I from"jsonata";import{v4 as L}from"uuid";var k,w,V,F,M,q,G,H,R,P,j,B,J;function U(e){return e.type===V.Data}function _(e){return e.type===V.Group}function $(e){return e.type===V.Display}function Y(e){return e.type===V.Action}function W(e,n,t){switch(e.type){case V.Action:return n.action(e);case V.Data:return n.data(e);case V.Display:return n.display(e);case V.Group:return n.group(e);default:return t(e)}}function z(e){return e.type===P.Grid}function K(e){return e.type===P.Flex}function Q(e){return e.type===H.DisplayOnly}function X(e){return e.type===H.Textfield}function Z(e){return e.type===H.Group}function ee(e){return e.type===H.Array}function ne(){return ne=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)({}).hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},ne.apply(null,arguments)}function te(e,n){if(null==e)return{};var t={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(n.includes(r))continue;t[r]=e[r]}return t}function re(e,n,t){if(!e)return ae(n);if(t&&t.has(e))return e;null!=t||(t=new Set),t.add(e);const r=n.filter(n=>fe(n)||!(n.field in e));if(!r.length)return e;const l=ne({},e);return r.forEach(r=>{l[r.field]=r.field in e?le(e[r.field],r,n,!1,t):oe(r)}),l}function le(e,n,t,r,l){return n.collection&&!r?(null!=e?e:[]).map(e=>le(e,n,t,!0,l)):fe(n)?e||n.required?re(e,n.treeChildren?t:n.children,l):e:oe(n)}function ae(e){return Object.fromEntries(e.map(e=>[e.field,oe(e)]))}function oe(e,n,t){if(void 0!==e.defaultValue)return e.defaultValue;const r=!(!n&&!e.required);if(fe(e)){if(r){const n=ae(e.children);return e.collection?[n]:n}return e.notNullable||t?e.collection?[]:{}:void 0}return e.collection&&e.notNullable?[]:void 0}function ie(e){return fe(e)?ae(e.children):e.defaultValue}function ue(e,n){return se(e,n)}function ce(e,n){return se(e,n)}function se(e,n){return e.find(e=>e.field===n)}function de(e){return!fe(e)}function fe(e){return e.type===k.Compound}function pe(e){return e.type===V.Data}function ye(e){return e.type===V.Group}function me(e,n){var t;return Boolean(null==(t=e.tags)?void 0:t.includes(n))}function ve(e){var n;return null!=(n=e.displayName)?n:e.field}function he(e){var n,t;return(null!=(n=null==(t=e.options)?void 0:t.length)?n:0)>0}function Ce(e){if(fe(e))return{type:V.Data,title:e.displayName,field:e.field,required:e.required,children:e.children.map(Ce)};if(de(e)){var n;const t=null==(n=e.tags)?void 0:n.includes("_HtmlEditor");return{type:V.Data,title:e.displayName,field:e.field,required:e.required,renderOptions:{type:t?H.HtmlEditor:H.Standard}}}throw"Unknown schema field"}function ge(e,n){return U(n)&&e.field===n.field?[n]:_(n)?n.compoundField===e.field?[n]:null!=(t=null==(r=n.children)?void 0:r.flatMap(n=>ge(e,n)))?t:[]:[];var t,r}function be(e,n){return Object.fromEntries(e.filter(fe).map(e=>{const t=n.flatMap(n=>ge(e,n));return[e.field,{groups:t.concat(xe(t.flatMap(e=>{var n;return null!=(n=e.children)?n:[]}))),children:be(e.children,t.flatMap(e=>{var n;return null!=(n=e.children)?n:[]}))}]}))}function Ne(e,n){if(!n.groups.find(n=>{var t;return null==(t=n.children)?void 0:t.find(n=>U(n)&&n.field===e.field||_(n)&&n.compoundField===e.field)}))return[[e,n]];if(fe(e)){const t=n.children[e.field];return t?e.children.flatMap(e=>Ne(e,t)):[[e,n]]}return[]}function xe(e){return e.flatMap(e=>{var n;return _(e)&&!e.compoundField?[e,...xe(null!=(n=e.children)?n:[])]:[]})}function De(e){var n;return ne({},e,{children:null==(n=e.children)?void 0:n.map(De)})}function Ee(e,n){const t={children:be(e,n=n.map(De)),groups:xe([{type:V.Group,children:n}])};return e.filter(e=>!me(e,"_NoControl")).flatMap(e=>Ne(e,t)).forEach(([e,n])=>{var t;const r=null==(t=e.tags)?void 0:t.find(e=>e.startsWith("_ControlGroup:"));let l;if(r){const e=r.substring(14);l=n.groups.find(n=>n.title===e)}if(l||(l=n.groups[0]),l){const n=Ce(e);l.children?l.children.push(n):l.children=[n]}}),n}function Te(e){const t=n(e);return t.current=e,t}function Oe(e){return pe(e)&&!!e.readonly}function Ae(e){return pe(e)&&!!e.disabled}function Se(e){return U(e)&&e.renderOptions&&Q(e.renderOptions)?e.renderOptions:void 0}function Ie(e,n){const t=n.slice(0,-1),r=(t.length>0?t.at(-1).children:e.fields).find(e=>e.isTypeField);return r?we(e,[...t,r]):void 0}function Le(e,n,t){if(e)for(const r of e){const e=ke(r,n,t);if(void 0!==e)return e}}function ke(e,n,t){return W(e,{data:e=>r(e,e.field,e.children),group:e=>r(void 0,e.compoundField,e.children),action:()=>{},display:()=>{}},()=>{});function r(e,r,l){const a=r?se(n.fields,r):void 0;if(!a)return r?void 0:Le(l,n,t);const o=[...n.path,a.field],i=n.data.lookupControl(o);if(!i)return;const u=e?t(e,a,i,!1):void 0;if(void 0!==u)return u;const c=fe(a);if(a.collection){let r=0;for(const u of null!=(s=i.elements)?s:[]){var s;const i=e?t(e,a,u,!0):void 0;if(void 0!==i)return i;if(c){const e=Le(l,ne({},n,{fields:a.children,path:[...o,r]}),t);if(void 0!==e)return e}r++}}else if(c)return Le(l,ne({},n,{fields:a.children,path:o}),t)}}function we(e,n,t){const r=n.map(e=>e.field);return Ve(e,null==t?r:[...r,t])}function Ve(e,n){const t=[...e.path,...n];return Pe(e.data,t)}function Fe(e,n,t){if(!e)return e;const r=n.find(e=>e.isTypeField),l=r?e[r.field]:void 0,a=t?n:n.filter(e=>{var n,t;return fe(e)||(null!=(n=null==(t=e.onlyForTypes)?void 0:t.length)?n:0)>0});if(!a.length)return e;const o=ne({},e);return a.forEach(r=>{var a;const i=e[r.field];if(!1===(null==(a=r.onlyForTypes)?void 0:a.includes(l))||!r.notNullable&&(t&&r.defaultValue===i||r.collection&&Array.isArray(i)&&!i.length))delete o[r.field];else if(fe(r)){const e=r.treeChildren?n:r.children;r.collection?Array.isArray(i)&&(o[r.field]=i.map(n=>Fe(n,e,t))):o[r.field]=Fe(i,e,t)}}),o}function Me(e,n){var t,r;const l=null==(t=e.children)?void 0:t.flatMap(e=>Me(e,n)),a=S([e.styleClass,e.layoutClass,e.labelClass,...null!=(r=null==n?void 0:n(e))?r:[]].map(He));return l&&!a?l:a?l?[a,...l]:[a]:[]}function qe(e,n){let t="";return e.forEach((e,r)=>{var l;"number"==typeof e?t+=null!=(l=null==n?void 0:n(e))?l:"["+e+"]":(r>0&&(t+="."),t+=e)}),t}function Ge(e,n){if(Array.isArray(n)){let t=e;return n.forEach(e=>t=t.children[e]),t}return e.children[n]}function He(e){return e&&e.startsWith("@ ")?e.substring(2):e}function Re(e,n){const t=He(e);return t===e?S(e,n):t||void 0}function Pe(e,n){let t=0;for(;t<n.length&&e;){const a=n[t],o=e.current;if("string"==typeof a){var r;const n=null==(r=o.fields)?void 0:r[a];n||i(e,u.Structure),e=n}else{var l;e=null==(l=o.elements)?void 0:l[a]}t++}return e}function je(e,n,t){return{deps:t,state:n,runHook:e}}function Be(e,n){return e.map(e=>Ue(n(e))).join(",")}function Je(e){const r=Object.entries(e),l=Be(r,e=>e[1].deps),a=n({}),o=a.current;return r.forEach(e=>o[e[0]]=e[1].state),t(e=>Object.fromEntries(r.map(([n,t])=>[n,t.runHook(e,a.current[n])])),[l])}function Ue(e){return void 0===e?"_":null===e?"~":e.toString()}function _e(e,n){return ne({},e,{path:[...e.path,n]})}function $e(e,n,t,r,l){return[null==n||e>n?r:void 0,null==t||e<t?l:void 0]}function Ye(e,n){if(!n)return;const t=n.split("/"),r=[];let l=0,a=e;for(;l<t.length&&a;){const e=se(a,t[l]);if(!e)return;r.push(e),a=fe(e)&&!e.collection?e.children:void 0,l++}return r.length===t.length?r:void 0}function We(e,n,t=(e,n,t)=>null!=n?n:t){if(!e)return n;if(!n)return e;const r=ne({},e);for(const l in n)n.hasOwnProperty(l)&&(r[l]=t(l,e[l],n[l]));return r}function ze(e){return Object.entries(e).map(e=>e[1](e[0]))}function Ke(e,n){return Ze(ne({type:k.String,displayName:e},n))}function Qe(e,...n){return Ze({type:k.String,displayName:e,options:n})}function Xe(e,n){return t=>ne({},n(t),e)}function Ze(e){return n=>ne({},cn(n,n),e)}function en(e){return n=>ne({},sn(n,n,!1),e)}function nn(e,n){return Ze(ne({type:k.Int,displayName:e},n))}function tn(e,n){return Ze(ne({type:k.Double,displayName:e},n))}function rn(e,n){return Ze(ne({type:k.Date,displayName:e},n))}function ln(e,n){return Ze(ne({type:k.Time,displayName:e},n))}function an(e,n){return Ze(ne({type:k.DateTime,displayName:e},n))}function on(e,n){return Ze(ne({type:k.Bool,displayName:e},n))}function un(e,n,t){return r=>ne({},sn(r,e,!1),t,{children:n})}function cn(e,n){return{field:e,displayName:n,type:k.String}}function sn(e,n,t){return{field:e,displayName:n,type:k.Compound,collection:t,children:[]}}function dn(e,n){const t=n.find(n=>n.field===e.field);return t?n.map(n=>n!==t?n:ne({},n,{onlyForTypes:r(n.onlyForTypes,e.onlyForTypes)})):[...n,e];function r(e,n){if(!e)return n;if(!n)return e;const t=n.filter(n=>!e.includes(n));return t.length?[...e,...t]:e}}function fn(e,n,t,r){const l=e.map(e=>e.isTypeField?pn(e,n,t):e);return r.map(e=>ne({},e,{onlyForTypes:[t]})).reduce((e,n)=>dn(n,e),l)}function pn(e,n,t){var r;const l=null!=(r=e.options)?r:[];return l.some(e=>e.value===t)?e:ne({},e,{options:[...l,{name:n,value:t}]})}function yn(e){const n={};return Object.keys(e).forEach(function t(r){if(r in n)return n[r];const l=[];return n[r]=l,e[r].forEach(e=>{fe(e)&&e.schemaRef?l.push(ne({},e,{children:t(e.schemaRef)})):l.push(e)}),l}),n}function mn(e,n,t){return ne({type:V.Data,field:e,title:n},t)}function vn(e){return n=>ne({type:e},n)}function hn(e){return n=>ne({type:e},n)}function Cn(e){return n=>({renderOptions:ne({type:e},n)})}!function(e){e.String="String",e.Bool="Bool",e.Int="Int",e.Date="Date",e.DateTime="DateTime",e.Time="Time",e.Double="Double",e.EntityRef="EntityRef",e.Compound="Compound",e.AutoId="AutoId",e.Image="Image",e.Any="Any"}(k||(k={})),function(e){e.NotEmpty="NotEmpty",e.MinLength="MinLength",e.MaxLength="MaxLength",e.NotAfterDate="NotAfterDate",e.NotBeforeDate="NotBeforeDate"}(w||(w={})),function(e){e.Data="Data",e.Group="Group",e.Display="Display",e.Action="Action"}(V||(V={})),function(e){e.Visible="Visible",e.DefaultValue="DefaultValue",e.Readonly="Readonly",e.Disabled="Disabled",e.Display="Display",e.Style="Style",e.LayoutStyle="LayoutStyle",e.AllowedOptions="AllowedOptions",e.Label="Label",e.ActionData="ActionData"}(F||(F={})),function(e){e.Jsonata="Jsonata",e.Data="Data",e.DataMatch="FieldValue",e.UserMatch="UserMatch",e.NotEmpty="NotEmpty",e.UUID="UUID"}(M||(M={})),function(e){e.ControlStart="ControlStart",e.ControlEnd="ControlEnd",e.LabelStart="LabelStart",e.LabelEnd="LabelEnd"}(q||(q={})),function(e){e.Tooltip="Tooltip",e.Accordion="Accordion",e.HelpText="HelpText",e.Icon="Icon",e.SetField="SetField"}(G||(G={})),function(e){e.Standard="Standard",e.Textfield="Textfield",e.Radio="Radio",e.HtmlEditor="HtmlEditor",e.IconList="IconList",e.CheckList="CheckList",e.UserSelection="UserSelection",e.Synchronised="Synchronised",e.IconSelector="IconSelector",e.DateTime="DateTime",e.Checkbox="Checkbox",e.Dropdown="Dropdown",e.DisplayOnly="DisplayOnly",e.Group="Group",e.NullToggle="NullToggle",e.Jsonata="Jsonata",e.Array="Array"}(H||(H={})),function(e){e.Camel="Camel",e.Snake="Snake",e.Pascal="Pascal"}(R||(R={})),function(e){e.Standard="Standard",e.Grid="Grid",e.Flex="Flex",e.GroupElement="GroupElement"}(P||(P={})),function(e){e.Text="Text",e.Html="Html",e.Icon="Icon",e.Custom="Custom"}(j||(j={})),function(e){e.Jsonata="Jsonata",e.Date="Date",e.Length="Length"}(B||(B={})),function(e){e.NotBefore="NotBefore",e.NotAfter="NotAfter"}(J||(J={}));const gn=Cn(H.CheckList),bn=Cn(H.Radio),Nn=vn(B.Length),xn=vn(B.Jsonata),Dn=vn(B.Date),En=hn(G.Accordion),Tn=Cn(H.Textfield),On=Cn(H.DisplayOnly),An=Cn(H.Jsonata);function Sn(e,n){return ne({type:V.Display,displayData:{type:j.Text,text:e}},n)}function In(e,n){return ne({type:V.Display,displayData:{type:j.Html,html:e}},n)}function Ln(e){return{type:F.DefaultValue,expr:e}}function kn(e){return{type:F.Readonly,expr:e}}function wn(e){return{type:F.Visible,expr:e}}function Vn(e){return{type:F.Disabled,expr:e}}function Fn(e){return{type:M.Data,field:e}}function Mn(e,n){return{type:M.DataMatch,field:e,value:n}}function qn(e){return{type:M.Jsonata,expression:e}}function Gn(e,n,t){return ne({type:V.Group,children:e,title:n,groupOptions:{type:"Standard",hideTitle:!n}},t)}function Hn(e,n,t,r){return ne({type:V.Data,field:e,children:t,title:n,renderOptions:{type:"Standard"}},r)}function Rn(e,n,t){return ne({type:V.Action,title:e,actionId:n},t)}function Pn(e,n,t){return{actionId:e,onClick:n,actionText:null!=t?t:e}}const jn={type:V.Group,children:[],groupOptions:{type:P.Standard,hideTitle:!0}};function Bn(e,n=jn){return r(()=>{var t;return ne({},n,{children:Ee(e,null!=(t=n.children)?t:[])})},[e,n])}function Jn(e,n){const t=ne({},e);return Object.entries(n).forEach(([e,n])=>{t[e]=(Array.isArray(n)?n:[n]).reduce((e,n)=>{var t;return fn(e,n.name,n.value,null!=(t=n.fields)?t:[])},t[e])}),t}function Un(e,n){return yn(n.reduce(Jn,e))}function _n(e,n,t){return ct(nt(n,F.Visible,e),(e,{fieldPath:n,definition:t})=>m(()=>rt(e,n)&&(!n||!lt(e,n,t,e.schemaInterface))),{fieldPath:t,definition:n})}function $n(e,n){return ct(nt(n,F.Readonly,e),(e,{definition:n})=>v(()=>Oe(n)),{definition:n})}function Yn(e,n,t){return ct(tt(t,n,e),()=>c(void 0),void 0)}function Wn(e,n){return ct(tt(n,F.AllowedOptions,e),()=>c([]),void 0)}function zn(e,n,t,r){return ct(nt(n,F.Disabled,e),(e,{fieldPath:t})=>m(()=>{var l;const a=t&&we(e,t,r);return!1===(null==a||null==(l=a.meta.nullControl)?void 0:l.value)||Ae(n)}),{fieldPath:t,elementIndex:r})}function Kn(e,n){return tt(n,F.Display,e)}function Qn(e,n,t,r){return ct(tt(n,F.DefaultValue,e),(e,{definition:n,schemaField:t})=>m(function(){const[e,l]=U(n)?[n.required,n.defaultValue]:[!1,void 0];return null!=l?l:t?r?ie(t):oe(t,e,!0):void 0}),{definition:n,schemaField:t})}function Xn(e,n,t){switch(e.type){case M.Jsonata:return ot(e.expression,n,void 0,t);case M.UUID:return at(t);case M.Data:return function(e,n,t,r=e=>e){const l=Ye(n,e.field),a=l?we(t,l):void 0;return v(()=>r(null==a?void 0:a.value))}(e,n.fields,n,t);case M.DataMatch:return function(e,n,t,r=e=>e){const l=Ye(n,e.field),a=l?we(t,l):void 0;return v(()=>{const n=null==a?void 0:a.value;return r(Array.isArray(n)?n.includes(e.value):n===e.value)})}(e,n.fields,n,t);case M.NotEmpty:return function(e,n,t,r,l=e=>e){const a=Ye(n,e.field),o=a?we(r,a):void 0;return v(()=>{const e=null==o?void 0:o.value,n=null==a?void 0:a.at(-1);return l(n&&!t.isEmptyValue(n,e))})}(e,n.fields,n.schemaInterface,n,t);default:return c(void 0)}}const Zn=et(Xn);function et(e){return(n,t)=>({deps:null!=n?n.type:"!",state:n,runHook:(n,r)=>r?e(r,n,t):void 0})}function nt(e,n,t){return tt(e,n,t,e=>Boolean(e))}function tt(e,n,t,r=e=>e){var l;const a=null==(l=e.dynamic)?void 0:l.find(e=>e.type===n);return t(null==a?void 0:a.expr,r)}function rt(e,n){const t=n?n[n.length-1].onlyForTypes:void 0;if(null==t||0===t.length)return!0;const r=Ie(e,n);return r&&t.includes(r.value)}function lt(e,n,t,r){var l;const a=Se(t);return a&&!a.emptyText&&r.isEmptyValue(n.at(-1),null==(l=we(e,n))?void 0:l.value)}function at(e=e=>e){return c(()=>e(L()))}function ot(e,t,a,o=e=>e){const i=qe(t.path,e=>`#$i[${e}]`),u=i?i+".("+e+")":e,m=r(()=>{try{return I(u)}catch(e){return console.error(e),I("null")}},[u]),v=c(),h=n(),C=n(0),[g]=s(()=>d(()=>{const e=h.current;e&&(h.current=void 0,f(()=>{h.current=e,e()}))}));return l(()=>{async function e(){const[e,n]=g.current;try{C.current++;const n=a?p(e,a):void 0;v.value=o(await m.evaluate(y(t.data,e),n))}finally{--C.current||n()}}return h.current=e,e(),()=>g.current[1](!0)},[m]),v}function it(e,n){return ct(tt(n,F.ActionData,e),()=>c(null),void 0)}function ut(e,n){return ct(tt(n,F.Label,e),()=>c(null),void 0)}function ct(e,n,t,r){return{deps:void 0===r?e.deps:[r,e.deps].map(Ue).join(),runHook:(t,r)=>{var l;return null!=(l=e.runHook(t,r[0]))?l:n(t,r[1])},state:[e.state,t]}}function st(e,n,r=dt){var l;const a=n&&U(e)?e:void 0,o=Te({dd:a,field:n,useValidatorFor:r}),i=Be(null!=(l=null==a?void 0:a.validators)?l:[],e=>e.type);return t(e=>{var n;const{dd:t,field:l}=o.current;if(!t||!l)return;const{control:a,hiddenControl:i,dataContext:{schemaInterface:u}}=e;h(a,()=>a.setError("default","")),C(a,e=>!i.value&&t.required&&u.isEmptyValue(l,e)?u.validationMessageText(l,w.NotEmpty,!1,!0):null,"required",void 0,[t.required]),null==(n=t.validators)||n.forEach((n,a)=>r(n,ne({},e,{index:a,field:l,definition:t})))},[!!a,i,r])}function dt(e,n){switch(e.type){case B.Length:pt(e,n);break;case B.Jsonata:ft(e,n);break;case B.Date:yt(e,n)}}function ft(e,n){const t=ot(e.expression,n.dataContext,void 0,e=>null==e?null:"string"==typeof e?e:JSON.stringify(e));C(n.control,()=>n.hiddenControl.value?null:t.value,"jsonata"+n.index)}function pt(e,n){const{control:t,dataContext:{schemaInterface:r},hiddenControl:l,field:a}=n;C(t,n=>{const o=r.controlLength(a,t);if(!l.value)if(null!=e.min&&o<e.min){if(null==a||!a.collection)return r.validationMessageText(a,w.MinLength,o,e.min);t.setValue(n=>Array.isArray(n)?n.concat(Array.from({length:e.min-n.length})):Array.from({length:e.min}))}else if(null!=e.max&&o>e.max)return r.validationMessageText(a,w.MaxLength,o,e.max)},"length"+n.index)}function yt(e,n){const{control:t,field:r,index:l,dataContext:{schemaInterface:a}}=n;let o;if(e.fixedDate)o=a.parseToMillis(r,e.fixedDate);else{const n=new Date;o=Date.UTC(n.getFullYear(),n.getMonth(),n.getDate()),e.daysFromCurrent&&(o+=864e5*e.daysFromCurrent)}C(t,n=>{if(n){const t=a.parseToMillis(r,n),l=e.comparison===J.NotAfter;if(l?t>o:t<o)return a.validationMessageText(r,l?w.NotAfterDate:w.NotBeforeDate,t,o)}return null},"date"+l)}function mt(e){return e||void 0}class vt{constructor(e=["No","Yes"]){this.boolStrings=void 0,this.boolStrings=e}parseToMillis(e,n){return Date.parse(n)}validationMessageText(e,n,t,r){switch(n){case w.NotEmpty:return"Please enter a value";case w.MinLength:return"Length must be at least "+r;case w.MaxLength:return"Length must be less than "+r;case w.NotBeforeDate:return`Date must not be before ${new Date(r).toDateString()}`;case w.NotAfterDate:return`Date must not be after ${new Date(r).toDateString()}`;default:return"Unknown error"}}getOptions({options:e}){return e&&e.length>0?e:null}isEmptyValue(e,n){if(e.collection)return Array.isArray(n)?0===n.length:null==n;switch(e.type){case k.String:case k.DateTime:case k.Date:case k.Time:return!n;default:return null==n}}textValue(e,n,t){switch(e.type){case k.Date:return n?new Date(n).toLocaleDateString():void 0;case k.DateTime:return n?new Date(n).toLocaleString():void 0;case k.Time:return n?new Date("1970-01-01T"+n).toLocaleTimeString():void 0;case k.Bool:return this.boolStrings[n?1:0];default:return null!=n?n.toString():void 0}}controlLength(e,n){var t,r;return e.collection?null!=(t=null==(r=n.elements)?void 0:r.length)?t:0:this.valueLength(e,n.value)}valueLength(e,n){var t;return null!=(t=n&&(null==n?void 0:n.length))?t:0}}const ht=new vt,Ct=["definition","field","control","formOptions","style","allowedOptions","schemaInterface"],gt=0,bt=1e3;var Nt;function xt(n,r,o,i={}){var u,s,d;const f=null!=(u=null==i.useDataHook?void 0:i.useDataHook(n))?u:Ot,p=i.elementIndex,m=null!=(s=i.schemaInterface)?s:ht,h=null!=(d=i.useEvalExpressionHook)?d:Zn,C=Dt(n,r),x=null==C?void 0:C.at(-1),D=st(n,x,i.useValidationHook),E=Je({defaultValueControl:Qn(h,n,x,null!=p),visibleControl:_n(h,n,C),readonlyControl:$n(h,n),disabledControl:zn(h,n,C,p),allowedOptions:Wn(h,n),labelText:ut(h,n),actionData:it(h,n),customStyle:Yn(h,F.Style,n),layoutStyle:Yn(h,F.LayoutStyle,n),displayControl:Kn(h,n)}),T=Te({options:i,definition:n,fields:r,fieldPath:C,elementIndex:p}),O=t(({control:t,parentPath:r=[]})=>{const i=g();try{var u,s;const{definition:i,options:d,fields:p,fieldPath:C,elementIndex:g}=T.current,x=null==C?void 0:C.at(-1),O={fields:p,schemaInterface:m,data:t,path:r},{readonlyControl:A,disabledControl:S,visibleControl:I,displayControl:L,layoutStyle:k,labelText:w,customStyle:V,allowedOptions:F,defaultValueControl:M,actionData:q}=E(O),G=I.current.value,R=c(()=>null!=G?{visible:G,showing:G}:void 0);b(()=>I.value,e=>{null!=e&&R.setValue(n=>({visible:e,showing:n?n.showing:e}))});const[P,j,B]=Et(C,O,g);b(()=>{var e;return[R.value,M.value,null==j?void 0:j.isNull,U(n)&&n.dontClearHidden,U(n)&&(null==(e=n.renderOptions)?void 0:e.type)==H.NullToggle,P.isNull,d.hidden,A.value]},([e,n,t,r,l,a,o,i])=>{i||(j?e&&e.visible===e.showing&&(o||!e.visible?j.setValue(e=>d.clearHidden&&!r?void 0:null==e&&r&&!l?n:e):l||j.setValue(e=>null!=e?e:n)):a&&P.setValue(e=>null!=e?e:{}))},!0);const J=v(()=>{var e;return{hidden:d.hidden||!(null!=(e=R.fields)&&e.showing.value),readonly:d.readonly||A.value,disabled:d.disabled||S.value}}),_=y(J);D({control:null!=j?j:N(null),hiddenControl:J.fields.hidden,dataContext:O});const $=ne({},d,_,{elementIndex:void 0});if(l(()=>{j&&"boolean"==typeof _.disabled&&j.disabled!=_.disabled&&(j.disabled=_.disabled)},[j,_.disabled]),P.isNull)/*#__PURE__*/return e.createElement(e.Fragment,null);const Y=null!=(u=null==(s=n.adornments)?void 0:s.map(e=>o.renderAdornment({adornment:e,dataContext:B,parentContext:O,useExpr:h})))?u:[],W=At({definition:i,renderer:o,renderChild:(n,t,r)=>{var l;if(j&&j.isNull)/*#__PURE__*/return e.createElement(a,{key:n});const i=null!=(l=null==r?void 0:r.dataContext)?l:B;/*#__PURE__*/return e.createElement(Tt,{key:n,control:i.data,fields:i.fields,definition:t,parentPath:i.path,renderer:o,options:r?ne({},$,{elementIndex:null==r?void 0:r.elementIndex}):$})},createDataProps:f,formOptions:_,dataContext:B,parentContext:O,control:null!=L?L:j,elementIndex:g,schemaInterface:m,labelText:w,field:x,displayControl:L,style:V.value,allowedOptions:F,customDisplay:d.customDisplay,actionDataControl:q,actionOnClick:d.actionOnClick,useChildVisibility:(e,n)=>{const t=Dt(e,(null!=n?n:B).fields);return _n(h,e,t)}}),z=o.renderLayout(ne({},W,{adornments:Y,className:i.layoutClass,style:k.value}));return o.renderVisibility(ne({visibility:R},z))}finally{i()}},[T,f,D,o,m,E]);return O.displayName="RenderControl",O}function Dt(e,n){const t=_(e)?e.compoundField:U(e)?e.field:void 0;return t?Ye(n,t):void 0}function Et(e,n,t){var r,l,a;const{data:o,path:i}=n,u=[...i,...null!=(r=null==e?void 0:e.slice(0,-1).map(e=>e.field))?r:[]],c=null==e?void 0:e.at(-1),[s,d]=function(e,n){var t;let r=e,l=0;for(;l<n.length&&r;){e=r;const t=n[l],i=r.current;var a,o;r="string"==typeof t?null==(a=i.fields)?void 0:a[t]:null==(o=i.elements)?void 0:o[t],l++}return[null!=(t=r)?t:e,!!r]}(o,u),f=c?null!=t?[...u,c.field,t]:[...u,c.field]:u,p=c&&d?null==(l=s.fields)?void 0:l[c.field]:void 0;return[s,p&&null!=t?null==(a=p.elements)?void 0:a[t]:p,c?ne({},n,{path:f,fields:fe(c)?c.children:n.fields}):n]}function Tt({definition:n,fields:t,renderer:r,options:l,control:a,parentPath:o}){var i=g();try{const i=xt(n,t,r,l);/*#__PURE__*/return e.createElement(i,{control:a,parentPath:o})}finally{i()}}function Ot(e){var n,t,r;let{definition:l,field:a,control:o,formOptions:i,style:u,allowedOptions:c,schemaInterface:s=ht}=e,d=te(e,Ct);const f=mt(l.styleClass),p=!!l.required,y=s.getOptions(a),m=null!=(n=null==c?void 0:c.value)?n:[],v=Array.isArray(m)?m:[m];return ne({definition:l,childDefinitions:null!=(t=l.children)?t:[],control:o,field:a,id:"c"+o.uniqueId,options:v.length>0?v.map(e=>{var n;return"object"==typeof e?e:null!=(n=null==y?void 0:y.find(n=>n.value==e))?n:{name:e.toString(),value:e}}):y,readonly:!!i.readonly,renderOptions:null!=(r=l.renderOptions)?r:{type:"Standard"},required:p,hidden:!!i.hidden,className:f,style:u},d)}function At(e){const{definition:n,renderer:t,renderChild:r,control:l,field:a,dataContext:o,createDataProps:i,displayControl:u,style:c,labelText:s,parentContext:d,useChildVisibility:f,designMode:p,customDisplay:y}=e;if(U(n))return O(n);var m,v,h,C,g;if(_(n))return n.compoundField?O(mn(n.compoundField,n.title,{children:n.children,hideTitle:null==(g=n.groupOptions)?void 0:g.hideTitle})):{processLayout:t.renderGroup({childDefinitions:null!=(m=n.children)?m:[],definition:n,parentContext:d,renderChild:r,dataContext:o,renderOptions:null!=(v=n.groupOptions)?v:{type:"Standard"},className:mt(n.styleClass),useChildVisibility:f,style:c,designMode:p}),label:{label:null!=(h=null==s?void 0:s.value)?h:n.title,className:mt(n.labelClass),type:Nt.Group,hide:null==(C=n.groupOptions)?void 0:C.hideTitle}};if(Y(n)){var b,N,x,D,E;const r=null!=(b=null==(N=e.actionDataControl)?void 0:N.value)?b:n.actionData;return{children:t.renderAction({actionText:null!=(x=null!=(D=null==s?void 0:s.value)?D:n.title)?x:n.actionId,actionId:n.actionId,actionData:r,onClick:null!=(E=null==e.actionOnClick?void 0:e.actionOnClick(n.actionId,r))?E:()=>{},className:mt(n.styleClass),style:c})}}if($(n)){var T;const e=null!=(T=n.displayData)?T:{},r={data:e,className:mt(n.styleClass),style:c,display:u,dataContext:o};return e.type===j.Custom&&y?{children:y(e.customId,r)}:{children:t.renderDisplay(r)}}return{};function O(n){var r,o,u;if(!a)return{children:"No schema field for: "+n.field};if(!l)return{children:"No control for: "+n.field};const c=i(e),d=n.hideTitle?void 0:Mt(null!=(r=null==s?void 0:s.value)?r:n.title,a);return{processLayout:t.renderData(c),label:{type:(null!=(o=null==(u=n.children)?void 0:u.length)?o:0)>0?Nt.Group:Nt.Control,label:d,forId:c.id,required:n.required,hide:n.hideTitle,className:mt(n.labelClass)},errorControl:l}}}function St(n,t){return r=>r[n]=/*#__PURE__*/e.createElement(e.Fragment,null,r[n],t)}function It(e,n){return t=>t[e]=n(t[e])}function Lt(e){switch(e){case q.ControlEnd:return"controlEnd";case q.ControlStart:return"controlStart";case q.LabelStart:return"labelStart";case q.LabelEnd:return"labelEnd"}}function kt(e){return n=>{const t=n.wrapLayout;n.wrapLayout=n=>e(t(n))}}function wt(e,n){return St(Lt(e),n)}function Vt(e,n){return It(Lt(e),n)}function Ft(e,n){var t;const{className:r,children:l,style:a,errorControl:o,label:i,adornments:u}=null!=(t=null==e.processLayout?void 0:e.processLayout(e))?t:e,c={children:l,errorControl:o,style:a,className:mt(r),wrapLayout:e=>e};return(null!=u?u:[]).sort((e,n)=>e.priority-n.priority).forEach(e=>e.apply(c)),c.label=i&&!i.hide?n.renderLabel(i,c.labelStart,c.labelEnd):void 0,c}function Mt(e,n){return e||ve(n)}function qt(e){var n;const t=null==(n=e.validators)?void 0:n.find(e=>e.type===B.Length);return{min:null==t?void 0:t.min,max:null==t?void 0:t.max}}function Gt(e,n,t){var r;const l=null!=(r=n.displayName)?r:n.field,{addText:a,noAdd:o,removeText:i,noRemove:u,removeActionId:c,addActionId:s}=null!=t?t:{};return{arrayControl:e,addAction:o?void 0:{actionId:s||"add",actionText:a||"Add "+l,onClick:()=>x(e,ie(n))},removeAction:u?void 0:n=>({actionId:c||"remove",actionText:i||"Remove",onClick:()=>D(e,n)})}}function Ht({arrayControl:e,min:n,max:t,addAction:r,removeAction:l,required:a},o){var i,u;const[c,s]=$e(null!=(i=null==(u=e.elements)?void 0:u.length)?i:0,null==n&&a?1:n,t,!0,!0);return{addAction:o||s?r:void 0,removeAction:o||c?l:void 0,removeDisabled:!c,addDisabled:!s}}function Rt(e){return e.type===G.Icon}function Pt(e){return e.type===G.Accordion}function jt(e){return e.type===G.SetField}function Bt(e,n){return ne({type:"layout",render:e},n)}function Jt(e,n,t){return ne({type:"action",actionType:e,render:n},t)}function Ut(e,n){return ne({type:"array",render:e},n)}function _t(e,n){return ne({type:"data",render:e},n)}function $t(e,n){return ne({type:"group",render:e},n)}function Yt(e,n){return ne({type:"display",render:e},n)}function Wt(e,n){return ne({type:"label",render:e},n)}function zt(e,n){return ne({type:"visibility",render:e},n)}function Kt(e,n){return ne({type:"adornment"},n,{render:e})}!function(e){e[e.Control=0]="Control",e[e.Group=1]="Group",e[e.Text=2]="Text"}(Nt||(Nt={}));const Qt={label:{groupLabelClass:"font-bold",requiredElement:/*#__PURE__*/e.createElement("span",{className:"text-red-500"}," *")},array:{removableClass:"grid grid-cols-[1fr_auto] items-center gap-x-2",childClass:"grow my-2",addActionClass:"my-2"},group:{standardClassName:"flex flex-col gap-4",gridClassName:"gap-x-2 gap-y-4",flexClassName:"gap-2"},action:{className:"bg-primary-500 rounded-lg p-3 text-white"},layout:{className:"flex flex-col",errorClass:"text-sm text-danger-500"},data:{displayOnlyClass:"flex flex-row items-center gap-2",checkOptions:{className:"flex items-center gap-4",entryClass:"flex gap-1 items-center"},selectOptions:{emptyText:"<select>"},multilineClass:"border p-2 outline-0 whitespace-pre"},adornment:{accordion:{className:"flex items-center gap-2 my-2",titleClass:"cursor-pointer",iconOpenClass:"fa fa-chevron-up",iconClosedClass:"fa fa-chevron-down"}}},Xt=["data","display","className","style"];function Zt(n={}){return{render:t=>/*#__PURE__*/e.createElement(er,ne({},n,t)),type:"display"}}function er(n){var t=g();try{var r;let{data:t,display:l,className:a,style:o}=n,i=te(n,Xt);switch(t.type){case j.Icon:/*#__PURE__*/return e.createElement("i",{style:o,className:S(He(a),l?l.value:t.iconClass)});case j.Text:/*#__PURE__*/return e.createElement("div",{style:o,className:Re(a,i.textClassName)},l?l.value:t.text);case j.Html:/*#__PURE__*/return e.createElement("div",{style:o,className:Re(a,i.htmlClassName),dangerouslySetInnerHTML:{__html:l?null!=(r=l.value)?r:"":t.html}});case j.Custom:/*#__PURE__*/return e.createElement("div",null,"Custom display placeholder: ",t.customId);default:/*#__PURE__*/return e.createElement("h1",null,"Unknown display type: ",t.type)}}finally{t()}}function nr({errorClass:n,renderError:t=t=>t&&/*#__PURE__*/e.createElement("div",{className:n},t),layout:{controlEnd:r,controlStart:l,label:a,children:o,errorControl:i}}){var u=g();try{/*#__PURE__*/return e.createElement(e.Fragment,null,a,l,o,t(i&&i.touched?i.error:void 0),r)}finally{u()}}function tr(){return zt(n=>/*#__PURE__*/e.createElement(rr,n))}function rr({visibility:n,children:t,className:r,style:a,divRef:o}){var i=g();try{const i=n.value;return l(()=>{i&&n.setValue(e=>({visible:i.visible,showing:i.visible}))},[null==i?void 0:i.visible]),null!=i&&i.visible?/*#__PURE__*/e.createElement("div",{className:S(r),style:a,ref:o},t):/*#__PURE__*/e.createElement(e.Fragment,null)}finally{i()}}const lr=["state","options","className","convert","required","emptyText","requiredText","readonly"];function ar(n={}){return _t((t,r)=>{var l;/*#__PURE__*/return e.createElement(or,{className:Re(t.className,n.className),state:t.control,id:t.id,readonly:t.readonly,options:null!=(l=t.options)?l:[],required:t.required,emptyText:n.emptyText,requiredText:n.requiredText,convert:ir(t.field.type)})},{options:!0})}function or(n){var t=g();try{let{state:t,options:l,className:a,convert:i,required:u,emptyText:c="N/A",requiredText:s="<please select>",readonly:d}=n,f=te(n,lr);const{value:p,disabled:y}=t,[m]=o(!u||null==p),v=r(()=>Object.fromEntries(l.map(e=>[i(e.value),e.value])),[l]);/*#__PURE__*/return e.createElement("select",ne({},f,{className:a,onChange:e=>t.value=v[e.target.value],value:i(p),disabled:y||d}),m&&/*#__PURE__*/e.createElement("option",{value:""},u?s:c),l.map((n,t)=>/*#__PURE__*/e.createElement("option",{key:t,value:i(n.value),disabled:!!n.disabled},n.name)))}finally{t()}}function ir(e){switch(e){case k.String:case k.Int:case k.Double:return e=>e;default:return e=>{var n;return null!=(n=null==e?void 0:e.toString())?n:""}}}function ur({control:n,className:t,emptyText:r,schemaInterface:l,field:a,style:o}){var i=g();try{var u;const i=n.value,c=null!=(u=l.isEmptyValue(a,i)?r:l.textValue(a,i))?u:"";/*#__PURE__*/return e.createElement("div",{style:o,className:Re(t)},c)}finally{i()}}const cr=["control","convert"],sr=["errorText","value","onChange"];function dr(n){var t=g();try{let{control:r,convert:l}=n,a=te(n,cr);const o=E(r),{value:i}=o,u=te(o,sr),s=c(()=>d(i));return b(()=>r.value,e=>s.value=d(e)),/*#__PURE__*/e.createElement("input",ne({},u,{type:l[0],value:s.value,onChange:e=>{s.value=e.target.value;const n=l[1](e.target.value);void 0!==n&&(r.value=n)}},a));function d(e){return null==e?"":l[2](e)}}finally{t()}}function fr(e){switch(e){case k.String:return["text",e=>e,e=>e];case k.Bool:return["text",e=>"true"===e||"false"!==e&&void 0,e=>{var n;return null!=(n=null==e?void 0:e.toString())?n:""}];case k.Int:return["number",e=>""!==e?parseInt(e):null,e=>null==e?"":e];case k.DateTime:return["datetime-local",e=>e||null,e=>e];case k.Date:return["date",e=>e||null,e=>e];case k.Time:return["time",e=>{const n=e.length;return 5===n?e+":00":8===n?e:void 0},e=>e?e.substring(0,5):""];case k.Double:return["number",e=>""!==e?parseFloat(e):null,e=>null==e?"":e];default:return["text",e=>e,e=>e]}}function pr(n){return{render:(t,{renderAction:r})=>/*#__PURE__*/e.createElement(yr,ne({},t,n,{renderAction:r})),type:"array"}}function yr(n){var t=g();try{const{renderElement:t,className:r,removableClass:l,childClass:a,removableChildClass:o,removeActionClass:i,addActionClass:u,arrayControl:c,renderAction:s,style:d}=n,{addAction:f,removeAction:p}=Ht(n);/*#__PURE__*/return e.createElement("div",{style:d},/*#__PURE__*/e.createElement("div",{className:S(r,p&&l)},/*#__PURE__*/e.createElement(T,{control:c},(n,r)=>p?/*#__PURE__*/e.createElement(e.Fragment,null,/*#__PURE__*/e.createElement("div",{className:S(a,o)},t(r)),/*#__PURE__*/e.createElement("div",{className:i},s(p(r)))):/*#__PURE__*/e.createElement("div",{className:a},t(r)))),f&&/*#__PURE__*/e.createElement("div",{className:u},s(f)))}finally{t()}}function mr(n={}){return _t(t=>/*#__PURE__*/e.createElement(hr,ne({},n,t,{className:Re(t.className,n.className),isChecked:(e,n)=>e.value==n.value,setChecked:(e,n)=>e.value=n.value,control:t.control,type:"radio"})),{renderType:H.Radio})}function vr(n={}){return _t(t=>/*#__PURE__*/e.createElement(hr,ne({},n,t,{className:Re(t.className,n.className),isChecked:(e,n)=>{const t=e.value;return!!Array.isArray(t)&&t.includes(n.value)},setChecked:(e,n,t)=>{e.setValue(e=>Cr(null!=e?e:[],n.value,t))},control:t.control,type:"checkbox"})),{collection:!0,renderType:H.CheckList})}function hr({control:n,options:t,labelClass:r,checkClass:l,readonly:a,entryClass:o,className:i,id:u,type:c,isChecked:s,setChecked:d}){var f=g();try{const{disabled:f}=n,p="r"+n.uniqueId;/*#__PURE__*/return e.createElement("div",{className:i,id:u},/*#__PURE__*/e.createElement(O,{array:null==t?void 0:t.filter(e=>null!=e.value)},(t,i)=>{const u=m(()=>s(n,t)).value;/*#__PURE__*/return e.createElement("div",{key:i,className:o},/*#__PURE__*/e.createElement("input",{id:p+"_"+i,className:l,type:c,name:p,readOnly:a,disabled:f,checked:u,onChange:e=>{!a&&d(n,t,e.target.checked)}}),/*#__PURE__*/e.createElement("label",{className:r,htmlFor:p+"_"+i},t.name))}))}finally{f()}}function Cr(e,n,t){return t===e.includes(n)?e:t?[...e,n]:e.filter(e=>e!==n)}function gr(n={}){return _t((t,r)=>l=>ne({},l,{label:void 0,children:/*#__PURE__*/e.createElement("div",{className:Re(t.className,n.entryClass)},/*#__PURE__*/e.createElement(A,{id:t.id,control:t.control,style:t.style,className:n.checkClass}),l.label&&r.renderLabel(l.label,void 0,void 0))}),{renderType:H.Checkbox})}function br({children:n,accordion:t,contentStyle:r,contentClassName:l,designMode:a,iconOpenClass:o,iconClosedClass:i,className:u,renderTitle:s=e=>e,renderToggler:d,renderers:f,titleClass:p}){var y=g();try{const y=c(!!t.defaultExpanded),m=y.value,v=m||a?r:ne({},r,{display:"none"}),h=f.renderLabelText(s(t.title,y)),C=d?d(y,h):/*#__PURE__*/e.createElement("button",{className:u,onClick:()=>y.setValue(e=>!e)},/*#__PURE__*/e.createElement("label",{className:p},h),/*#__PURE__*/e.createElement("i",{className:S(m?o:i)}));/*#__PURE__*/return e.createElement(e.Fragment,null,C,/*#__PURE__*/e.createElement("div",{style:v,className:l},n))}finally{y()}}const Nr=["control","field","renderOptions"];function xr(){return _t((n,t)=>{var r,l;let{control:a,field:o}=n,i=te(n,Nr);const u=null!=(l=(r=a.meta).nullControl)?l:r.nullControl=N(null!=a.current.value);return n=>{const r=t.renderData(ne({},i,{control:u,field:ne({},o,{type:k.Bool}),renderOptions:{type:H.Checkbox}}))(n);return ne({},r,{children:/*#__PURE__*/e.createElement(Dr,{control:a,nullControl:u,children:r.children,readonly:i.readonly,defaultValue:i.definition.defaultValue})})}})}function Dr({children:e,nullControl:n,control:t,defaultValue:r,readonly:l}){return b(()=>l,e=>n.disabled=e,!0),b(()=>n.value,e=>{var l;e?t.value=null!=(l=n.meta.nonNullValue)?l:r:(n.meta.nonNullValue=t.value,t.value=null)}),e}function Er({control:t,className:r}){var l=g();try{const l=n(null);return b(()=>t.value,e=>{const n=l.current;n&&n.textContent!==e&&(n.textContent=e)},!0),/*#__PURE__*/e.createElement("code",{contentEditable:!t.disabled,className:r,onInput:e=>t.value=e.currentTarget.textContent,ref:l})}finally{l()}}function Tr(n){return _t(t=>/*#__PURE__*/e.createElement(Or,{renderOptions:t.renderOptions,className:Re(t.className,n),dataContext:t.parentContext,control:t.control,readonly:t.readonly}),{renderType:H.Jsonata})}function Or({control:n,renderOptions:{expression:t},readonly:r,className:l,dataContext:a}){var o=g();try{const o=ot(t,a,()=>({value:n.value,readonly:r,disabled:n.disabled}),e=>null==e?"":"object"==typeof e?"error: "+JSON.stringify(e):e.toString());/*#__PURE__*/return e.createElement("div",{className:l,dangerouslySetInnerHTML:{__html:o.value}})}finally{o()}}function Ar(n,t={}){return Jt(n,({onClick:n,actionText:r,className:l,style:a,actionId:o,actionData:i})=>{var u;/*#__PURE__*/return e.createElement("button",{className:Re(l,t.className),style:a,onClick:n},null!=(u=null==t.renderContent?void 0:t.renderContent(r,o,i))?u:r)})}function Sr(n){const{className:t,gridStyles:r=c,defaultGridColumns:l=2,gridClassName:a,standardClassName:o,flexClassName:i,defaultFlexGap:u}=null!=n?n:{};function c({columns:e=l}){return{className:a,style:{display:"grid",gridTemplateColumns:`repeat(${e}, 1fr)`}}}return{type:"group",render:function(n){const{renderChild:l,renderOptions:a,childDefinitions:c}=n,{style:s,className:d}=z(a)?r(a):K(a)?function(e){return{className:i,style:{display:"flex",gap:e.gap?e.gap:u,flexDirection:e.direction?e.direction:void 0}}}(a):{className:o};return r=>ne({},r,{children:/*#__PURE__*/e.createElement("div",{className:Re(n.className,S(t,d)),style:s},null==c?void 0:c.map((e,n)=>l(n,e)))})}}}const Ir=[{name:"Yes",value:!0},{name:"No",value:!1}];function Lr(n={}){var t,r,l;const a=Tr(n.jsonataClass),o=xr(),i=(u=n.multilineClass,_t(n=>/*#__PURE__*/e.createElement(Er,ne({},n,{className:Re(n.className,u)}))));var u;const c=gr(null!=(t=n.checkOptions)?t:n.checkboxOptions),s=ar(n.selectOptions),d=mr(null!=(r=n.radioOptions)?r:n.checkOptions),f=vr(null!=(l=n.checkListOptions)?l:n.checkOptions),{inputClass:p,booleanOptions:y,optionRenderer:m,displayOnlyClass:v}=ne({optionRenderer:s,booleanOptions:Ir},n),h=(C=n.arrayOptions,_t(({definition:e,control:n,required:t,field:r,renderChild:l,parentContext:a,className:o,style:i,renderOptions:u},c)=>{const{addText:s,noAdd:d,noRemove:f,removeText:p}=We(ee(u)?u:{},C),y=ee(u)?u.childOptions:void 0,m=ne({},Gt(n,r,{addText:s,removeText:p,noAdd:d,noRemove:f}),{required:t,renderElement:t=>{var r,o;return l(null!=(r=null==(o=n.elements)?void 0:o[t].uniqueId)?r:t,{type:V.Data,field:e.field,children:e.children,renderOptions:null!=y?y:{type:H.Standard},hideTitle:!0},{elementIndex:t,dataContext:a})},className:mt(o),style:i},qt(e));return c.renderArray(m)},{renderType:H.Array,collection:!0}));var C;return _t((n,t)=>{const{field:r}=n,l=r.type,u=n.renderOptions;let C=u.type;if(r.collection&&null==n.elementIndex&&C==H.Standard)return h.render(n,t);if(l===k.Compound){var g;const e=null!=(g=Z(u)?u.groupOptions:void 0)?g:{type:"Standard",hideTitle:!0};return t.renderGroup(ne({},n,{renderOptions:e}))}if(l==k.Any)/*#__PURE__*/return e.createElement(e.Fragment,null,"No control for Any");if(Q(u))return t=>ne({},t,{className:v,children:/*#__PURE__*/e.createElement(ur,{field:n.field,schemaInterface:n.dataContext.schemaInterface,control:n.control,className:n.className,style:n.style,emptyText:u.emptyText})});if(null!=y&&l===k.Bool&&null==n.options)return t.renderData(ne({},n,{options:y}));if(C===H.Standard&&he(n))return m.render(n,t);switch(C){case H.NullToggle:return o.render(n,t);case H.CheckList:return f.render(n,t);case H.Dropdown:return s.render(n,t);case H.Radio:return d.render(n,t);case H.Checkbox:return c.render(n,t);case H.Jsonata:return a.render(n,t)}if(X(u)&&u.multiline)return i.render(n,t);const b=X(u)?u.placeholder:void 0;/*#__PURE__*/return e.createElement(dr,{className:Re(n.className,p),style:n.style,id:n.id,readOnly:n.readonly,control:n.control,placeholder:null!=b?b:void 0,convert:fr(n.field.type)})})}function kr(n={}){return{type:"adornment",render:({adornment:r,designMode:l,parentContext:a,useExpr:o},i)=>({apply:u=>{if(jt(r)&&o){const s=Je({value:o(r.expression,e=>e)}),d=t(f,[s]);return kt(n=>/*#__PURE__*/e.createElement(d,{children:n,parentContext:a,adornment:r}))(u);function f({children:e,adornment:n,parentContext:t}){const{value:r}=s(t),l=Ye(t.fields,n.field),a=l?we(t,l):void 0,o=!n.defaultOnly;return b(()=>[null==r?void 0:r.value,null==(null==a?void 0:a.value)],([e])=>{null==a||a.setValue(n=>o||null==n?e:n)},!0),e}}var c;return Rt(r)?wt(null!=(c=r.placement)?c:q.ControlStart,/*#__PURE__*/e.createElement("i",{className:r.iconClass}))(u):Pt(r)?kt(t=>/*#__PURE__*/e.createElement(br,ne({renderers:i,children:t,accordion:r,contentStyle:u.style,contentClassName:u.className,designMode:l},n.accordion)))(u):void 0},priority:0,adornment:r})}}function wr(n={}){return Bt((t,r)=>{const l=Ft(ne({},t,{className:Re(t.className,n.className)}),r);return{children:l.wrapLayout(/*#__PURE__*/e.createElement(nr,ne({layout:l},n))),className:l.className,style:l.style,divRef:e=>e&&t.errorControl?t.errorControl.meta.scrollElement=e:void 0}})}function Vr(n){const{className:t,groupLabelClass:r,controlLabelClass:l,requiredElement:a,labelContainer:o}=ne({requiredElement:/*#__PURE__*/e.createElement("span",null," *"),labelContainer:e=>e},n);return{render:(n,i,u,c)=>n.type==Nt.Text?n.label:o(/*#__PURE__*/e.createElement(e.Fragment,null,/*#__PURE__*/e.createElement("label",{htmlFor:n.forId,className:Re(n.className,S(t,n.type===Nt.Group&&r,n.type===Nt.Control&&l))},i,c.renderLabelText(n.label),n.required&&a),u)),type:"label"}}function Fr(e={}){return{data:Lr(e.data),display:Zt(e.display),action:Ar(void 0,e.action),array:pr(e.array),group:Sr(e.group),label:Vr(e.label),adornment:kr(e.adornment),renderLayout:wr(e.layout),visibility:tr()}}function Mr(e=[],n=function(){return Fr({layout:{className:"control"},group:{className:"group"},array:{className:"control-array"},action:{className:"action"},data:{inputClass:"data"},display:{htmlClassName:"html",textClassName:"text"}})}()){var t;const r=e.filter(Hr),l=e.filter(Rr),a=e.filter(Gr),o=e.filter(Ur),i=e.filter(Pr),u=e.filter(_r),c=e.filter(Jr),s=e.filter(jr),d={renderAction:function(e){var t;return(null!=(t=c.find(n=>qr(n.actionType,e.actionId)))?t:n.action).render(e,d)},renderData:function(e){var t;const{renderOptions:{type:l},field:a}=e,o=he(e),i=(null!=(t=r.find(n=>{var t,r,i;return(null!=(t=n.collection)&&t)===(null==e.elementIndex&&null!=(r=a.collection)&&r)&&(null!=(i=n.options)&&i)===o&&(n.schemaType&&l==H.Standard&&qr(n.schemaType,a.type)||n.renderType&&qr(n.renderType,l)||n.match&&n.match(e))}))?t:n.data).render(e,d);return"function"==typeof i?i:e=>ne({},e,{children:i})},renderGroup:function(e){var t;const r=e.renderOptions.type,a=(null!=(t=l.find(e=>qr(e.renderType,r)))?t:n.group).render(e,d);return"function"==typeof a?a:e=>ne({},e,{children:a})},renderDisplay:function(e){var t;const r=e.data.type;return(null!=(t=o.find(e=>qr(e.renderType,r)))?t:n.display).render(e,d)},renderLabel:f,renderArray:function(e){var t;return(null!=(t=u[0])?t:n.array).render(e,d)},renderAdornment:function(e){var t;return(null!=(t=a.find(n=>qr(n.adornmentType,e.adornment.type)))?t:n.adornment).render(e,d)},renderLayout:function(e){var t;return(null!=(t=s.find(n=>!n.match||n.match(e)))?t:n.renderLayout).render(e,d)},renderVisibility:(null!=(t=e.find(Br))?t:n.visibility).render,renderLabelText:function(e){return f({label:e,type:Nt.Text},void 0,void 0)}};function f(e,t,r){var l;return(null!=(l=i.find(n=>qr(n.labelType,e.type)))?l:n.label).render(e,t,r,d)}return d}function qr(e,n){return null==e||(Array.isArray(e)?e.includes(n):n===e)}function Gr(e){return"adornment"===e.type}function Hr(e){return"data"===e.type}function Rr(e){return"group"===e.type}function Pr(e){return"label"===e.type}function jr(e){return"layout"===e.type}function Br(e){return"visibility"===e.type}function Jr(e){return"action"===e.type}function Ur(e){return"display"===e.type}function _r(e){return"array"===e.type}export{q as AdornmentPlacement,gt as AppendAdornmentPriority,hr as CheckButtons,G as ControlAdornmentType,V as ControlDefinitionType,dr as ControlInput,Tt as ControlRenderer,H as DataRenderType,J as DateComparison,Ir as DefaultBoolOptions,er as DefaultDisplay,ur as DefaultDisplayOnly,nr as DefaultLayout,vt as DefaultSchemaInterface,rr as DefaultVisibility,j as DisplayDataType,F as DynamicPropertyType,M as ExpressionType,k as FieldType,P as GroupRenderType,Or as JsonataRenderer,Nt as LabelType,or as SelectDataRenderer,R as SyncTextType,w as ValidationMessageType,B as ValidatorType,bt as WrapAdornmentPriority,En as accordionOptions,Rn as actionControl,pn as addFieldOption,Ee as addMissingControls,hn as adornmentOptions,_e as appendElementIndex,St as appendMarkup,wt as appendMarkupAt,Ht as applyArrayLengthRestrictions,le as applyDefaultForField,re as applyDefaultValues,Jn as applyExtensionToSchema,Un as applyExtensionsToSchema,$e as applyLengthRestrictions,on as boolField,ze as buildSchema,gn as checkListOptions,Fe as cleanDataForSchema,Hn as compoundControl,un as compoundField,Mt as controlTitle,Pn as createAction,Jt as createActionRenderer,Kt as createAdornmentRenderer,Gt as createArrayActions,Ut as createArrayRenderer,Ar as createButtonActionRenderer,vr as createCheckListRenderer,gr as createCheckboxRenderer,_t as createDataRenderer,kr as createDefaultAdornmentRenderer,Lr as createDefaultDataRenderer,Zt as createDefaultDisplayRenderer,Sr as createDefaultGroupRenderer,Vr as createDefaultLabelRenderer,Fr as createDefaultRenderers,tr as createDefaultVisibilityRenderer,Yt as createDisplayRenderer,Mr as createFormRenderer,$t as createGroupRenderer,fr as createInputConversion,Tr as createJsonataRenderer,Wt as createLabelRenderer,Bt as createLayoutRenderer,xr as createNullToggleRenderer,mr as createRadioRenderer,ir as createSelectConversion,ar as createSelectRenderer,zt as createVisibilityRenderer,mn as dataControl,rn as dateField,an as dateTimeField,Dn as dateValidatorOptions,sn as defaultCompoundField,Ce as defaultControlForField,Ot as defaultDataProps,Xn as defaultEvalHooks,cn as defaultScalarField,ht as defaultSchemaInterface,Qt as defaultTailwindTheme,Zn as defaultUseEvalExpressionHook,oe as defaultValueForField,ae as defaultValueForFields,On as displayOnlyOptions,tn as doubleField,Ln as dynamicDefaultValue,Vn as dynamicDisabled,kn as dynamicReadonly,wn as dynamicVisibility,ie as elementValueForField,jn as emptyGroupDefinition,Ne as existsInGroups,ve as fieldDisplayName,Mn as fieldEqExpr,Fn as fieldExpr,me as fieldHasTag,Ge as findChildDefinition,ce as findCompoundField,be as findCompoundGroups,ge as findControlsForCompound,se as findField,Ye as findFieldPath,xe as findNonDataGroups,ue as findScalarField,Me as getAllReferencedClasses,Et as getControlData,Se as getDisplayOnlyOptions,qt as getLengthRestrictions,He as getOverrideClass,Ie as getTypeField,Gn as groupedControl,he as hasOptions,lt as hideDisplayOnly,In as htmlDisplayControl,nn as intField,Pt as isAccordionAdornment,Y as isActionControlsDefinition,ee as isArrayRenderer,fe as isCompoundField,Ae as isControlDisabled,Oe as isControlReadonly,pe as isDataControl,U as isDataControlDefinition,Z as isDataGroupRenderer,$ as isDisplayControlsDefinition,Q as isDisplayOnlyRenderer,K as isFlexRenderer,z as isGridRenderer,ye as isGroupControl,_ as isGroupControlsDefinition,Rt as isIconAdornment,de as isScalarField,jt as isSetFieldAdornment,X as isTextfieldRenderer,qe as jsonPathString,qn as jsonataExpr,An as jsonataOptions,xn as jsonataValidatorOptions,Lt as layoutKeyForPlacement,Nn as lengthValidatorOptions,we as lookupChildControl,Ve as lookupChildControlPath,Dt as lookupSchemaField,en as makeCompoundField,et as makeEvalExpressionHook,je as makeHook,Be as makeHookDepString,Ze as makeScalarField,rt as matchesType,dn as mergeField,fn as mergeFields,We as mergeObjects,bn as radioButtonOptions,At as renderControlLayout,Ft as renderLayoutParts,Cn as renderOptionsFor,Re as rendererClass,yn as resolveSchemas,Cr as setIncluded,Ke as stringField,Qe as stringOptionsField,Sn as textDisplayControl,Tn as textfieldOptions,ln as timeField,Ue as toDepString,Bn as useControlDefinitionForSchema,xt as useControlRenderer,yt as useDateValidator,Je as useDynamicHooks,it as useEvalActionHook,Wn as useEvalAllowedOptionsHook,Qn as useEvalDefaultValueHook,zn as useEvalDisabledHook,Kn as useEvalDisplayHook,nt as useEvalDynamicBoolHook,tt as useEvalDynamicHook,ut as useEvalLabelText,$n as useEvalReadonlyHook,Yn as useEvalStyleHook,_n as useEvalVisibilityHook,ot as useJsonataExpression,ft as useJsonataValidator,pt as useLengthValidator,st as useMakeValidationHook,Te as useUpdatedRef,at as useUuidExpression,vn as validatorOptions,ke as visitControlData,Le as visitControlDataArray,W as visitControlDefinition,Pe as watchControlLookup,Xe as withScalarOptions,kt as wrapLayout,It as wrapMarkup,Vt as wrapMarkupAt};
|
|
3439
2
|
//# sourceMappingURL=index.js.map
|