@react-typed-forms/schemas 10.1.0 → 10.3.0
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/components/CheckRenderer.d.ts +1 -0
- package/lib/createDefaultRenderers.d.ts +1 -0
- package/lib/index.js +174 -103
- package/lib/index.js.map +1 -1
- package/lib/tailwind.d.ts +3 -0
- package/lib/util.d.ts +8 -0
- package/package.json +2 -2
|
@@ -23,3 +23,4 @@ export declare function CheckButtons({ control, options, labelClass, checkClass,
|
|
|
23
23
|
setChecked: (c: Control<any>, o: FieldOption, checked: boolean) => void;
|
|
24
24
|
}): React.JSX.Element;
|
|
25
25
|
export declare function setIncluded<A>(array: A[], elem: A, included: boolean): A[];
|
|
26
|
+
export declare function createCheckboxRenderer(options?: CheckRendererOptions): import("../renderers").DataRendererRegistration;
|
|
@@ -39,6 +39,7 @@ interface DefaultDataRendererOptions {
|
|
|
39
39
|
inputClass?: string;
|
|
40
40
|
displayOnlyClass?: string;
|
|
41
41
|
selectOptions?: SelectRendererOptions;
|
|
42
|
+
checkboxOptions?: CheckRendererOptions;
|
|
42
43
|
checkOptions?: CheckRendererOptions;
|
|
43
44
|
radioOptions?: CheckRendererOptions;
|
|
44
45
|
checkListOptions?: CheckRendererOptions;
|
package/lib/index.js
CHANGED
|
@@ -152,63 +152,53 @@ function isDataGroupRenderer(options) {
|
|
|
152
152
|
return options.type === exports.DataRenderType.Group;
|
|
153
153
|
}
|
|
154
154
|
|
|
155
|
-
function
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
};
|
|
167
|
-
return _extends.apply(this, arguments);
|
|
168
|
-
}
|
|
169
|
-
function _objectWithoutPropertiesLoose(source, excluded) {
|
|
170
|
-
if (source == null) return {};
|
|
171
|
-
var target = {};
|
|
172
|
-
var sourceKeys = Object.keys(source);
|
|
173
|
-
var key, i;
|
|
174
|
-
for (i = 0; i < sourceKeys.length; i++) {
|
|
175
|
-
key = sourceKeys[i];
|
|
176
|
-
if (excluded.indexOf(key) >= 0) continue;
|
|
177
|
-
target[key] = source[key];
|
|
178
|
-
}
|
|
179
|
-
return target;
|
|
180
|
-
}
|
|
181
|
-
function _unsupportedIterableToArray(o, minLen) {
|
|
182
|
-
if (!o) return;
|
|
183
|
-
if (typeof o === "string") return _arrayLikeToArray(o, minLen);
|
|
184
|
-
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
185
|
-
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
186
|
-
if (n === "Map" || n === "Set") return Array.from(o);
|
|
187
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
|
|
188
|
-
}
|
|
189
|
-
function _arrayLikeToArray(arr, len) {
|
|
190
|
-
if (len == null || len > arr.length) len = arr.length;
|
|
191
|
-
for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
|
|
192
|
-
return arr2;
|
|
193
|
-
}
|
|
194
|
-
function _createForOfIteratorHelperLoose(o, allowArrayLike) {
|
|
195
|
-
var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
|
|
196
|
-
if (it) return (it = it.call(o)).next.bind(it);
|
|
197
|
-
if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
|
|
198
|
-
if (it) o = it;
|
|
199
|
-
var i = 0;
|
|
155
|
+
function _arrayLikeToArray(r, a) {
|
|
156
|
+
(null == a || a > r.length) && (a = r.length);
|
|
157
|
+
for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
|
|
158
|
+
return n;
|
|
159
|
+
}
|
|
160
|
+
function _createForOfIteratorHelperLoose(r, e) {
|
|
161
|
+
var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
|
|
162
|
+
if (t) return (t = t.call(r)).next.bind(t);
|
|
163
|
+
if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) {
|
|
164
|
+
t && (r = t);
|
|
165
|
+
var o = 0;
|
|
200
166
|
return function () {
|
|
201
|
-
|
|
202
|
-
done:
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
value: o[i++]
|
|
167
|
+
return o >= r.length ? {
|
|
168
|
+
done: !0
|
|
169
|
+
} : {
|
|
170
|
+
done: !1,
|
|
171
|
+
value: r[o++]
|
|
207
172
|
};
|
|
208
173
|
};
|
|
209
174
|
}
|
|
210
175
|
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
211
176
|
}
|
|
177
|
+
function _extends() {
|
|
178
|
+
return _extends = Object.assign ? Object.assign.bind() : function (n) {
|
|
179
|
+
for (var e = 1; e < arguments.length; e++) {
|
|
180
|
+
var t = arguments[e];
|
|
181
|
+
for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
|
|
182
|
+
}
|
|
183
|
+
return n;
|
|
184
|
+
}, _extends.apply(null, arguments);
|
|
185
|
+
}
|
|
186
|
+
function _objectWithoutPropertiesLoose(r, e) {
|
|
187
|
+
if (null == r) return {};
|
|
188
|
+
var t = {};
|
|
189
|
+
for (var n in r) if ({}.hasOwnProperty.call(r, n)) {
|
|
190
|
+
if (e.indexOf(n) >= 0) continue;
|
|
191
|
+
t[n] = r[n];
|
|
192
|
+
}
|
|
193
|
+
return t;
|
|
194
|
+
}
|
|
195
|
+
function _unsupportedIterableToArray(r, a) {
|
|
196
|
+
if (r) {
|
|
197
|
+
if ("string" == typeof r) return _arrayLikeToArray(r, a);
|
|
198
|
+
var t = {}.toString.call(r).slice(8, -1);
|
|
199
|
+
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;
|
|
200
|
+
}
|
|
201
|
+
}
|
|
212
202
|
|
|
213
203
|
function applyDefaultValues(v, fields, doneSet) {
|
|
214
204
|
var _doneSet;
|
|
@@ -323,49 +313,100 @@ function defaultControlForField(sf) {
|
|
|
323
313
|
}
|
|
324
314
|
throw "Unknown schema field";
|
|
325
315
|
}
|
|
326
|
-
function
|
|
327
|
-
if (
|
|
328
|
-
|
|
329
|
-
var _control$children;
|
|
330
|
-
if (control.compoundField) return field === control.compoundField ? control : undefined;
|
|
331
|
-
return findReferencedControlInArray(field, (_control$children = control.children) != null ? _control$children : []);
|
|
316
|
+
function findControlsForCompound(compound, definition) {
|
|
317
|
+
if (isDataControlDefinition(definition) && compound.field === definition.field) {
|
|
318
|
+
return [definition];
|
|
332
319
|
}
|
|
333
|
-
|
|
320
|
+
if (isGroupControlsDefinition(definition)) {
|
|
321
|
+
var _definition$children$, _definition$children;
|
|
322
|
+
if (definition.compoundField === compound.field) return [definition];
|
|
323
|
+
return (_definition$children$ = (_definition$children = definition.children) == null ? void 0 : _definition$children.flatMap(function (d) {
|
|
324
|
+
return findControlsForCompound(compound, d);
|
|
325
|
+
})) != null ? _definition$children$ : [];
|
|
326
|
+
}
|
|
327
|
+
return [];
|
|
334
328
|
}
|
|
335
|
-
function
|
|
336
|
-
|
|
337
|
-
var
|
|
338
|
-
|
|
339
|
-
|
|
329
|
+
function findCompoundGroups(fields, controls) {
|
|
330
|
+
return Object.fromEntries(fields.filter(isCompoundField).map(function (cf) {
|
|
331
|
+
var groups = controls.flatMap(function (x) {
|
|
332
|
+
return findControlsForCompound(cf, x);
|
|
333
|
+
});
|
|
334
|
+
return [cf.field, {
|
|
335
|
+
groups: groups.concat(findNonDataGroups(groups.flatMap(function (x) {
|
|
336
|
+
var _x$children;
|
|
337
|
+
return (_x$children = x.children) != null ? _x$children : [];
|
|
338
|
+
}))),
|
|
339
|
+
children: findCompoundGroups(cf.children, groups.flatMap(function (x) {
|
|
340
|
+
var _x$children2;
|
|
341
|
+
return (_x$children2 = x.children) != null ? _x$children2 : [];
|
|
342
|
+
}))
|
|
343
|
+
}];
|
|
344
|
+
}));
|
|
345
|
+
}
|
|
346
|
+
function existsInGroups(field, lookup) {
|
|
347
|
+
var itself = lookup.groups.find(function (c) {
|
|
348
|
+
var _c$children;
|
|
349
|
+
return (_c$children = c.children) == null ? void 0 : _c$children.find(function (x) {
|
|
350
|
+
return isDataControlDefinition(x) && x.field === field.field || isGroupControlsDefinition(x) && x.compoundField === field.field;
|
|
351
|
+
});
|
|
352
|
+
});
|
|
353
|
+
if (!itself) return [[field, lookup]];
|
|
354
|
+
if (isCompoundField(field)) {
|
|
355
|
+
var childLookup = lookup.children[field.field];
|
|
356
|
+
if (!childLookup) return [[field, lookup]];
|
|
357
|
+
return field.children.flatMap(function (c) {
|
|
358
|
+
return existsInGroups(c, childLookup);
|
|
359
|
+
});
|
|
340
360
|
}
|
|
341
|
-
return
|
|
361
|
+
return [];
|
|
362
|
+
}
|
|
363
|
+
function findNonDataGroups(controls) {
|
|
364
|
+
return controls.flatMap(function (control) {
|
|
365
|
+
var _control$children2;
|
|
366
|
+
return isGroupControlsDefinition(control) && !control.compoundField ? [control].concat(findNonDataGroups((_control$children2 = control.children) != null ? _control$children2 : [])) : [];
|
|
367
|
+
});
|
|
368
|
+
}
|
|
369
|
+
function cloneChildren(c) {
|
|
370
|
+
var _c$children2;
|
|
371
|
+
if (c.children) return _extends({}, c, {
|
|
372
|
+
children: (_c$children2 = c.children) == null ? void 0 : _c$children2.map(cloneChildren)
|
|
373
|
+
});
|
|
374
|
+
return c;
|
|
342
375
|
}
|
|
343
376
|
function addMissingControls(fields, controls) {
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
377
|
+
controls = controls.map(cloneChildren);
|
|
378
|
+
var rootMapping = findCompoundGroups(fields, controls);
|
|
379
|
+
var rootGroups = findNonDataGroups([{
|
|
380
|
+
type: exports.ControlDefinitionType.Group,
|
|
381
|
+
children: controls
|
|
382
|
+
}]);
|
|
383
|
+
var rootLookup = {
|
|
384
|
+
children: rootMapping,
|
|
385
|
+
groups: rootGroups
|
|
386
|
+
};
|
|
387
|
+
var missingFields = fields.filter(function (x) {
|
|
388
|
+
return !fieldHasTag(x, "_NoControl");
|
|
389
|
+
}).flatMap(function (x) {
|
|
390
|
+
return existsInGroups(x, rootLookup);
|
|
352
391
|
});
|
|
353
|
-
|
|
354
|
-
var
|
|
355
|
-
var
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
var cf = x;
|
|
360
|
-
return _extends({}, cf, {
|
|
361
|
-
children: addMissingControls(ex.field.children, (_cf$children = cf.children) != null ? _cf$children : [])
|
|
392
|
+
missingFields.forEach(function (_ref) {
|
|
393
|
+
var _f$tags, _insertGroup;
|
|
394
|
+
var f = _ref[0],
|
|
395
|
+
lookup = _ref[1];
|
|
396
|
+
var groupToAdd = (_f$tags = f.tags) == null ? void 0 : _f$tags.find(function (x) {
|
|
397
|
+
return x.startsWith("_ControlGroup:");
|
|
362
398
|
});
|
|
399
|
+
var insertGroup = undefined;
|
|
400
|
+
if (groupToAdd) {
|
|
401
|
+
var groupName = groupToAdd.substring(14);
|
|
402
|
+
insertGroup = lookup.groups.find(function (x) {
|
|
403
|
+
return x.title === groupName;
|
|
404
|
+
});
|
|
405
|
+
}
|
|
406
|
+
if (!insertGroup) insertGroup = lookup.groups[0];
|
|
407
|
+
(_insertGroup = insertGroup) == null || (_insertGroup = _insertGroup.children) == null || _insertGroup.push(defaultControlForField(f));
|
|
363
408
|
});
|
|
364
|
-
return
|
|
365
|
-
return !x.existing;
|
|
366
|
-
}).map(function (x) {
|
|
367
|
-
return defaultControlForField(x.field);
|
|
368
|
-
}));
|
|
409
|
+
return controls;
|
|
369
410
|
}
|
|
370
411
|
function useUpdatedRef(a) {
|
|
371
412
|
var r = React.useRef(a);
|
|
@@ -482,8 +523,8 @@ function cleanDataForSchema(v, fields) {
|
|
|
482
523
|
return out;
|
|
483
524
|
}
|
|
484
525
|
function getAllReferencedClasses(c, collectExtra) {
|
|
485
|
-
var _c$
|
|
486
|
-
var childClasses = (_c$
|
|
526
|
+
var _c$children3, _collectExtra;
|
|
527
|
+
var childClasses = (_c$children3 = c.children) == null ? void 0 : _c$children3.flatMap(function (x) {
|
|
487
528
|
return getAllReferencedClasses(x, collectExtra);
|
|
488
529
|
});
|
|
489
530
|
var tc = clsx__default["default"]([c.styleClass, c.layoutClass, c.labelClass].concat((_collectExtra = collectExtra == null ? void 0 : collectExtra(c)) != null ? _collectExtra : []).map(getOverrideClass));
|
|
@@ -553,8 +594,8 @@ function makeHook(runHook, state, deps) {
|
|
|
553
594
|
}
|
|
554
595
|
function useDynamicHooks(hooks) {
|
|
555
596
|
var hookEntries = Object.entries(hooks);
|
|
556
|
-
var deps = hookEntries.map(function (
|
|
557
|
-
var x =
|
|
597
|
+
var deps = hookEntries.map(function (_ref2) {
|
|
598
|
+
var x = _ref2[1];
|
|
558
599
|
return toDepString(x.deps);
|
|
559
600
|
}).join(",");
|
|
560
601
|
var ref = React.useRef({});
|
|
@@ -563,9 +604,9 @@ function useDynamicHooks(hooks) {
|
|
|
563
604
|
return s[x[0]] = x[1].state;
|
|
564
605
|
});
|
|
565
606
|
return React.useCallback(function (p) {
|
|
566
|
-
return Object.fromEntries(hookEntries.map(function (
|
|
567
|
-
var f =
|
|
568
|
-
hg =
|
|
607
|
+
return Object.fromEntries(hookEntries.map(function (_ref3) {
|
|
608
|
+
var f = _ref3[0],
|
|
609
|
+
hg = _ref3[1];
|
|
569
610
|
return [f, hg.runHook(p, ref.current[f])];
|
|
570
611
|
}));
|
|
571
612
|
}, [deps]);
|
|
@@ -1577,7 +1618,7 @@ function renderControlLayout(props) {
|
|
|
1577
1618
|
}
|
|
1578
1619
|
return {};
|
|
1579
1620
|
function renderData(c) {
|
|
1580
|
-
var _labelText$value3;
|
|
1621
|
+
var _labelText$value3, _c$children$length, _c$children2;
|
|
1581
1622
|
if (!field) return {
|
|
1582
1623
|
children: "No schema field for: " + c.field
|
|
1583
1624
|
};
|
|
@@ -1589,7 +1630,7 @@ function renderControlLayout(props) {
|
|
|
1589
1630
|
return {
|
|
1590
1631
|
processLayout: renderer.renderData(rendererProps),
|
|
1591
1632
|
label: {
|
|
1592
|
-
type: exports.LabelType.Control,
|
|
1633
|
+
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,
|
|
1593
1634
|
label: label,
|
|
1594
1635
|
forId: rendererProps.id,
|
|
1595
1636
|
required: c.required,
|
|
@@ -1755,6 +1796,9 @@ var defaultTailwindTheme = {
|
|
|
1755
1796
|
checkOptions: {
|
|
1756
1797
|
className: "flex items-center gap-4",
|
|
1757
1798
|
entryClass: "flex gap-1 items-center"
|
|
1799
|
+
},
|
|
1800
|
+
selectOptions: {
|
|
1801
|
+
emptyText: "<select>"
|
|
1758
1802
|
}
|
|
1759
1803
|
}
|
|
1760
1804
|
};
|
|
@@ -2117,6 +2161,7 @@ function createCheckListRenderer(options) {
|
|
|
2117
2161
|
type: "checkbox"
|
|
2118
2162
|
}));
|
|
2119
2163
|
}, {
|
|
2164
|
+
collection: true,
|
|
2120
2165
|
renderType: exports.DataRenderType.CheckList
|
|
2121
2166
|
});
|
|
2122
2167
|
}
|
|
@@ -2182,6 +2227,30 @@ function setIncluded(array, elem, included) {
|
|
|
2182
2227
|
return e !== elem;
|
|
2183
2228
|
});
|
|
2184
2229
|
}
|
|
2230
|
+
function createCheckboxRenderer(options) {
|
|
2231
|
+
if (options === void 0) {
|
|
2232
|
+
options = {};
|
|
2233
|
+
}
|
|
2234
|
+
return createDataRenderer(function (props, renderer) {
|
|
2235
|
+
return function (p) {
|
|
2236
|
+
return _extends({}, p, {
|
|
2237
|
+
label: undefined,
|
|
2238
|
+
children: /*#__PURE__*/React__default["default"].createElement("div", {
|
|
2239
|
+
className: rendererClass(props.className, options.className)
|
|
2240
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
2241
|
+
className: options.entryClass
|
|
2242
|
+
}, /*#__PURE__*/React__default["default"].createElement(core.Fcheckbox, {
|
|
2243
|
+
id: props.id,
|
|
2244
|
+
control: props.control,
|
|
2245
|
+
style: props.style,
|
|
2246
|
+
className: options.checkClass
|
|
2247
|
+
}), p.label && renderer.renderLabel(p.label, undefined, undefined)))
|
|
2248
|
+
});
|
|
2249
|
+
};
|
|
2250
|
+
}, {
|
|
2251
|
+
renderType: exports.DataRenderType.Checkbox
|
|
2252
|
+
});
|
|
2253
|
+
}
|
|
2185
2254
|
|
|
2186
2255
|
function createDefaultActionRenderer(options) {
|
|
2187
2256
|
if (options === void 0) {
|
|
@@ -2265,10 +2334,11 @@ var DefaultBoolOptions = [{
|
|
|
2265
2334
|
value: false
|
|
2266
2335
|
}];
|
|
2267
2336
|
function createDefaultDataRenderer(options) {
|
|
2268
|
-
var _options$radioOptions, _options$checkListOpt;
|
|
2337
|
+
var _options$checkOptions, _options$radioOptions, _options$checkListOpt;
|
|
2269
2338
|
if (options === void 0) {
|
|
2270
2339
|
options = {};
|
|
2271
2340
|
}
|
|
2341
|
+
var checkboxRenderer = createCheckboxRenderer((_options$checkOptions = options.checkOptions) != null ? _options$checkOptions : options.checkboxOptions);
|
|
2272
2342
|
var selectRenderer = createSelectRenderer(options.selectOptions);
|
|
2273
2343
|
var radioRenderer = createRadioRenderer((_options$radioOptions = options.radioOptions) != null ? _options$radioOptions : options.checkOptions);
|
|
2274
2344
|
var checkListRenderer = createCheckListRenderer((_options$checkListOpt = options.checkListOptions) != null ? _options$checkListOpt : options.checkOptions);
|
|
@@ -2332,11 +2402,7 @@ function createDefaultDataRenderer(options) {
|
|
|
2332
2402
|
case exports.DataRenderType.Radio:
|
|
2333
2403
|
return radioRenderer.render(props, renderers);
|
|
2334
2404
|
case exports.DataRenderType.Checkbox:
|
|
2335
|
-
return
|
|
2336
|
-
style: props.style,
|
|
2337
|
-
className: props.className,
|
|
2338
|
-
control: props.control
|
|
2339
|
-
});
|
|
2405
|
+
return checkboxRenderer.render(props, renderers);
|
|
2340
2406
|
}
|
|
2341
2407
|
var placeholder = isTextfieldRenderer(renderOptions) ? renderOptions.placeholder : undefined;
|
|
2342
2408
|
return /*#__PURE__*/React__default["default"].createElement(ControlInput, {
|
|
@@ -2404,10 +2470,10 @@ function createDefaultLabelRenderer(options) {
|
|
|
2404
2470
|
labelContainer = _requiredElement$labe.labelContainer;
|
|
2405
2471
|
return {
|
|
2406
2472
|
render: function render(props, labelStart, labelEnd) {
|
|
2407
|
-
return labelContainer( /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
2473
|
+
return labelContainer( /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement("label", {
|
|
2408
2474
|
htmlFor: props.forId,
|
|
2409
2475
|
className: rendererClass(props.className, clsx__default["default"](className, props.type === exports.LabelType.Group && groupLabelClass, props.type === exports.LabelType.Control && controlLabelClass))
|
|
2410
|
-
}, props.label, props.required && requiredElement), labelEnd));
|
|
2476
|
+
}, labelStart, props.label, props.required && requiredElement), labelEnd));
|
|
2411
2477
|
},
|
|
2412
2478
|
type: "label"
|
|
2413
2479
|
};
|
|
@@ -2617,6 +2683,7 @@ exports.createAction = createAction;
|
|
|
2617
2683
|
exports.createAdornmentRenderer = createAdornmentRenderer;
|
|
2618
2684
|
exports.createArrayRenderer = createArrayRenderer;
|
|
2619
2685
|
exports.createCheckListRenderer = createCheckListRenderer;
|
|
2686
|
+
exports.createCheckboxRenderer = createCheckboxRenderer;
|
|
2620
2687
|
exports.createDataRenderer = createDataRenderer;
|
|
2621
2688
|
exports.createDefaultActionRenderer = createDefaultActionRenderer;
|
|
2622
2689
|
exports.createDefaultAdornmentRenderer = createDefaultAdornmentRenderer;
|
|
@@ -2654,12 +2721,16 @@ exports.dynamicReadonly = dynamicReadonly;
|
|
|
2654
2721
|
exports.dynamicVisibility = dynamicVisibility;
|
|
2655
2722
|
exports.elementValueForField = elementValueForField;
|
|
2656
2723
|
exports.emptyGroupDefinition = emptyGroupDefinition;
|
|
2724
|
+
exports.existsInGroups = existsInGroups;
|
|
2657
2725
|
exports.fieldDisplayName = fieldDisplayName;
|
|
2658
2726
|
exports.fieldEqExpr = fieldEqExpr;
|
|
2659
2727
|
exports.fieldHasTag = fieldHasTag;
|
|
2660
2728
|
exports.findChildDefinition = findChildDefinition;
|
|
2661
2729
|
exports.findCompoundField = findCompoundField;
|
|
2730
|
+
exports.findCompoundGroups = findCompoundGroups;
|
|
2731
|
+
exports.findControlsForCompound = findControlsForCompound;
|
|
2662
2732
|
exports.findField = findField;
|
|
2733
|
+
exports.findNonDataGroups = findNonDataGroups;
|
|
2663
2734
|
exports.findScalarField = findScalarField;
|
|
2664
2735
|
exports.getAllReferencedClasses = getAllReferencedClasses;
|
|
2665
2736
|
exports.getControlData = getControlData;
|