@react-typed-forms/schemas 11.17.0 → 11.18.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 +2 -2
- package/lib/index.js +42 -11
- package/lib/index.js.map +1 -1
- package/lib/types.d.ts +3 -0
- package/lib/util.d.ts +1 -0
- package/package.json +1 -1
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { ArrayRendererRegistration, DataRendererRegistration } from "../renderers";
|
|
2
2
|
import { ActionRendererProps, ArrayRendererProps } from "../controlRender";
|
|
3
3
|
import React, { ReactNode } from "react";
|
|
4
|
+
import { ArrayActionOptions } from "../types";
|
|
4
5
|
export declare function createDefaultArrayDataRenderer(): DataRendererRegistration;
|
|
5
|
-
export interface DefaultArrayRendererOptions {
|
|
6
|
+
export interface DefaultArrayRendererOptions extends ArrayActionOptions {
|
|
6
7
|
className?: string;
|
|
7
8
|
removableClass?: string;
|
|
8
9
|
childClass?: string;
|
package/lib/controlRender.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React, { FC, Key, ReactElement, ReactNode } from "react";
|
|
2
2
|
import { Control } from "@react-typed-forms/core";
|
|
3
|
-
import { AdornmentPlacement, ControlAdornment, ControlDefinition, DataControlDefinition, DisplayData, FieldOption, GroupRenderOptions, RenderOptions, SchemaField, SchemaInterface, SchemaValidator } from "./types";
|
|
3
|
+
import { AdornmentPlacement, ArrayRenderOptions, ControlAdornment, ControlDefinition, DataControlDefinition, DisplayData, FieldOption, GroupRenderOptions, RenderOptions, SchemaField, SchemaInterface, SchemaValidator } from "./types";
|
|
4
4
|
import { ControlDataContext, JsonPath } from "./util";
|
|
5
5
|
import { EvalExpressionHook, UseEvalExpressionHook } from "./hooks";
|
|
6
6
|
import { ValidationContext } from "./validators";
|
|
@@ -218,7 +218,7 @@ export declare function getLengthRestrictions(definition: DataControlDefinition)
|
|
|
218
218
|
min: number | null | undefined;
|
|
219
219
|
max: number | null | undefined;
|
|
220
220
|
};
|
|
221
|
-
export declare function createArrayActions(control: Control<any[]>, field: SchemaField,
|
|
221
|
+
export declare function createArrayActions(control: Control<any[]>, field: SchemaField, options?: Pick<ArrayRenderOptions, "addText" | "removeText" | "noAdd" | "noRemove" | "addActionId" | "removeActionId">): Pick<ArrayRendererProps, "addAction" | "removeAction" | "arrayControl">;
|
|
222
222
|
export declare function applyArrayLengthRestrictions({ arrayControl, min, max, addAction: aa, removeAction: ra, required, }: Pick<ArrayRendererProps, "addAction" | "removeAction" | "arrayControl" | "min" | "max" | "required">, disable?: boolean): Pick<ArrayRendererProps, "addAction" | "removeAction"> & {
|
|
223
223
|
addDisabled: boolean;
|
|
224
224
|
removeDisabled: boolean;
|
package/lib/index.js
CHANGED
|
@@ -683,6 +683,24 @@ function findFieldPath(fields, fieldPath) {
|
|
|
683
683
|
}
|
|
684
684
|
return foundFields.length === fieldNames.length ? foundFields : undefined;
|
|
685
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
|
+
}
|
|
686
704
|
|
|
687
705
|
function buildSchema(def) {
|
|
688
706
|
return Object.entries(def).map(function (x) {
|
|
@@ -1921,13 +1939,20 @@ function getLengthRestrictions(definition) {
|
|
|
1921
1939
|
max: lengthVal == null ? void 0 : lengthVal.max
|
|
1922
1940
|
};
|
|
1923
1941
|
}
|
|
1924
|
-
function createArrayActions(control, field,
|
|
1942
|
+
function createArrayActions(control, field, options) {
|
|
1925
1943
|
var _field$displayName;
|
|
1926
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;
|
|
1927
1952
|
return {
|
|
1928
1953
|
arrayControl: control,
|
|
1929
1954
|
addAction: !noAdd ? {
|
|
1930
|
-
actionId: "add",
|
|
1955
|
+
actionId: addActionId ? addActionId : "add",
|
|
1931
1956
|
actionText: addText ? addText : "Add " + noun,
|
|
1932
1957
|
onClick: function onClick() {
|
|
1933
1958
|
return core.addElement(control, elementValueForField(field));
|
|
@@ -1935,7 +1960,7 @@ function createArrayActions(control, field, addText, removeText, noAdd, noRemove
|
|
|
1935
1960
|
} : undefined,
|
|
1936
1961
|
removeAction: !noRemove ? function (i) {
|
|
1937
1962
|
return {
|
|
1938
|
-
actionId: "remove",
|
|
1963
|
+
actionId: removeActionId ? removeActionId : "remove",
|
|
1939
1964
|
actionText: removeText ? removeText : "Remove",
|
|
1940
1965
|
onClick: function onClick() {
|
|
1941
1966
|
return core.removeElement(control, i);
|
|
@@ -1944,14 +1969,14 @@ function createArrayActions(control, field, addText, removeText, noAdd, noRemove
|
|
|
1944
1969
|
} : undefined
|
|
1945
1970
|
};
|
|
1946
1971
|
}
|
|
1947
|
-
function applyArrayLengthRestrictions(
|
|
1972
|
+
function applyArrayLengthRestrictions(_ref8, disable) {
|
|
1948
1973
|
var _arrayControl$element, _arrayControl$element2;
|
|
1949
|
-
var arrayControl =
|
|
1950
|
-
min =
|
|
1951
|
-
max =
|
|
1952
|
-
aa =
|
|
1953
|
-
ra =
|
|
1954
|
-
required =
|
|
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;
|
|
1955
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),
|
|
1956
1981
|
removeAllowed = _applyLengthRestricti[0],
|
|
1957
1982
|
addAllowed = _applyLengthRestricti[1];
|
|
@@ -2389,7 +2414,12 @@ function createDefaultArrayDataRenderer() {
|
|
|
2389
2414
|
noRemove = _ref2.noRemove,
|
|
2390
2415
|
removeText = _ref2.removeText;
|
|
2391
2416
|
var childOptions = isArrayRenderer(renderOptions) ? renderOptions.childOptions : undefined;
|
|
2392
|
-
var arrayProps = _extends({}, createArrayActions(control, field,
|
|
2417
|
+
var arrayProps = _extends({}, createArrayActions(control, field, {
|
|
2418
|
+
addText: addText,
|
|
2419
|
+
removeText: removeText,
|
|
2420
|
+
noAdd: noAdd,
|
|
2421
|
+
noRemove: noRemove
|
|
2422
|
+
}), {
|
|
2393
2423
|
required: required,
|
|
2394
2424
|
renderElement: function renderElement(i) {
|
|
2395
2425
|
var _control$elements$i$u, _control$elements;
|
|
@@ -3364,6 +3394,7 @@ exports.makeScalarField = makeScalarField;
|
|
|
3364
3394
|
exports.matchesType = matchesType;
|
|
3365
3395
|
exports.mergeField = mergeField;
|
|
3366
3396
|
exports.mergeFields = mergeFields;
|
|
3397
|
+
exports.mergeObjects = mergeObjects;
|
|
3367
3398
|
exports.renderControlLayout = renderControlLayout;
|
|
3368
3399
|
exports.renderLayoutParts = renderLayoutParts;
|
|
3369
3400
|
exports.rendererClass = rendererClass;
|