@react-typed-forms/schemas 11.12.0 → 11.13.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/JsonataRenderer.d.ts +12 -0
- package/lib/components/MultilineTextfield.d.ts +4 -0
- package/lib/components/NullToggle.d.ts +1 -0
- package/lib/controlRender.d.ts +2 -0
- package/lib/createDefaultRenderers.d.ts +2 -1
- package/lib/hooks.d.ts +1 -1
- package/lib/index.js +175 -63
- package/lib/index.js.map +1 -1
- package/lib/schemaBuilder.d.ts +4 -0
- package/lib/tailwind.d.ts +1 -0
- package/lib/types.d.ts +13 -2
- package/lib/util.d.ts +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { JsonataRenderOptions } from "../types";
|
|
2
|
+
import { ControlDataContext } from "../util";
|
|
3
|
+
import { Control } from "@react-typed-forms/core";
|
|
4
|
+
import React from "react";
|
|
5
|
+
export declare function createJsonataRenderer(className?: string): import("../renderers").DataRendererRegistration;
|
|
6
|
+
export declare function JsonataRenderer({ control, renderOptions: { expression }, readonly, className, dataContext, }: {
|
|
7
|
+
control: Control<any>;
|
|
8
|
+
renderOptions: JsonataRenderOptions;
|
|
9
|
+
className?: string;
|
|
10
|
+
dataContext: ControlDataContext;
|
|
11
|
+
readonly: boolean;
|
|
12
|
+
}): React.JSX.Element;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { DataRendererProps } from "../controlRender";
|
|
2
|
+
import React from "react";
|
|
3
|
+
export declare function createMultilineFieldRenderer(className?: string): import("../renderers").DataRendererRegistration;
|
|
4
|
+
export declare function MultilineTextfield({ control, className }: DataRendererProps): React.JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function createNullToggleRenderer(): import("../renderers").DataRendererRegistration;
|
package/lib/controlRender.d.ts
CHANGED
|
@@ -156,6 +156,7 @@ export type CreateDataProps = (controlProps: DataControlProps) => DataRendererPr
|
|
|
156
156
|
export interface ControlRenderOptions extends FormContextOptions {
|
|
157
157
|
useDataHook?: (c: ControlDefinition) => CreateDataProps;
|
|
158
158
|
actionOnClick?: (actionId: string, actionData: any) => () => void;
|
|
159
|
+
customDisplay?: (customId: string, displayProps: DisplayRendererProps) => ReactNode;
|
|
159
160
|
useValidationHook?: (validator: SchemaValidator, ctx: ValidationContext) => void;
|
|
160
161
|
useEvalExpressionHook?: UseEvalExpressionHook;
|
|
161
162
|
clearHidden?: boolean;
|
|
@@ -200,6 +201,7 @@ export interface RenderControlProps {
|
|
|
200
201
|
actionOnClick?: (actionId: string, actionData: any) => () => void;
|
|
201
202
|
schemaInterface?: SchemaInterface;
|
|
202
203
|
designMode?: boolean;
|
|
204
|
+
customDisplay?: (customId: string, displayProps: DisplayRendererProps) => ReactNode;
|
|
203
205
|
}
|
|
204
206
|
export declare function renderControlLayout(props: RenderControlProps): ControlLayoutProps;
|
|
205
207
|
type MarkupKeys = keyof Omit<RenderedLayout, "errorControl" | "style" | "className" | "wrapLayout">;
|
|
@@ -47,6 +47,8 @@ interface DefaultDataRendererOptions {
|
|
|
47
47
|
checkListOptions?: CheckRendererOptions;
|
|
48
48
|
booleanOptions?: FieldOption[];
|
|
49
49
|
optionRenderer?: DataRendererRegistration;
|
|
50
|
+
multilineClass?: string;
|
|
51
|
+
jsonataClass?: string;
|
|
50
52
|
}
|
|
51
53
|
export declare function createDefaultDataRenderer(options?: DefaultDataRendererOptions): DataRendererRegistration;
|
|
52
54
|
export interface DefaultAccordionRendererOptions {
|
|
@@ -70,6 +72,5 @@ interface DefaultLabelRendererOptions {
|
|
|
70
72
|
labelContainer?: (children: ReactElement) => ReactElement;
|
|
71
73
|
}
|
|
72
74
|
export declare function createDefaultLabelRenderer(options?: DefaultLabelRendererOptions): LabelRendererRegistration;
|
|
73
|
-
export declare function createNullToggleRenderer(): DataRendererRegistration;
|
|
74
75
|
export declare function createDefaultRenderers(options?: DefaultRendererOptions): DefaultRenderers;
|
|
75
76
|
export {};
|
package/lib/hooks.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ export declare function useEvalVisibilityHook(useEvalExpressionHook: UseEvalExpr
|
|
|
8
8
|
export declare function useEvalReadonlyHook(useEvalExpressionHook: UseEvalExpressionHook, definition: ControlDefinition): EvalExpressionHook<boolean>;
|
|
9
9
|
export declare function useEvalStyleHook(useEvalExpressionHook: UseEvalExpressionHook, property: DynamicPropertyType, definition: ControlDefinition): EvalExpressionHook<React.CSSProperties>;
|
|
10
10
|
export declare function useEvalAllowedOptionsHook(useEvalExpressionHook: UseEvalExpressionHook, definition: ControlDefinition): EvalExpressionHook<any[]>;
|
|
11
|
-
export declare function useEvalDisabledHook(useEvalExpressionHook: UseEvalExpressionHook, definition: ControlDefinition, fieldPath?: SchemaField[]): EvalExpressionHook<boolean>;
|
|
11
|
+
export declare function useEvalDisabledHook(useEvalExpressionHook: UseEvalExpressionHook, definition: ControlDefinition, fieldPath?: SchemaField[], elementIndex?: number): EvalExpressionHook<boolean>;
|
|
12
12
|
export declare function useEvalDisplayHook(useEvalExpressionHook: UseEvalExpressionHook, definition: ControlDefinition): DynamicHookGenerator<Control<string | undefined> | undefined, ControlDataContext>;
|
|
13
13
|
export declare function useEvalDefaultValueHook(useEvalExpressionHook: UseEvalExpressionHook, definition: ControlDefinition, schemaField: SchemaField | undefined, element: boolean): EvalExpressionHook;
|
|
14
14
|
export declare function defaultEvalHooks(expr: EntityExpression, context: ControlDataContext, coerce: (v: any) => any): Control<any>;
|
package/lib/index.js
CHANGED
|
@@ -91,6 +91,7 @@ exports.DataRenderType = void 0;
|
|
|
91
91
|
DataRenderType["DisplayOnly"] = "DisplayOnly";
|
|
92
92
|
DataRenderType["Group"] = "Group";
|
|
93
93
|
DataRenderType["NullToggle"] = "NullToggle";
|
|
94
|
+
DataRenderType["Jsonata"] = "Jsonata";
|
|
94
95
|
})(exports.DataRenderType || (exports.DataRenderType = {}));
|
|
95
96
|
exports.SyncTextType = void 0;
|
|
96
97
|
(function (SyncTextType) {
|
|
@@ -110,6 +111,7 @@ exports.DisplayDataType = void 0;
|
|
|
110
111
|
DisplayDataType["Text"] = "Text";
|
|
111
112
|
DisplayDataType["Html"] = "Html";
|
|
112
113
|
DisplayDataType["Icon"] = "Icon";
|
|
114
|
+
DisplayDataType["Custom"] = "Custom";
|
|
113
115
|
})(exports.DisplayDataType || (exports.DisplayDataType = {}));
|
|
114
116
|
exports.ValidatorType = void 0;
|
|
115
117
|
(function (ValidatorType) {
|
|
@@ -502,10 +504,11 @@ function visitControlData(definition, ctx, cb) {
|
|
|
502
504
|
return undefined;
|
|
503
505
|
}
|
|
504
506
|
}
|
|
505
|
-
function lookupChildControl(data, path) {
|
|
506
|
-
|
|
507
|
+
function lookupChildControl(data, path, element) {
|
|
508
|
+
var fieldPath = path.map(function (x) {
|
|
507
509
|
return x.field;
|
|
508
|
-
})
|
|
510
|
+
});
|
|
511
|
+
return lookupChildControlPath(data, element == null ? fieldPath : [].concat(fieldPath, [element]));
|
|
509
512
|
}
|
|
510
513
|
function lookupChildControlPath(data, jsonPath) {
|
|
511
514
|
var childPath = [].concat(data.path, jsonPath);
|
|
@@ -712,6 +715,12 @@ function intField(displayName, options) {
|
|
|
712
715
|
displayName: displayName
|
|
713
716
|
}, options));
|
|
714
717
|
}
|
|
718
|
+
function doubleField(displayName, options) {
|
|
719
|
+
return makeScalarField(_extends({
|
|
720
|
+
type: exports.FieldType.Double,
|
|
721
|
+
displayName: displayName
|
|
722
|
+
}, options));
|
|
723
|
+
}
|
|
715
724
|
function dateField(displayName, options) {
|
|
716
725
|
return makeScalarField(_extends({
|
|
717
726
|
type: exports.FieldType.Date,
|
|
@@ -1000,18 +1009,19 @@ function useEvalAllowedOptionsHook(useEvalExpressionHook, definition) {
|
|
|
1000
1009
|
return core.useControl([]);
|
|
1001
1010
|
}, undefined);
|
|
1002
1011
|
}
|
|
1003
|
-
function useEvalDisabledHook(useEvalExpressionHook, definition, fieldPath) {
|
|
1012
|
+
function useEvalDisabledHook(useEvalExpressionHook, definition, fieldPath, elementIndex) {
|
|
1004
1013
|
var dynamicDisabled = useEvalDynamicBoolHook(definition, exports.DynamicPropertyType.Disabled, useEvalExpressionHook);
|
|
1005
1014
|
return makeDynamicPropertyHook(dynamicDisabled, function (ctx, _ref3) {
|
|
1006
1015
|
var fieldPath = _ref3.fieldPath;
|
|
1007
1016
|
return core.useComputed(function () {
|
|
1008
1017
|
var _dataControl$meta$nul;
|
|
1009
|
-
var dataControl = fieldPath && lookupChildControl(ctx, fieldPath);
|
|
1018
|
+
var dataControl = fieldPath && lookupChildControl(ctx, fieldPath, elementIndex);
|
|
1010
1019
|
var setToNull = (dataControl == null || (_dataControl$meta$nul = dataControl.meta["nullControl"]) == null ? void 0 : _dataControl$meta$nul.value) === false;
|
|
1011
1020
|
return setToNull || isControlDisabled(definition);
|
|
1012
1021
|
});
|
|
1013
1022
|
}, {
|
|
1014
|
-
fieldPath: fieldPath
|
|
1023
|
+
fieldPath: fieldPath,
|
|
1024
|
+
elementIndex: elementIndex
|
|
1015
1025
|
});
|
|
1016
1026
|
}
|
|
1017
1027
|
function useEvalDisplayHook(useEvalExpressionHook, definition) {
|
|
@@ -1137,6 +1147,7 @@ function useJsonataExpression(jExpr, dataContext, bindings, coerce) {
|
|
|
1137
1147
|
return "#$i[" + x + "]";
|
|
1138
1148
|
});
|
|
1139
1149
|
var fullExpr = pathString ? pathString + ".(" + jExpr + ")" : jExpr;
|
|
1150
|
+
console.log(fullExpr);
|
|
1140
1151
|
var compiledExpr = React.useMemo(function () {
|
|
1141
1152
|
try {
|
|
1142
1153
|
return jsonata__default["default"](fullExpr);
|
|
@@ -1422,7 +1433,7 @@ function useControlRenderer(definition, fields, renderer, options) {
|
|
|
1422
1433
|
defaultValueControl: useEvalDefaultValueHook(useExpr, definition, schemaField, elementIndex != null),
|
|
1423
1434
|
visibleControl: useEvalVisibilityHook(useExpr, definition, fieldPath),
|
|
1424
1435
|
readonlyControl: useEvalReadonlyHook(useExpr, definition),
|
|
1425
|
-
disabledControl: useEvalDisabledHook(useExpr, definition, fieldPath),
|
|
1436
|
+
disabledControl: useEvalDisabledHook(useExpr, definition, fieldPath, elementIndex),
|
|
1426
1437
|
allowedOptions: useEvalAllowedOptionsHook(useExpr, definition),
|
|
1427
1438
|
labelText: useEvalLabelText(useExpr, definition),
|
|
1428
1439
|
actionData: useEvalActionHook(useExpr, definition),
|
|
@@ -1578,6 +1589,7 @@ function useControlRenderer(definition, fields, renderer, options) {
|
|
|
1578
1589
|
displayControl: displayControl,
|
|
1579
1590
|
style: customStyle.value,
|
|
1580
1591
|
allowedOptions: allowedOptions,
|
|
1592
|
+
customDisplay: _options.customDisplay,
|
|
1581
1593
|
actionDataControl: actionData,
|
|
1582
1594
|
actionOnClick: _options.actionOnClick,
|
|
1583
1595
|
useChildVisibility: function useChildVisibility(childDef, context) {
|
|
@@ -1763,7 +1775,8 @@ function renderControlLayout(props) {
|
|
|
1763
1775
|
labelText = props.labelText,
|
|
1764
1776
|
parentContext = props.parentContext,
|
|
1765
1777
|
useChildVisibility = props.useChildVisibility,
|
|
1766
|
-
designMode = props.designMode
|
|
1778
|
+
designMode = props.designMode,
|
|
1779
|
+
customDisplay = props.customDisplay;
|
|
1767
1780
|
if (isDataControlDefinition(c)) {
|
|
1768
1781
|
return renderData(c);
|
|
1769
1782
|
}
|
|
@@ -1815,14 +1828,21 @@ function renderControlLayout(props) {
|
|
|
1815
1828
|
}
|
|
1816
1829
|
if (isDisplayControlsDefinition(c)) {
|
|
1817
1830
|
var _c$displayData;
|
|
1831
|
+
var data = (_c$displayData = c.displayData) != null ? _c$displayData : {};
|
|
1832
|
+
var displayProps = {
|
|
1833
|
+
data: data,
|
|
1834
|
+
className: cc(c.styleClass),
|
|
1835
|
+
style: style,
|
|
1836
|
+
display: displayControl,
|
|
1837
|
+
dataContext: dataContext
|
|
1838
|
+
};
|
|
1839
|
+
if (data.type === exports.DisplayDataType.Custom && customDisplay) {
|
|
1840
|
+
return {
|
|
1841
|
+
children: customDisplay(data.customId, displayProps)
|
|
1842
|
+
};
|
|
1843
|
+
}
|
|
1818
1844
|
return {
|
|
1819
|
-
children: renderer.renderDisplay(
|
|
1820
|
-
data: (_c$displayData = c.displayData) != null ? _c$displayData : {},
|
|
1821
|
-
className: cc(c.styleClass),
|
|
1822
|
-
style: style,
|
|
1823
|
-
display: displayControl,
|
|
1824
|
-
dataContext: dataContext
|
|
1825
|
-
})
|
|
1845
|
+
children: renderer.renderDisplay(displayProps)
|
|
1826
1846
|
};
|
|
1827
1847
|
}
|
|
1828
1848
|
return {};
|
|
@@ -2029,7 +2049,8 @@ var defaultTailwindTheme = {
|
|
|
2029
2049
|
},
|
|
2030
2050
|
selectOptions: {
|
|
2031
2051
|
emptyText: "<select>"
|
|
2032
|
-
}
|
|
2052
|
+
},
|
|
2053
|
+
multilineClass: "border p-2 outline-0 whitespace-pre"
|
|
2033
2054
|
},
|
|
2034
2055
|
adornment: {
|
|
2035
2056
|
accordion: {
|
|
@@ -2081,6 +2102,8 @@ function DefaultDisplay(_ref) {
|
|
|
2081
2102
|
__html: display ? (_display$value = display.value) != null ? _display$value : "" : data.html
|
|
2082
2103
|
}
|
|
2083
2104
|
});
|
|
2105
|
+
case exports.DisplayDataType.Custom:
|
|
2106
|
+
return /*#__PURE__*/React__default["default"].createElement("div", null, "Custom display placeholder: ", data.customId);
|
|
2084
2107
|
default:
|
|
2085
2108
|
return /*#__PURE__*/React__default["default"].createElement("h1", null, "Unknown display type: ", data.type);
|
|
2086
2109
|
}
|
|
@@ -2561,6 +2584,136 @@ function DefaultAccordion(_ref) {
|
|
|
2561
2584
|
}
|
|
2562
2585
|
|
|
2563
2586
|
var _excluded = ["control", "field", "renderOptions"];
|
|
2587
|
+
function createNullToggleRenderer() {
|
|
2588
|
+
return createDataRenderer(function (_ref, renderers) {
|
|
2589
|
+
var _control$meta, _nullControl, _control$meta$_nullCo;
|
|
2590
|
+
var control = _ref.control,
|
|
2591
|
+
field = _ref.field,
|
|
2592
|
+
props = _objectWithoutPropertiesLoose(_ref, _excluded);
|
|
2593
|
+
var nullControl = (_control$meta$_nullCo = (_control$meta = control.meta)[_nullControl = "nullControl"]) != null ? _control$meta$_nullCo : _control$meta[_nullControl] = core.newControl(control.current.value != null);
|
|
2594
|
+
return function (layout) {
|
|
2595
|
+
var newLayout = renderers.renderData(_extends({}, props, {
|
|
2596
|
+
control: nullControl,
|
|
2597
|
+
field: _extends({}, field, {
|
|
2598
|
+
type: exports.FieldType.Bool
|
|
2599
|
+
}),
|
|
2600
|
+
renderOptions: {
|
|
2601
|
+
type: exports.DataRenderType.Checkbox
|
|
2602
|
+
}
|
|
2603
|
+
}))(layout);
|
|
2604
|
+
return _extends({}, newLayout, {
|
|
2605
|
+
children: /*#__PURE__*/React__default["default"].createElement(NullWrapper, {
|
|
2606
|
+
control: control,
|
|
2607
|
+
nullControl: nullControl,
|
|
2608
|
+
children: newLayout.children,
|
|
2609
|
+
readonly: props.readonly,
|
|
2610
|
+
defaultValue: props.definition.defaultValue
|
|
2611
|
+
})
|
|
2612
|
+
});
|
|
2613
|
+
};
|
|
2614
|
+
});
|
|
2615
|
+
}
|
|
2616
|
+
function NullWrapper(_ref2) {
|
|
2617
|
+
var children = _ref2.children,
|
|
2618
|
+
nullControl = _ref2.nullControl,
|
|
2619
|
+
control = _ref2.control,
|
|
2620
|
+
defaultValue = _ref2.defaultValue,
|
|
2621
|
+
readonly = _ref2.readonly;
|
|
2622
|
+
core.useControlEffect(function () {
|
|
2623
|
+
return readonly;
|
|
2624
|
+
}, function (r) {
|
|
2625
|
+
return nullControl.disabled = r;
|
|
2626
|
+
}, true);
|
|
2627
|
+
core.useControlEffect(function () {
|
|
2628
|
+
return nullControl.value;
|
|
2629
|
+
}, function (e) {
|
|
2630
|
+
if (e) {
|
|
2631
|
+
var _nullControl$meta$non;
|
|
2632
|
+
control.value = (_nullControl$meta$non = nullControl.meta["nonNullValue"]) != null ? _nullControl$meta$non : defaultValue;
|
|
2633
|
+
} else {
|
|
2634
|
+
nullControl.meta["nonNullValue"] = control.value;
|
|
2635
|
+
control.value = null;
|
|
2636
|
+
}
|
|
2637
|
+
});
|
|
2638
|
+
return children;
|
|
2639
|
+
}
|
|
2640
|
+
|
|
2641
|
+
function createMultilineFieldRenderer(className) {
|
|
2642
|
+
return createDataRenderer(function (p) {
|
|
2643
|
+
return /*#__PURE__*/React__default["default"].createElement(MultilineTextfield, _extends({}, p, {
|
|
2644
|
+
className: rendererClass(p.className, className)
|
|
2645
|
+
}));
|
|
2646
|
+
});
|
|
2647
|
+
}
|
|
2648
|
+
function MultilineTextfield(_ref) {
|
|
2649
|
+
var _effect = core.useComponentTracking();
|
|
2650
|
+
try {
|
|
2651
|
+
var control = _ref.control,
|
|
2652
|
+
className = _ref.className;
|
|
2653
|
+
var codeRef = React.useRef(null);
|
|
2654
|
+
core.useControlEffect(function () {
|
|
2655
|
+
return control.value;
|
|
2656
|
+
}, function (v) {
|
|
2657
|
+
var c = codeRef.current;
|
|
2658
|
+
if (c && c.textContent !== v) {
|
|
2659
|
+
c.textContent = v;
|
|
2660
|
+
}
|
|
2661
|
+
}, true);
|
|
2662
|
+
return /*#__PURE__*/React__default["default"].createElement("code", {
|
|
2663
|
+
contentEditable: !control.disabled,
|
|
2664
|
+
className: className,
|
|
2665
|
+
onInput: function onInput(t) {
|
|
2666
|
+
return control.value = t.currentTarget.textContent;
|
|
2667
|
+
},
|
|
2668
|
+
ref: codeRef
|
|
2669
|
+
});
|
|
2670
|
+
} finally {
|
|
2671
|
+
_effect();
|
|
2672
|
+
}
|
|
2673
|
+
}
|
|
2674
|
+
|
|
2675
|
+
function createJsonataRenderer(className) {
|
|
2676
|
+
return createDataRenderer(function (p) {
|
|
2677
|
+
return /*#__PURE__*/React__default["default"].createElement(JsonataRenderer, {
|
|
2678
|
+
renderOptions: p.renderOptions,
|
|
2679
|
+
className: rendererClass(p.className, className),
|
|
2680
|
+
dataContext: p.parentContext,
|
|
2681
|
+
control: p.control,
|
|
2682
|
+
readonly: p.readonly
|
|
2683
|
+
});
|
|
2684
|
+
}, {
|
|
2685
|
+
renderType: exports.DataRenderType.Jsonata
|
|
2686
|
+
});
|
|
2687
|
+
}
|
|
2688
|
+
function JsonataRenderer(_ref) {
|
|
2689
|
+
var _effect = core.useComponentTracking();
|
|
2690
|
+
try {
|
|
2691
|
+
var control = _ref.control,
|
|
2692
|
+
expression = _ref.renderOptions.expression,
|
|
2693
|
+
readonly = _ref.readonly,
|
|
2694
|
+
className = _ref.className,
|
|
2695
|
+
dataContext = _ref.dataContext;
|
|
2696
|
+
var rendered = useJsonataExpression(expression, dataContext, function () {
|
|
2697
|
+
return {
|
|
2698
|
+
value: control.value,
|
|
2699
|
+
readonly: readonly,
|
|
2700
|
+
disabled: control.disabled
|
|
2701
|
+
};
|
|
2702
|
+
}, function (v) {
|
|
2703
|
+
return typeof v === "object" ? "error: " + JSON.stringify(v) : v.toString();
|
|
2704
|
+
});
|
|
2705
|
+
console.log(expression);
|
|
2706
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
2707
|
+
className: className,
|
|
2708
|
+
dangerouslySetInnerHTML: {
|
|
2709
|
+
__html: rendered.value
|
|
2710
|
+
}
|
|
2711
|
+
});
|
|
2712
|
+
} finally {
|
|
2713
|
+
_effect();
|
|
2714
|
+
}
|
|
2715
|
+
}
|
|
2716
|
+
|
|
2564
2717
|
function createButtonActionRenderer(actionId, options) {
|
|
2565
2718
|
if (options === void 0) {
|
|
2566
2719
|
options = {};
|
|
@@ -2649,7 +2802,9 @@ function createDefaultDataRenderer(options) {
|
|
|
2649
2802
|
if (options === void 0) {
|
|
2650
2803
|
options = {};
|
|
2651
2804
|
}
|
|
2805
|
+
var jsonataRenderer = createJsonataRenderer(options.jsonataClass);
|
|
2652
2806
|
var nullToggler = createNullToggleRenderer();
|
|
2807
|
+
var multilineRenderer = createMultilineFieldRenderer(options.multilineClass);
|
|
2653
2808
|
var checkboxRenderer = createCheckboxRenderer((_options$checkOptions = options.checkOptions) != null ? _options$checkOptions : options.checkboxOptions);
|
|
2654
2809
|
var selectRenderer = createSelectRenderer(options.selectOptions);
|
|
2655
2810
|
var radioRenderer = createRadioRenderer((_options$radioOptions = options.radioOptions) != null ? _options$radioOptions : options.checkOptions);
|
|
@@ -2717,7 +2872,10 @@ function createDefaultDataRenderer(options) {
|
|
|
2717
2872
|
return radioRenderer.render(props, renderers);
|
|
2718
2873
|
case exports.DataRenderType.Checkbox:
|
|
2719
2874
|
return checkboxRenderer.render(props, renderers);
|
|
2875
|
+
case exports.DataRenderType.Jsonata:
|
|
2876
|
+
return jsonataRenderer.render(props, renderers);
|
|
2720
2877
|
}
|
|
2878
|
+
if (isTextfieldRenderer(renderOptions) && renderOptions.multiline) return multilineRenderer.render(props, renderers);
|
|
2721
2879
|
var placeholder = isTextfieldRenderer(renderOptions) ? renderOptions.placeholder : undefined;
|
|
2722
2880
|
return /*#__PURE__*/React__default["default"].createElement(ControlInput, {
|
|
2723
2881
|
className: rendererClass(props.className, inputClass),
|
|
@@ -2809,52 +2967,6 @@ function createDefaultLabelRenderer(options) {
|
|
|
2809
2967
|
type: "label"
|
|
2810
2968
|
};
|
|
2811
2969
|
}
|
|
2812
|
-
function createNullToggleRenderer() {
|
|
2813
|
-
return createDataRenderer(function (_ref7, renderers) {
|
|
2814
|
-
var _control$meta, _nullControl, _control$meta$_nullCo;
|
|
2815
|
-
var control = _ref7.control,
|
|
2816
|
-
field = _ref7.field,
|
|
2817
|
-
props = _objectWithoutPropertiesLoose(_ref7, _excluded);
|
|
2818
|
-
var nullControl = (_control$meta$_nullCo = (_control$meta = control.meta)[_nullControl = "nullControl"]) != null ? _control$meta$_nullCo : _control$meta[_nullControl] = core.newControl(control.current.value != null);
|
|
2819
|
-
return function (layout) {
|
|
2820
|
-
var newLayout = renderers.renderData(_extends({}, props, {
|
|
2821
|
-
control: nullControl,
|
|
2822
|
-
field: _extends({}, field, {
|
|
2823
|
-
type: exports.FieldType.Bool
|
|
2824
|
-
}),
|
|
2825
|
-
renderOptions: {
|
|
2826
|
-
type: exports.DataRenderType.Checkbox
|
|
2827
|
-
}
|
|
2828
|
-
}))(layout);
|
|
2829
|
-
return _extends({}, newLayout, {
|
|
2830
|
-
children: /*#__PURE__*/React__default["default"].createElement(NullWrapper, {
|
|
2831
|
-
control: control,
|
|
2832
|
-
nullControl: nullControl,
|
|
2833
|
-
children: newLayout.children,
|
|
2834
|
-
defaultValue: props.definition.defaultValue
|
|
2835
|
-
})
|
|
2836
|
-
});
|
|
2837
|
-
};
|
|
2838
|
-
});
|
|
2839
|
-
}
|
|
2840
|
-
function NullWrapper(_ref8) {
|
|
2841
|
-
var children = _ref8.children,
|
|
2842
|
-
nullControl = _ref8.nullControl,
|
|
2843
|
-
control = _ref8.control,
|
|
2844
|
-
defaultValue = _ref8.defaultValue;
|
|
2845
|
-
core.useControlEffect(function () {
|
|
2846
|
-
return nullControl.value;
|
|
2847
|
-
}, function (e) {
|
|
2848
|
-
if (e) {
|
|
2849
|
-
var _nullControl$meta$non;
|
|
2850
|
-
control.value = (_nullControl$meta$non = nullControl.meta["nonNullValue"]) != null ? _nullControl$meta$non : defaultValue;
|
|
2851
|
-
} else {
|
|
2852
|
-
nullControl.meta["nonNullValue"] = control.value;
|
|
2853
|
-
control.value = null;
|
|
2854
|
-
}
|
|
2855
|
-
});
|
|
2856
|
-
return children;
|
|
2857
|
-
}
|
|
2858
2970
|
function createDefaultRenderers(options) {
|
|
2859
2971
|
if (options === void 0) {
|
|
2860
2972
|
options = {};
|
|
@@ -3084,7 +3196,6 @@ exports.createGroupRenderer = createGroupRenderer;
|
|
|
3084
3196
|
exports.createInputConversion = createInputConversion;
|
|
3085
3197
|
exports.createLabelRenderer = createLabelRenderer;
|
|
3086
3198
|
exports.createLayoutRenderer = createLayoutRenderer;
|
|
3087
|
-
exports.createNullToggleRenderer = createNullToggleRenderer;
|
|
3088
3199
|
exports.createRadioRenderer = createRadioRenderer;
|
|
3089
3200
|
exports.createSelectConversion = createSelectConversion;
|
|
3090
3201
|
exports.createSelectRenderer = createSelectRenderer;
|
|
@@ -3103,6 +3214,7 @@ exports.defaultTailwindTheme = defaultTailwindTheme;
|
|
|
3103
3214
|
exports.defaultUseEvalExpressionHook = defaultUseEvalExpressionHook;
|
|
3104
3215
|
exports.defaultValueForField = defaultValueForField;
|
|
3105
3216
|
exports.defaultValueForFields = defaultValueForFields;
|
|
3217
|
+
exports.doubleField = doubleField;
|
|
3106
3218
|
exports.dynamicDefaultValue = dynamicDefaultValue;
|
|
3107
3219
|
exports.dynamicDisabled = dynamicDisabled;
|
|
3108
3220
|
exports.dynamicReadonly = dynamicReadonly;
|