@react-typed-forms/schemas 11.15.0 → 11.16.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/DefaultArrayRenderer.d.ts +2 -1
- package/lib/controlRender.d.ts +1 -3
- package/lib/index.js +79 -64
- package/lib/index.js.map +1 -1
- package/lib/types.d.ts +16 -1
- package/package.json +1 -1
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { ArrayRendererRegistration } from "../renderers";
|
|
1
|
+
import { ArrayRendererRegistration, DataRendererRegistration } from "../renderers";
|
|
2
2
|
import { ActionRendererProps, ArrayRendererProps } from "../controlRender";
|
|
3
3
|
import React, { ReactNode } from "react";
|
|
4
|
+
export declare function createDefaultArrayDataRenderer(): DataRendererRegistration;
|
|
4
5
|
export interface DefaultArrayRendererOptions {
|
|
5
6
|
className?: string;
|
|
6
7
|
removableClass?: string;
|
package/lib/controlRender.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, {
|
|
1
|
+
import React, { FC, Key, ReactElement, ReactNode } from "react";
|
|
2
2
|
import { Control } from "@react-typed-forms/core";
|
|
3
3
|
import { AdornmentPlacement, ControlAdornment, ControlDefinition, DataControlDefinition, DisplayData, FieldOption, GroupRenderOptions, RenderOptions, SchemaField, SchemaInterface, SchemaValidator } from "./types";
|
|
4
4
|
import { ControlDataContext, JsonPath } from "./util";
|
|
@@ -121,7 +121,6 @@ export interface DataRendererProps extends ParentRendererProps {
|
|
|
121
121
|
required: boolean;
|
|
122
122
|
options: FieldOption[] | undefined | null;
|
|
123
123
|
hidden: boolean;
|
|
124
|
-
toArrayProps?: () => ArrayRendererProps;
|
|
125
124
|
}
|
|
126
125
|
export interface ActionRendererProps {
|
|
127
126
|
actionId: string;
|
|
@@ -178,7 +177,6 @@ export declare function ControlRenderer({ definition, fields, renderer, options,
|
|
|
178
177
|
parentPath?: JsonPath[];
|
|
179
178
|
}): React.JSX.Element;
|
|
180
179
|
export declare function defaultDataProps({ definition, field, control, formOptions, style, allowedOptions, schemaInterface, ...props }: DataControlProps): DataRendererProps;
|
|
181
|
-
export declare function defaultArrayProps(arrayControl: Control<any[] | undefined | null>, field: SchemaField, required: boolean, style: CSSProperties | undefined, className: string | undefined, renderElement: (elemIndex: number) => ReactNode, min: number | undefined | null, max: number | undefined | null): ArrayRendererProps;
|
|
182
180
|
export interface ChildRendererOptions {
|
|
183
181
|
elementIndex?: number;
|
|
184
182
|
dataContext?: ControlDataContext;
|
package/lib/index.js
CHANGED
|
@@ -95,6 +95,7 @@ exports.DataRenderType = void 0;
|
|
|
95
95
|
DataRenderType["Group"] = "Group";
|
|
96
96
|
DataRenderType["NullToggle"] = "NullToggle";
|
|
97
97
|
DataRenderType["Jsonata"] = "Jsonata";
|
|
98
|
+
DataRenderType["Array"] = "Array";
|
|
98
99
|
})(exports.DataRenderType || (exports.DataRenderType = {}));
|
|
99
100
|
exports.SyncTextType = void 0;
|
|
100
101
|
(function (SyncTextType) {
|
|
@@ -168,6 +169,9 @@ function isTextfieldRenderer(options) {
|
|
|
168
169
|
function isDataGroupRenderer(options) {
|
|
169
170
|
return options.type === exports.DataRenderType.Group;
|
|
170
171
|
}
|
|
172
|
+
function isArrayRenderer(options) {
|
|
173
|
+
return options.type === exports.DataRenderType.Array;
|
|
174
|
+
}
|
|
171
175
|
|
|
172
176
|
function _arrayLikeToArray(r, a) {
|
|
173
177
|
(null == a || a > r.length) && (a = r.length);
|
|
@@ -1694,7 +1698,7 @@ function ControlRenderer(_ref3) {
|
|
|
1694
1698
|
}
|
|
1695
1699
|
}
|
|
1696
1700
|
function defaultDataProps(_ref4) {
|
|
1697
|
-
var
|
|
1701
|
+
var _allowedOptions$value, _definition$children, _definition$renderOpt2;
|
|
1698
1702
|
var definition = _ref4.definition,
|
|
1699
1703
|
field = _ref4.field,
|
|
1700
1704
|
control = _ref4.control,
|
|
@@ -1704,9 +1708,6 @@ function defaultDataProps(_ref4) {
|
|
|
1704
1708
|
_ref4$schemaInterface = _ref4.schemaInterface,
|
|
1705
1709
|
schemaInterface = _ref4$schemaInterface === void 0 ? defaultSchemaInterface : _ref4$schemaInterface,
|
|
1706
1710
|
props = _objectWithoutPropertiesLoose(_ref4, _excluded$4);
|
|
1707
|
-
var lengthVal = (_definition$validator = definition.validators) == null ? void 0 : _definition$validator.find(function (x) {
|
|
1708
|
-
return x.type === exports.ValidatorType.Length;
|
|
1709
|
-
});
|
|
1710
1711
|
var className = cc(definition.styleClass);
|
|
1711
1712
|
var required = !!definition.required;
|
|
1712
1713
|
var fieldOptions = schemaInterface.getOptions(field);
|
|
@@ -1735,53 +1736,7 @@ function defaultDataProps(_ref4) {
|
|
|
1735
1736
|
hidden: !!formOptions.hidden,
|
|
1736
1737
|
className: className,
|
|
1737
1738
|
style: style
|
|
1738
|
-
}, props
|
|
1739
|
-
toArrayProps: field.collection && props.elementIndex == null ? function () {
|
|
1740
|
-
return defaultArrayProps(control, field, required, style, className, function (elementIndex) {
|
|
1741
|
-
var _control$elements$ele, _control$elements;
|
|
1742
|
-
return props.renderChild((_control$elements$ele = (_control$elements = control.elements) == null ? void 0 : _control$elements[elementIndex].uniqueId) != null ? _control$elements$ele : elementIndex, {
|
|
1743
|
-
type: exports.ControlDefinitionType.Data,
|
|
1744
|
-
field: definition.field,
|
|
1745
|
-
children: definition.children,
|
|
1746
|
-
hideTitle: true
|
|
1747
|
-
}, {
|
|
1748
|
-
elementIndex: elementIndex,
|
|
1749
|
-
dataContext: props.parentContext
|
|
1750
|
-
});
|
|
1751
|
-
}, lengthVal == null ? void 0 : lengthVal.min, lengthVal == null ? void 0 : lengthVal.max);
|
|
1752
|
-
} : undefined
|
|
1753
|
-
});
|
|
1754
|
-
}
|
|
1755
|
-
function defaultArrayProps(arrayControl, field, required, style, className, _renderElement, min, max) {
|
|
1756
|
-
var _field$displayName;
|
|
1757
|
-
var noun = (_field$displayName = field.displayName) != null ? _field$displayName : field.field;
|
|
1758
|
-
return {
|
|
1759
|
-
arrayControl: arrayControl,
|
|
1760
|
-
required: required,
|
|
1761
|
-
addAction: {
|
|
1762
|
-
actionId: "add",
|
|
1763
|
-
actionText: "Add " + noun,
|
|
1764
|
-
onClick: function onClick() {
|
|
1765
|
-
return core.addElement(arrayControl, elementValueForField(field));
|
|
1766
|
-
}
|
|
1767
|
-
},
|
|
1768
|
-
removeAction: function removeAction(i) {
|
|
1769
|
-
return {
|
|
1770
|
-
actionId: "",
|
|
1771
|
-
actionText: "Remove",
|
|
1772
|
-
onClick: function onClick() {
|
|
1773
|
-
return core.removeElement(arrayControl, i);
|
|
1774
|
-
}
|
|
1775
|
-
};
|
|
1776
|
-
},
|
|
1777
|
-
renderElement: function renderElement(i) {
|
|
1778
|
-
return _renderElement(i);
|
|
1779
|
-
},
|
|
1780
|
-
className: cc(className),
|
|
1781
|
-
style: style,
|
|
1782
|
-
min: min,
|
|
1783
|
-
max: max
|
|
1784
|
-
};
|
|
1739
|
+
}, props);
|
|
1785
1740
|
}
|
|
1786
1741
|
function renderControlLayout(props) {
|
|
1787
1742
|
var c = props.definition,
|
|
@@ -2384,10 +2339,74 @@ function createInputConversion(ft) {
|
|
|
2384
2339
|
}
|
|
2385
2340
|
}
|
|
2386
2341
|
|
|
2342
|
+
function createDefaultArrayDataRenderer() {
|
|
2343
|
+
return createDataRenderer(function (_ref, renderers) {
|
|
2344
|
+
var _definition$validator, _field$displayName;
|
|
2345
|
+
var definition = _ref.definition,
|
|
2346
|
+
control = _ref.control,
|
|
2347
|
+
required = _ref.required,
|
|
2348
|
+
field = _ref.field,
|
|
2349
|
+
renderChild = _ref.renderChild,
|
|
2350
|
+
parentContext = _ref.parentContext,
|
|
2351
|
+
className = _ref.className,
|
|
2352
|
+
style = _ref.style,
|
|
2353
|
+
renderOptions = _ref.renderOptions;
|
|
2354
|
+
var lengthVal = (_definition$validator = definition.validators) == null ? void 0 : _definition$validator.find(function (x) {
|
|
2355
|
+
return x.type === exports.ValidatorType.Length;
|
|
2356
|
+
});
|
|
2357
|
+
var _ref2 = isArrayRenderer(renderOptions) ? renderOptions : {},
|
|
2358
|
+
addText = _ref2.addText,
|
|
2359
|
+
noAdd = _ref2.noAdd,
|
|
2360
|
+
noRemove = _ref2.noRemove,
|
|
2361
|
+
removeText = _ref2.removeText;
|
|
2362
|
+
var childOptions = isArrayRenderer(renderOptions) ? renderOptions.childOptions : undefined;
|
|
2363
|
+
var noun = (_field$displayName = field.displayName) != null ? _field$displayName : field.field;
|
|
2364
|
+
var arrayProps = {
|
|
2365
|
+
arrayControl: control,
|
|
2366
|
+
required: required,
|
|
2367
|
+
addAction: !noAdd ? {
|
|
2368
|
+
actionId: "add",
|
|
2369
|
+
actionText: addText ? addText : "Add " + noun,
|
|
2370
|
+
onClick: function onClick() {
|
|
2371
|
+
return core.addElement(control, elementValueForField(field));
|
|
2372
|
+
}
|
|
2373
|
+
} : undefined,
|
|
2374
|
+
removeAction: !noRemove ? function (i) {
|
|
2375
|
+
return {
|
|
2376
|
+
actionId: "",
|
|
2377
|
+
actionText: removeText ? removeText : "Remove",
|
|
2378
|
+
onClick: function onClick() {
|
|
2379
|
+
return core.removeElement(control, i);
|
|
2380
|
+
}
|
|
2381
|
+
};
|
|
2382
|
+
} : undefined,
|
|
2383
|
+
renderElement: function renderElement(i) {
|
|
2384
|
+
var _control$elements$i$u, _control$elements;
|
|
2385
|
+
return renderChild((_control$elements$i$u = (_control$elements = control.elements) == null ? void 0 : _control$elements[i].uniqueId) != null ? _control$elements$i$u : i, {
|
|
2386
|
+
type: exports.ControlDefinitionType.Data,
|
|
2387
|
+
field: definition.field,
|
|
2388
|
+
children: definition.children,
|
|
2389
|
+
renderOptions: childOptions != null ? childOptions : {
|
|
2390
|
+
type: exports.DataRenderType.Standard
|
|
2391
|
+
},
|
|
2392
|
+
hideTitle: true
|
|
2393
|
+
}, {
|
|
2394
|
+
elementIndex: i,
|
|
2395
|
+
dataContext: parentContext
|
|
2396
|
+
});
|
|
2397
|
+
},
|
|
2398
|
+
className: cc(className),
|
|
2399
|
+
style: style,
|
|
2400
|
+
min: lengthVal == null ? void 0 : lengthVal.min,
|
|
2401
|
+
max: lengthVal == null ? void 0 : lengthVal.max
|
|
2402
|
+
};
|
|
2403
|
+
return renderers.renderArray(arrayProps);
|
|
2404
|
+
});
|
|
2405
|
+
}
|
|
2387
2406
|
function createDefaultArrayRenderer(options) {
|
|
2388
2407
|
return {
|
|
2389
|
-
render: function render(props,
|
|
2390
|
-
var renderAction =
|
|
2408
|
+
render: function render(props, _ref3) {
|
|
2409
|
+
var renderAction = _ref3.renderAction;
|
|
2391
2410
|
return /*#__PURE__*/React__default["default"].createElement(DefaultArrayRenderer, _extends({}, props, options, {
|
|
2392
2411
|
renderAction: renderAction
|
|
2393
2412
|
}));
|
|
@@ -2840,17 +2859,13 @@ function createDefaultDataRenderer(options) {
|
|
|
2840
2859
|
booleanOptions = _optionRenderer$boole.booleanOptions,
|
|
2841
2860
|
optionRenderer = _optionRenderer$boole.optionRenderer,
|
|
2842
2861
|
displayOnlyClass = _optionRenderer$boole.displayOnlyClass;
|
|
2862
|
+
var arrayRenderer = createDefaultArrayDataRenderer();
|
|
2843
2863
|
return createDataRenderer(function (props, renderers) {
|
|
2844
|
-
var
|
|
2864
|
+
var field = props.field;
|
|
2865
|
+
var fieldType = field.type;
|
|
2845
2866
|
var renderOptions = props.renderOptions;
|
|
2867
|
+
if (field.collection && props.elementIndex == null) return arrayRenderer.render(props, renderers);
|
|
2846
2868
|
var renderType = renderOptions.type;
|
|
2847
|
-
if (props.toArrayProps && renderType !== exports.DataRenderType.CheckList) {
|
|
2848
|
-
return function (p) {
|
|
2849
|
-
return _extends({}, p, {
|
|
2850
|
-
children: renderers.renderArray(props.toArrayProps())
|
|
2851
|
-
});
|
|
2852
|
-
};
|
|
2853
|
-
}
|
|
2854
2869
|
if (fieldType === exports.FieldType.Compound) {
|
|
2855
2870
|
var _ref5;
|
|
2856
2871
|
var groupOptions = (_ref5 = isDataGroupRenderer(renderOptions) ? renderOptions.groupOptions : undefined) != null ? _ref5 : {
|
|
@@ -2950,9 +2965,9 @@ function createDefaultAdornmentRenderer(options) {
|
|
|
2950
2965
|
var dynamicHooks = useDynamicHooks({
|
|
2951
2966
|
value: hook
|
|
2952
2967
|
});
|
|
2953
|
-
var
|
|
2968
|
+
var SetFieldWrapper = React.useCallback(setFieldWrapper, [dynamicHooks]);
|
|
2954
2969
|
return wrapLayout(function (x) {
|
|
2955
|
-
return /*#__PURE__*/React__default["default"].createElement(
|
|
2970
|
+
return /*#__PURE__*/React__default["default"].createElement(SetFieldWrapper, {
|
|
2956
2971
|
children: x,
|
|
2957
2972
|
parentContext: parentContext,
|
|
2958
2973
|
adornment: adornment
|
|
@@ -3266,7 +3281,6 @@ exports.createVisibilityRenderer = createVisibilityRenderer;
|
|
|
3266
3281
|
exports.dataControl = dataControl;
|
|
3267
3282
|
exports.dateField = dateField;
|
|
3268
3283
|
exports.dateTimeField = dateTimeField;
|
|
3269
|
-
exports.defaultArrayProps = defaultArrayProps;
|
|
3270
3284
|
exports.defaultCompoundField = defaultCompoundField;
|
|
3271
3285
|
exports.defaultControlForField = defaultControlForField;
|
|
3272
3286
|
exports.defaultDataProps = defaultDataProps;
|
|
@@ -3308,6 +3322,7 @@ exports.htmlDisplayControl = htmlDisplayControl;
|
|
|
3308
3322
|
exports.intField = intField;
|
|
3309
3323
|
exports.isAccordionAdornment = isAccordionAdornment;
|
|
3310
3324
|
exports.isActionControlsDefinition = isActionControlsDefinition;
|
|
3325
|
+
exports.isArrayRenderer = isArrayRenderer;
|
|
3311
3326
|
exports.isCompoundField = isCompoundField;
|
|
3312
3327
|
exports.isControlDisabled = isControlDisabled;
|
|
3313
3328
|
exports.isControlReadonly = isControlReadonly;
|