@react-typed-forms/schemas 9.1.0 → 9.2.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/ControlInput.d.ts +9 -0
- package/lib/components/DefaultDisplay.d.ts +9 -0
- package/lib/components/DefaultDisplayOnly.d.ts +11 -0
- package/lib/components/DefaultLayout.d.ts +9 -0
- package/lib/components/DefaultVisibility.d.ts +4 -0
- package/lib/components/RadioRenderer.d.ts +20 -0
- package/lib/components/SelectDataRenderer.d.ts +24 -0
- package/lib/controlRender.d.ts +1 -0
- package/lib/createDefaultRenderers.d.ts +67 -0
- package/lib/createFormRenderer.d.ts +3 -0
- package/lib/index.d.ts +9 -0
- package/lib/index.js +578 -494
- package/lib/index.js.map +1 -1
- package/lib/renderers.d.ts +3 -115
- package/lib/types.d.ts +8 -0
- package/package.json +1 -1
package/lib/index.js
CHANGED
|
@@ -66,6 +66,7 @@ exports.ControlAdornmentType = void 0;
|
|
|
66
66
|
exports.DataRenderType = void 0;
|
|
67
67
|
(function (DataRenderType) {
|
|
68
68
|
DataRenderType["Standard"] = "Standard";
|
|
69
|
+
DataRenderType["Textfield"] = "Textfield";
|
|
69
70
|
DataRenderType["Radio"] = "Radio";
|
|
70
71
|
DataRenderType["HtmlEditor"] = "HtmlEditor";
|
|
71
72
|
DataRenderType["IconList"] = "IconList";
|
|
@@ -143,6 +144,9 @@ function isFlexRenderer(options) {
|
|
|
143
144
|
function isDisplayOnlyRenderer(options) {
|
|
144
145
|
return options.type === exports.DataRenderType.DisplayOnly;
|
|
145
146
|
}
|
|
147
|
+
function isTextfieldRenderer(options) {
|
|
148
|
+
return options.type === exports.DataRenderType.Textfield;
|
|
149
|
+
}
|
|
146
150
|
function isDataGroupRenderer(options) {
|
|
147
151
|
return options.type === exports.DataRenderType.Group;
|
|
148
152
|
}
|
|
@@ -857,7 +861,7 @@ function trackedStructure(c, tracker) {
|
|
|
857
861
|
if (nc == null) return null;
|
|
858
862
|
return trackedStructure(nc, tracker);
|
|
859
863
|
}
|
|
860
|
-
if (p in cv) return trackedStructure(cc.fields[p], tracker);
|
|
864
|
+
if (p in cc.fields || p in cv) return trackedStructure(cc.fields[p], tracker);
|
|
861
865
|
return undefined;
|
|
862
866
|
}
|
|
863
867
|
});
|
|
@@ -1149,7 +1153,7 @@ function defaultTextValue(f, value) {
|
|
|
1149
1153
|
}
|
|
1150
1154
|
}
|
|
1151
1155
|
|
|
1152
|
-
var _excluded$
|
|
1156
|
+
var _excluded$3 = ["definition", "field", "control", "options", "elementRenderer", "style", "allowedOptions"];
|
|
1153
1157
|
var AppendAdornmentPriority = 0;
|
|
1154
1158
|
var WrapAdornmentPriority = 1000;
|
|
1155
1159
|
exports.LabelType = void 0;
|
|
@@ -1375,12 +1379,13 @@ function defaultDataProps(_ref4) {
|
|
|
1375
1379
|
elementRenderer = _ref4.elementRenderer,
|
|
1376
1380
|
style = _ref4.style,
|
|
1377
1381
|
allowedOptions = _ref4.allowedOptions,
|
|
1378
|
-
props = _objectWithoutPropertiesLoose(_ref4, _excluded$
|
|
1382
|
+
props = _objectWithoutPropertiesLoose(_ref4, _excluded$3);
|
|
1379
1383
|
var className = cc(definition.styleClass);
|
|
1380
1384
|
var required = !!definition.required;
|
|
1381
1385
|
var fieldOptions = ((_field$options$length = (_field$options = field.options) == null ? void 0 : _field$options.length) != null ? _field$options$length : 0) === 0 ? null : field.options;
|
|
1382
1386
|
var allowed = (_allowedOptions$value = allowedOptions == null ? void 0 : allowedOptions.value) != null ? _allowedOptions$value : [];
|
|
1383
1387
|
return _extends({
|
|
1388
|
+
definition: definition,
|
|
1384
1389
|
childDefinitions: (_definition$children2 = definition.children) != null ? _definition$children2 : [],
|
|
1385
1390
|
control: control,
|
|
1386
1391
|
field: field,
|
|
@@ -1593,119 +1598,424 @@ function controlTitle(title, field) {
|
|
|
1593
1598
|
return title ? title : fieldDisplayName(field);
|
|
1594
1599
|
}
|
|
1595
1600
|
|
|
1596
|
-
|
|
1597
|
-
|
|
1598
|
-
|
|
1599
|
-
|
|
1600
|
-
|
|
1601
|
-
|
|
1602
|
-
|
|
1603
|
-
|
|
1601
|
+
function isIconAdornment(a) {
|
|
1602
|
+
return a.type === exports.ControlAdornmentType.Icon;
|
|
1603
|
+
}
|
|
1604
|
+
function createLayoutRenderer(render, options) {
|
|
1605
|
+
return _extends({
|
|
1606
|
+
type: "layout",
|
|
1607
|
+
render: render
|
|
1608
|
+
}, options);
|
|
1609
|
+
}
|
|
1610
|
+
function createArrayRenderer(render, options) {
|
|
1611
|
+
return _extends({
|
|
1612
|
+
type: "array",
|
|
1613
|
+
render: render
|
|
1614
|
+
}, options);
|
|
1615
|
+
}
|
|
1616
|
+
function createDataRenderer(render, options) {
|
|
1617
|
+
return _extends({
|
|
1618
|
+
type: "data",
|
|
1619
|
+
render: render
|
|
1620
|
+
}, options);
|
|
1621
|
+
}
|
|
1622
|
+
function createGroupRenderer(render, options) {
|
|
1623
|
+
return _extends({
|
|
1624
|
+
type: "group",
|
|
1625
|
+
render: render
|
|
1626
|
+
}, options);
|
|
1627
|
+
}
|
|
1628
|
+
function createDisplayRenderer(render, options) {
|
|
1629
|
+
return _extends({
|
|
1630
|
+
type: "display",
|
|
1631
|
+
render: render
|
|
1632
|
+
}, options);
|
|
1633
|
+
}
|
|
1634
|
+
function createLabelRenderer(render, options) {
|
|
1635
|
+
return _extends({
|
|
1636
|
+
type: "label",
|
|
1637
|
+
render: render
|
|
1638
|
+
}, options);
|
|
1639
|
+
}
|
|
1640
|
+
function createVisibilityRenderer(render, options) {
|
|
1641
|
+
return _extends({
|
|
1642
|
+
type: "visibility",
|
|
1643
|
+
render: render
|
|
1644
|
+
}, options);
|
|
1645
|
+
}
|
|
1646
|
+
function createAdornmentRenderer(render, options) {
|
|
1647
|
+
return _extends({
|
|
1648
|
+
type: "adornment"
|
|
1649
|
+
}, options, {
|
|
1650
|
+
render: render
|
|
1651
|
+
});
|
|
1652
|
+
}
|
|
1653
|
+
|
|
1654
|
+
var defaultTailwindTheme = {
|
|
1655
|
+
label: {
|
|
1656
|
+
groupLabelClass: "font-bold",
|
|
1657
|
+
requiredElement: /*#__PURE__*/React__default["default"].createElement("span", {
|
|
1658
|
+
className: "text-red-500"
|
|
1659
|
+
}, " *")
|
|
1660
|
+
},
|
|
1661
|
+
array: {
|
|
1662
|
+
removableClass: "grid grid-cols-[1fr_auto] items-center gap-x-2",
|
|
1663
|
+
childClass: "grow my-2",
|
|
1664
|
+
addActionClass: "my-2"
|
|
1665
|
+
},
|
|
1666
|
+
group: {
|
|
1667
|
+
standardClassName: "flex flex-col gap-4",
|
|
1668
|
+
gridClassName: "gap-x-2 gap-y-4",
|
|
1669
|
+
flexClassName: "gap-2"
|
|
1670
|
+
},
|
|
1671
|
+
action: {
|
|
1672
|
+
className: "bg-primary-500 rounded-lg p-3 text-white"
|
|
1673
|
+
},
|
|
1674
|
+
layout: {
|
|
1675
|
+
className: "flex flex-col",
|
|
1676
|
+
errorClass: "text-sm text-danger-500"
|
|
1677
|
+
},
|
|
1678
|
+
data: {
|
|
1679
|
+
displayOnlyClass: "flex flex-row items-center gap-2"
|
|
1604
1680
|
}
|
|
1605
|
-
|
|
1606
|
-
|
|
1681
|
+
};
|
|
1682
|
+
|
|
1683
|
+
var _excluded$2 = ["data", "display", "className", "style"];
|
|
1684
|
+
function createDefaultDisplayRenderer(options) {
|
|
1685
|
+
if (options === void 0) {
|
|
1686
|
+
options = {};
|
|
1607
1687
|
}
|
|
1608
|
-
|
|
1609
|
-
|
|
1610
|
-
|
|
1611
|
-
|
|
1612
|
-
|
|
1613
|
-
var arrayRenderers = customRenderers.filter(isArrayRegistration);
|
|
1614
|
-
var actionRenderers = customRenderers.filter(isActionRegistration);
|
|
1615
|
-
var layoutRenderers = customRenderers.filter(isLayoutRegistration);
|
|
1616
|
-
var visibilityRenderer = (_customRenderers$find = customRenderers.find(isVisibilityRegistration)) != null ? _customRenderers$find : defaultRenderers.visibility;
|
|
1617
|
-
var formRenderers = {
|
|
1618
|
-
renderAction: renderAction,
|
|
1619
|
-
renderData: renderData,
|
|
1620
|
-
renderGroup: renderGroup,
|
|
1621
|
-
renderDisplay: renderDisplay,
|
|
1622
|
-
renderLabel: renderLabel,
|
|
1623
|
-
renderArray: renderArray,
|
|
1624
|
-
renderAdornment: renderAdornment,
|
|
1625
|
-
renderLayout: renderLayout,
|
|
1626
|
-
renderVisibility: visibilityRenderer.render
|
|
1688
|
+
return {
|
|
1689
|
+
render: function render(props) {
|
|
1690
|
+
return /*#__PURE__*/React__default["default"].createElement(DefaultDisplay, _extends({}, options, props));
|
|
1691
|
+
},
|
|
1692
|
+
type: "display"
|
|
1627
1693
|
};
|
|
1628
|
-
|
|
1629
|
-
|
|
1630
|
-
|
|
1631
|
-
|
|
1632
|
-
|
|
1633
|
-
|
|
1634
|
-
|
|
1635
|
-
|
|
1636
|
-
|
|
1637
|
-
|
|
1638
|
-
|
|
1639
|
-
|
|
1640
|
-
|
|
1641
|
-
|
|
1642
|
-
|
|
1643
|
-
|
|
1644
|
-
|
|
1645
|
-
|
|
1646
|
-
|
|
1647
|
-
|
|
1648
|
-
|
|
1649
|
-
|
|
1650
|
-
|
|
1651
|
-
|
|
1652
|
-
|
|
1653
|
-
|
|
1654
|
-
|
|
1655
|
-
|
|
1656
|
-
|
|
1657
|
-
|
|
1658
|
-
|
|
1659
|
-
|
|
1660
|
-
|
|
1661
|
-
|
|
1662
|
-
var result = renderer.render(props, formRenderers);
|
|
1663
|
-
if (typeof result === "function") return result;
|
|
1664
|
-
return function (l) {
|
|
1665
|
-
return _extends({}, l, {
|
|
1666
|
-
children: result
|
|
1667
|
-
});
|
|
1668
|
-
};
|
|
1669
|
-
}
|
|
1670
|
-
function renderGroup(props) {
|
|
1671
|
-
var _groupRegistrations$f;
|
|
1672
|
-
var renderType = props.renderOptions.type;
|
|
1673
|
-
var renderer = (_groupRegistrations$f = groupRegistrations.find(function (x) {
|
|
1674
|
-
return isOneOf(x.renderType, renderType);
|
|
1675
|
-
})) != null ? _groupRegistrations$f : defaultRenderers.group;
|
|
1676
|
-
var result = renderer.render(props, formRenderers);
|
|
1677
|
-
if (typeof result === "function") return result;
|
|
1678
|
-
return function (l) {
|
|
1679
|
-
return _extends({}, l, {
|
|
1680
|
-
children: result
|
|
1681
|
-
});
|
|
1682
|
-
};
|
|
1694
|
+
}
|
|
1695
|
+
function DefaultDisplay(_ref) {
|
|
1696
|
+
var _effect = core.useComponentTracking();
|
|
1697
|
+
try {
|
|
1698
|
+
var _display$value;
|
|
1699
|
+
var data = _ref.data,
|
|
1700
|
+
display = _ref.display,
|
|
1701
|
+
className = _ref.className,
|
|
1702
|
+
style = _ref.style,
|
|
1703
|
+
options = _objectWithoutPropertiesLoose(_ref, _excluded$2);
|
|
1704
|
+
switch (data.type) {
|
|
1705
|
+
case exports.DisplayDataType.Icon:
|
|
1706
|
+
return /*#__PURE__*/React__default["default"].createElement("i", {
|
|
1707
|
+
style: style,
|
|
1708
|
+
className: clsx__default["default"](getOverrideClass(className), display ? display.value : data.iconClass)
|
|
1709
|
+
});
|
|
1710
|
+
case exports.DisplayDataType.Text:
|
|
1711
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1712
|
+
style: style,
|
|
1713
|
+
className: rendererClass(className, options.textClassName)
|
|
1714
|
+
}, display ? display.value : data.text);
|
|
1715
|
+
case exports.DisplayDataType.Html:
|
|
1716
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1717
|
+
style: style,
|
|
1718
|
+
className: rendererClass(className, options.htmlClassName),
|
|
1719
|
+
dangerouslySetInnerHTML: {
|
|
1720
|
+
__html: display ? (_display$value = display.value) != null ? _display$value : "" : data.html
|
|
1721
|
+
}
|
|
1722
|
+
});
|
|
1723
|
+
default:
|
|
1724
|
+
return /*#__PURE__*/React__default["default"].createElement("h1", null, "Unknown display type: ", data.type);
|
|
1725
|
+
}
|
|
1726
|
+
} finally {
|
|
1727
|
+
_effect();
|
|
1683
1728
|
}
|
|
1684
|
-
|
|
1685
|
-
|
|
1686
|
-
|
|
1687
|
-
|
|
1688
|
-
|
|
1689
|
-
|
|
1729
|
+
}
|
|
1730
|
+
|
|
1731
|
+
function DefaultLayout(_ref) {
|
|
1732
|
+
var _effect = core.useComponentTracking();
|
|
1733
|
+
try {
|
|
1734
|
+
var errorClass = _ref.errorClass,
|
|
1735
|
+
_ref$layout = _ref.layout,
|
|
1736
|
+
controlEnd = _ref$layout.controlEnd,
|
|
1737
|
+
controlStart = _ref$layout.controlStart,
|
|
1738
|
+
label = _ref$layout.label,
|
|
1739
|
+
children = _ref$layout.children,
|
|
1740
|
+
errorControl = _ref$layout.errorControl;
|
|
1741
|
+
var ec = errorControl;
|
|
1742
|
+
var errorText = ec && ec.touched ? ec.error : undefined;
|
|
1743
|
+
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, label, controlStart, children, errorText && /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1744
|
+
className: errorClass
|
|
1745
|
+
}, errorText), controlEnd);
|
|
1746
|
+
} finally {
|
|
1747
|
+
_effect();
|
|
1690
1748
|
}
|
|
1691
|
-
|
|
1692
|
-
|
|
1693
|
-
|
|
1694
|
-
|
|
1695
|
-
|
|
1696
|
-
|
|
1697
|
-
|
|
1749
|
+
}
|
|
1750
|
+
|
|
1751
|
+
function createDefaultVisibilityRenderer() {
|
|
1752
|
+
return createVisibilityRenderer(function (props) {
|
|
1753
|
+
return /*#__PURE__*/React__default["default"].createElement(DefaultVisibility, props);
|
|
1754
|
+
});
|
|
1755
|
+
}
|
|
1756
|
+
function DefaultVisibility(_ref) {
|
|
1757
|
+
var _effect = core.useComponentTracking();
|
|
1758
|
+
try {
|
|
1759
|
+
var visibility = _ref.visibility,
|
|
1760
|
+
children = _ref.children,
|
|
1761
|
+
className = _ref.className,
|
|
1762
|
+
style = _ref.style,
|
|
1763
|
+
divRef = _ref.divRef;
|
|
1764
|
+
var v = visibility.value;
|
|
1765
|
+
React.useEffect(function () {
|
|
1766
|
+
if (v) {
|
|
1767
|
+
visibility.setValue(function (ex) {
|
|
1768
|
+
return {
|
|
1769
|
+
visible: v.visible,
|
|
1770
|
+
showing: v.visible
|
|
1771
|
+
};
|
|
1772
|
+
});
|
|
1773
|
+
}
|
|
1774
|
+
}, [v == null ? void 0 : v.visible]);
|
|
1775
|
+
return v != null && v.visible ? /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1776
|
+
className: clsx__default["default"](className),
|
|
1777
|
+
style: style,
|
|
1778
|
+
ref: divRef
|
|
1779
|
+
}, children) : /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null);
|
|
1780
|
+
} finally {
|
|
1781
|
+
_effect();
|
|
1698
1782
|
}
|
|
1699
|
-
return formRenderers;
|
|
1700
1783
|
}
|
|
1701
|
-
|
|
1784
|
+
|
|
1785
|
+
var _excluded$1 = ["state", "options", "className", "convert", "required", "emptyText", "requiredText", "readonly"];
|
|
1786
|
+
function createSelectRenderer(options) {
|
|
1702
1787
|
if (options === void 0) {
|
|
1703
1788
|
options = {};
|
|
1704
1789
|
}
|
|
1705
|
-
function
|
|
1706
|
-
|
|
1707
|
-
|
|
1708
|
-
|
|
1790
|
+
return createDataRenderer(function (props, asArray) {
|
|
1791
|
+
return /*#__PURE__*/React__default["default"].createElement(SelectDataRenderer, {
|
|
1792
|
+
className: rendererClass(props.className, options.className),
|
|
1793
|
+
state: props.control,
|
|
1794
|
+
id: props.id,
|
|
1795
|
+
readonly: props.readonly,
|
|
1796
|
+
options: props.options,
|
|
1797
|
+
required: props.required,
|
|
1798
|
+
emptyText: options.emptyText,
|
|
1799
|
+
requiredText: options.requiredText,
|
|
1800
|
+
convert: createSelectConversion(props.field.type)
|
|
1801
|
+
});
|
|
1802
|
+
}, {
|
|
1803
|
+
options: true
|
|
1804
|
+
});
|
|
1805
|
+
}
|
|
1806
|
+
function SelectDataRenderer(_ref) {
|
|
1807
|
+
var _effect = core.useComponentTracking();
|
|
1808
|
+
try {
|
|
1809
|
+
var state = _ref.state,
|
|
1810
|
+
options = _ref.options,
|
|
1811
|
+
className = _ref.className,
|
|
1812
|
+
convert = _ref.convert,
|
|
1813
|
+
required = _ref.required,
|
|
1814
|
+
_ref$emptyText = _ref.emptyText,
|
|
1815
|
+
emptyText = _ref$emptyText === void 0 ? "N/A" : _ref$emptyText,
|
|
1816
|
+
_ref$requiredText = _ref.requiredText,
|
|
1817
|
+
requiredText = _ref$requiredText === void 0 ? "<please select>" : _ref$requiredText,
|
|
1818
|
+
readonly = _ref.readonly,
|
|
1819
|
+
props = _objectWithoutPropertiesLoose(_ref, _excluded$1);
|
|
1820
|
+
var value = state.value,
|
|
1821
|
+
disabled = state.disabled;
|
|
1822
|
+
var _useState = React.useState(!required || value == null),
|
|
1823
|
+
showEmpty = _useState[0];
|
|
1824
|
+
var optionStringMap = React.useMemo(function () {
|
|
1825
|
+
return Object.fromEntries(options.map(function (x) {
|
|
1826
|
+
return [convert(x.value), x.value];
|
|
1827
|
+
}));
|
|
1828
|
+
}, [options]);
|
|
1829
|
+
return /*#__PURE__*/React__default["default"].createElement("select", _extends({}, props, {
|
|
1830
|
+
className: className,
|
|
1831
|
+
onChange: function onChange(v) {
|
|
1832
|
+
return state.value = optionStringMap[v.target.value];
|
|
1833
|
+
},
|
|
1834
|
+
value: convert(value),
|
|
1835
|
+
disabled: disabled || readonly
|
|
1836
|
+
}), showEmpty && /*#__PURE__*/React__default["default"].createElement("option", {
|
|
1837
|
+
value: ""
|
|
1838
|
+
}, required ? requiredText : emptyText), options.map(function (x, i) {
|
|
1839
|
+
return /*#__PURE__*/React__default["default"].createElement("option", {
|
|
1840
|
+
key: i,
|
|
1841
|
+
value: convert(x.value),
|
|
1842
|
+
disabled: !!x.disabled
|
|
1843
|
+
}, x.name);
|
|
1844
|
+
}));
|
|
1845
|
+
} finally {
|
|
1846
|
+
_effect();
|
|
1847
|
+
}
|
|
1848
|
+
}
|
|
1849
|
+
function createSelectConversion(ft) {
|
|
1850
|
+
switch (ft) {
|
|
1851
|
+
case exports.FieldType.String:
|
|
1852
|
+
case exports.FieldType.Int:
|
|
1853
|
+
case exports.FieldType.Double:
|
|
1854
|
+
return function (a) {
|
|
1855
|
+
return a;
|
|
1856
|
+
};
|
|
1857
|
+
default:
|
|
1858
|
+
return function (a) {
|
|
1859
|
+
var _a$toString;
|
|
1860
|
+
return (_a$toString = a == null ? void 0 : a.toString()) != null ? _a$toString : "";
|
|
1861
|
+
};
|
|
1862
|
+
}
|
|
1863
|
+
}
|
|
1864
|
+
|
|
1865
|
+
function DefaultDisplayOnly(_ref) {
|
|
1866
|
+
var _effect = core.useComponentTracking();
|
|
1867
|
+
try {
|
|
1868
|
+
var _ref2;
|
|
1869
|
+
var control = _ref.control,
|
|
1870
|
+
className = _ref.className,
|
|
1871
|
+
emptyText = _ref.emptyText,
|
|
1872
|
+
schemaInterface = _ref.schemaInterface,
|
|
1873
|
+
field = _ref.field,
|
|
1874
|
+
style = _ref.style;
|
|
1875
|
+
var v = control.value;
|
|
1876
|
+
var text = (_ref2 = schemaInterface.isEmptyValue(field, v) ? emptyText : schemaInterface.textValue(field, v)) != null ? _ref2 : "";
|
|
1877
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1878
|
+
style: style,
|
|
1879
|
+
className: rendererClass(className)
|
|
1880
|
+
}, text);
|
|
1881
|
+
} finally {
|
|
1882
|
+
_effect();
|
|
1883
|
+
}
|
|
1884
|
+
}
|
|
1885
|
+
|
|
1886
|
+
var _excluded = ["control", "convert"],
|
|
1887
|
+
_excluded2 = ["errorText", "value", "onChange"];
|
|
1888
|
+
function ControlInput(_ref) {
|
|
1889
|
+
var _effect = core.useComponentTracking();
|
|
1890
|
+
try {
|
|
1891
|
+
var control = _ref.control,
|
|
1892
|
+
convert = _ref.convert,
|
|
1893
|
+
props = _objectWithoutPropertiesLoose(_ref, _excluded);
|
|
1894
|
+
var _formControlProps = core.formControlProps(control),
|
|
1895
|
+
errorText = _formControlProps.errorText,
|
|
1896
|
+
value = _formControlProps.value,
|
|
1897
|
+
onChange = _formControlProps.onChange,
|
|
1898
|
+
inputProps = _objectWithoutPropertiesLoose(_formControlProps, _excluded2);
|
|
1899
|
+
return /*#__PURE__*/React__default["default"].createElement("input", _extends({}, inputProps, {
|
|
1900
|
+
type: convert[0],
|
|
1901
|
+
value: value == null ? "" : convert[2](value),
|
|
1902
|
+
onChange: function onChange(e) {
|
|
1903
|
+
control.value = convert[1](e.target.value);
|
|
1904
|
+
}
|
|
1905
|
+
}, props));
|
|
1906
|
+
} finally {
|
|
1907
|
+
_effect();
|
|
1908
|
+
}
|
|
1909
|
+
}
|
|
1910
|
+
function createInputConversion(ft) {
|
|
1911
|
+
switch (ft) {
|
|
1912
|
+
case exports.FieldType.String:
|
|
1913
|
+
return ["text", function (a) {
|
|
1914
|
+
return a;
|
|
1915
|
+
}, function (a) {
|
|
1916
|
+
return a;
|
|
1917
|
+
}];
|
|
1918
|
+
case exports.FieldType.Bool:
|
|
1919
|
+
return ["text", function (a) {
|
|
1920
|
+
return a === "true";
|
|
1921
|
+
}, function (a) {
|
|
1922
|
+
var _a$toString;
|
|
1923
|
+
return (_a$toString = a == null ? void 0 : a.toString()) != null ? _a$toString : "";
|
|
1924
|
+
}];
|
|
1925
|
+
case exports.FieldType.Int:
|
|
1926
|
+
return ["number", function (a) {
|
|
1927
|
+
return a !== "" ? parseInt(a) : null;
|
|
1928
|
+
}, function (a) {
|
|
1929
|
+
return a == null ? "" : a;
|
|
1930
|
+
}];
|
|
1931
|
+
case exports.FieldType.Date:
|
|
1932
|
+
return ["date", function (a) {
|
|
1933
|
+
return a;
|
|
1934
|
+
}, function (a) {
|
|
1935
|
+
return a;
|
|
1936
|
+
}];
|
|
1937
|
+
case exports.FieldType.Double:
|
|
1938
|
+
return ["number", function (a) {
|
|
1939
|
+
return parseFloat(a);
|
|
1940
|
+
}, function (a) {
|
|
1941
|
+
return a;
|
|
1942
|
+
}];
|
|
1943
|
+
default:
|
|
1944
|
+
return ["text", function (a) {
|
|
1945
|
+
return a;
|
|
1946
|
+
}, function (a) {
|
|
1947
|
+
return a;
|
|
1948
|
+
}];
|
|
1949
|
+
}
|
|
1950
|
+
}
|
|
1951
|
+
|
|
1952
|
+
function createRadioRenderer(options) {
|
|
1953
|
+
if (options === void 0) {
|
|
1954
|
+
options = {};
|
|
1955
|
+
}
|
|
1956
|
+
return createDataRenderer(function (p) {
|
|
1957
|
+
return /*#__PURE__*/React__default["default"].createElement(RadioButtons, _extends({}, options, p, {
|
|
1958
|
+
className: rendererClass(p.className, options.className),
|
|
1959
|
+
control: p.control
|
|
1960
|
+
}));
|
|
1961
|
+
}, {
|
|
1962
|
+
renderType: exports.DataRenderType.Radio
|
|
1963
|
+
});
|
|
1964
|
+
}
|
|
1965
|
+
function RadioButtons(_ref) {
|
|
1966
|
+
var _effect = core.useComponentTracking();
|
|
1967
|
+
try {
|
|
1968
|
+
var control = _ref.control,
|
|
1969
|
+
options = _ref.options,
|
|
1970
|
+
labelClass = _ref.labelClass,
|
|
1971
|
+
radioClass = _ref.radioClass,
|
|
1972
|
+
readonly = _ref.readonly,
|
|
1973
|
+
entryClass = _ref.entryClass,
|
|
1974
|
+
className = _ref.className,
|
|
1975
|
+
id = _ref.id;
|
|
1976
|
+
var disabled = control.disabled;
|
|
1977
|
+
var canChange = !disabled && !readonly;
|
|
1978
|
+
var name = "r" + control.uniqueId;
|
|
1979
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1980
|
+
className: className,
|
|
1981
|
+
id: id
|
|
1982
|
+
}, /*#__PURE__*/React__default["default"].createElement(core.RenderArrayElements, {
|
|
1983
|
+
array: options == null ? void 0 : options.filter(function (x) {
|
|
1984
|
+
return x.value != null;
|
|
1985
|
+
})
|
|
1986
|
+
}, function (o, i) {
|
|
1987
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1988
|
+
key: i,
|
|
1989
|
+
className: entryClass
|
|
1990
|
+
}, /*#__PURE__*/React__default["default"].createElement("input", {
|
|
1991
|
+
id: name + "_" + i,
|
|
1992
|
+
className: radioClass,
|
|
1993
|
+
type: "radio",
|
|
1994
|
+
name: name,
|
|
1995
|
+
readOnly: readonly,
|
|
1996
|
+
disabled: disabled,
|
|
1997
|
+
checked: control.value == o.value,
|
|
1998
|
+
onChange: function onChange(x) {
|
|
1999
|
+
return control.value = o.value;
|
|
2000
|
+
}
|
|
2001
|
+
}), /*#__PURE__*/React__default["default"].createElement("label", {
|
|
2002
|
+
className: labelClass,
|
|
2003
|
+
htmlFor: name + "_" + i
|
|
2004
|
+
}, o.name));
|
|
2005
|
+
}));
|
|
2006
|
+
} finally {
|
|
2007
|
+
_effect();
|
|
2008
|
+
}
|
|
2009
|
+
}
|
|
2010
|
+
|
|
2011
|
+
function createDefaultActionRenderer(options) {
|
|
2012
|
+
if (options === void 0) {
|
|
2013
|
+
options = {};
|
|
2014
|
+
}
|
|
2015
|
+
function render(_ref) {
|
|
2016
|
+
var onClick = _ref.onClick,
|
|
2017
|
+
actionText = _ref.actionText;
|
|
2018
|
+
return /*#__PURE__*/React__default["default"].createElement("button", {
|
|
1709
2019
|
className: options.className,
|
|
1710
2020
|
onClick: onClick
|
|
1711
2021
|
}, actionText);
|
|
@@ -1715,27 +2025,6 @@ function createDefaultActionRenderer(options) {
|
|
|
1715
2025
|
type: "action"
|
|
1716
2026
|
};
|
|
1717
2027
|
}
|
|
1718
|
-
function createDefaultLabelRenderer(options) {
|
|
1719
|
-
if (options === void 0) {
|
|
1720
|
-
options = {
|
|
1721
|
-
requiredElement: /*#__PURE__*/React__default["default"].createElement("span", null, " *")
|
|
1722
|
-
};
|
|
1723
|
-
}
|
|
1724
|
-
var _options = options,
|
|
1725
|
-
className = _options.className,
|
|
1726
|
-
groupLabelClass = _options.groupLabelClass,
|
|
1727
|
-
controlLabelClass = _options.controlLabelClass,
|
|
1728
|
-
requiredElement = _options.requiredElement;
|
|
1729
|
-
return {
|
|
1730
|
-
render: function render(props, labelStart, labelEnd) {
|
|
1731
|
-
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, labelStart, /*#__PURE__*/React__default["default"].createElement("label", {
|
|
1732
|
-
htmlFor: props.forId,
|
|
1733
|
-
className: rendererClass(props.className, clsx__default["default"](className, props.type === exports.LabelType.Group && groupLabelClass, props.type === exports.LabelType.Control && controlLabelClass))
|
|
1734
|
-
}, props.label, props.required && requiredElement), labelEnd);
|
|
1735
|
-
},
|
|
1736
|
-
type: "label"
|
|
1737
|
-
};
|
|
1738
|
-
}
|
|
1739
2028
|
function createDefaultArrayRenderer(options) {
|
|
1740
2029
|
var _ref2 = options != null ? options : {},
|
|
1741
2030
|
className = _ref2.className,
|
|
@@ -1834,52 +2123,6 @@ function createDefaultGroupRenderer(options) {
|
|
|
1834
2123
|
render: render
|
|
1835
2124
|
};
|
|
1836
2125
|
}
|
|
1837
|
-
function createDefaultDisplayRenderer(options) {
|
|
1838
|
-
if (options === void 0) {
|
|
1839
|
-
options = {};
|
|
1840
|
-
}
|
|
1841
|
-
return {
|
|
1842
|
-
render: function render(props) {
|
|
1843
|
-
return /*#__PURE__*/React__default["default"].createElement(DefaultDisplay, _extends({}, options, props));
|
|
1844
|
-
},
|
|
1845
|
-
type: "display"
|
|
1846
|
-
};
|
|
1847
|
-
}
|
|
1848
|
-
function DefaultDisplay(_ref8) {
|
|
1849
|
-
var _effect = core.useComponentTracking();
|
|
1850
|
-
try {
|
|
1851
|
-
var _display$value;
|
|
1852
|
-
var data = _ref8.data,
|
|
1853
|
-
display = _ref8.display,
|
|
1854
|
-
className = _ref8.className,
|
|
1855
|
-
style = _ref8.style,
|
|
1856
|
-
options = _objectWithoutPropertiesLoose(_ref8, _excluded);
|
|
1857
|
-
switch (data.type) {
|
|
1858
|
-
case exports.DisplayDataType.Icon:
|
|
1859
|
-
return /*#__PURE__*/React__default["default"].createElement("i", {
|
|
1860
|
-
style: style,
|
|
1861
|
-
className: clsx__default["default"](getOverrideClass(className), display ? display.value : data.iconClass)
|
|
1862
|
-
});
|
|
1863
|
-
case exports.DisplayDataType.Text:
|
|
1864
|
-
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1865
|
-
style: style,
|
|
1866
|
-
className: rendererClass(className, options.textClassName)
|
|
1867
|
-
}, display ? display.value : data.text);
|
|
1868
|
-
case exports.DisplayDataType.Html:
|
|
1869
|
-
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1870
|
-
style: style,
|
|
1871
|
-
className: rendererClass(className, options.htmlClassName),
|
|
1872
|
-
dangerouslySetInnerHTML: {
|
|
1873
|
-
__html: display ? (_display$value = display.value) != null ? _display$value : "" : data.html
|
|
1874
|
-
}
|
|
1875
|
-
});
|
|
1876
|
-
default:
|
|
1877
|
-
return /*#__PURE__*/React__default["default"].createElement("h1", null, "Unknown display type: ", data.type);
|
|
1878
|
-
}
|
|
1879
|
-
} finally {
|
|
1880
|
-
_effect();
|
|
1881
|
-
}
|
|
1882
|
-
}
|
|
1883
2126
|
var DefaultBoolOptions = [{
|
|
1884
2127
|
name: "Yes",
|
|
1885
2128
|
value: true
|
|
@@ -1888,11 +2131,11 @@ var DefaultBoolOptions = [{
|
|
|
1888
2131
|
value: false
|
|
1889
2132
|
}];
|
|
1890
2133
|
function createDefaultDataRenderer(options) {
|
|
1891
|
-
var _options$selectOption;
|
|
1892
2134
|
if (options === void 0) {
|
|
1893
2135
|
options = {};
|
|
1894
2136
|
}
|
|
1895
|
-
var selectRenderer = createSelectRenderer(
|
|
2137
|
+
var selectRenderer = createSelectRenderer(options.selectOptions);
|
|
2138
|
+
var radioRenderer = createRadioRenderer(options.radioOptions);
|
|
1896
2139
|
var _optionRenderer$boole = _extends({
|
|
1897
2140
|
optionRenderer: selectRenderer,
|
|
1898
2141
|
booleanOptions: DefaultBoolOptions
|
|
@@ -1959,68 +2202,32 @@ function createDefaultDataRenderer(options) {
|
|
|
1959
2202
|
switch (renderType) {
|
|
1960
2203
|
case exports.DataRenderType.Dropdown:
|
|
1961
2204
|
return selectRenderer.render(props, renderers);
|
|
2205
|
+
case exports.DataRenderType.Radio:
|
|
2206
|
+
return radioRenderer.render(props, renderers);
|
|
2207
|
+
case exports.DataRenderType.Checkbox:
|
|
2208
|
+
return /*#__PURE__*/React__default["default"].createElement(core.Fcheckbox, {
|
|
2209
|
+
style: props.style,
|
|
2210
|
+
className: props.className,
|
|
2211
|
+
control: props.control
|
|
2212
|
+
});
|
|
1962
2213
|
}
|
|
1963
|
-
|
|
1964
|
-
|
|
1965
|
-
className: props.className,
|
|
1966
|
-
control: props.control
|
|
1967
|
-
}) : /*#__PURE__*/React__default["default"].createElement(ControlInput, {
|
|
2214
|
+
var placeholder = isTextfieldRenderer(renderOptions) ? renderOptions.placeholder : undefined;
|
|
2215
|
+
return /*#__PURE__*/React__default["default"].createElement(ControlInput, {
|
|
1968
2216
|
className: rendererClass(props.className, inputClass),
|
|
1969
2217
|
style: props.style,
|
|
1970
2218
|
id: props.id,
|
|
1971
2219
|
readOnly: props.readonly,
|
|
1972
2220
|
control: props.control,
|
|
2221
|
+
placeholder: placeholder != null ? placeholder : undefined,
|
|
1973
2222
|
convert: createInputConversion(props.field.type)
|
|
1974
2223
|
});
|
|
1975
2224
|
});
|
|
1976
2225
|
}
|
|
1977
|
-
function DefaultDisplayOnly(_ref9) {
|
|
1978
|
-
var _effect2 = core.useComponentTracking();
|
|
1979
|
-
try {
|
|
1980
|
-
var _ref10;
|
|
1981
|
-
var control = _ref9.control,
|
|
1982
|
-
className = _ref9.className,
|
|
1983
|
-
emptyText = _ref9.emptyText,
|
|
1984
|
-
schemaInterface = _ref9.schemaInterface,
|
|
1985
|
-
field = _ref9.field,
|
|
1986
|
-
style = _ref9.style;
|
|
1987
|
-
var v = control.value;
|
|
1988
|
-
var text = (_ref10 = schemaInterface.isEmptyValue(field, v) ? emptyText : schemaInterface.textValue(field, v)) != null ? _ref10 : "";
|
|
1989
|
-
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1990
|
-
style: style,
|
|
1991
|
-
className: rendererClass(className)
|
|
1992
|
-
}, text);
|
|
1993
|
-
} finally {
|
|
1994
|
-
_effect2();
|
|
1995
|
-
}
|
|
1996
|
-
}
|
|
1997
|
-
function ControlInput(_ref11) {
|
|
1998
|
-
var _effect3 = core.useComponentTracking();
|
|
1999
|
-
try {
|
|
2000
|
-
var control = _ref11.control,
|
|
2001
|
-
convert = _ref11.convert,
|
|
2002
|
-
props = _objectWithoutPropertiesLoose(_ref11, _excluded2);
|
|
2003
|
-
var _formControlProps = core.formControlProps(control),
|
|
2004
|
-
errorText = _formControlProps.errorText,
|
|
2005
|
-
value = _formControlProps.value,
|
|
2006
|
-
onChange = _formControlProps.onChange,
|
|
2007
|
-
inputProps = _objectWithoutPropertiesLoose(_formControlProps, _excluded3);
|
|
2008
|
-
return /*#__PURE__*/React__default["default"].createElement("input", _extends({}, inputProps, {
|
|
2009
|
-
type: convert[0],
|
|
2010
|
-
value: value == null ? "" : convert[2](value),
|
|
2011
|
-
onChange: function onChange(e) {
|
|
2012
|
-
control.value = convert[1](e.target.value);
|
|
2013
|
-
}
|
|
2014
|
-
}, props));
|
|
2015
|
-
} finally {
|
|
2016
|
-
_effect3();
|
|
2017
|
-
}
|
|
2018
|
-
}
|
|
2019
2226
|
function createDefaultAdornmentRenderer(options) {
|
|
2020
2227
|
return {
|
|
2021
2228
|
type: "adornment",
|
|
2022
|
-
render: function render(
|
|
2023
|
-
var adornment =
|
|
2229
|
+
render: function render(_ref8) {
|
|
2230
|
+
var adornment = _ref8.adornment;
|
|
2024
2231
|
return {
|
|
2025
2232
|
apply: function apply(rl) {
|
|
2026
2233
|
if (isIconAdornment(adornment)) {
|
|
@@ -2036,22 +2243,6 @@ function createDefaultAdornmentRenderer(options) {
|
|
|
2036
2243
|
}
|
|
2037
2244
|
};
|
|
2038
2245
|
}
|
|
2039
|
-
function createDefaultRenderers(options) {
|
|
2040
|
-
if (options === void 0) {
|
|
2041
|
-
options = {};
|
|
2042
|
-
}
|
|
2043
|
-
return {
|
|
2044
|
-
data: createDefaultDataRenderer(options.data),
|
|
2045
|
-
display: createDefaultDisplayRenderer(options.display),
|
|
2046
|
-
action: createDefaultActionRenderer(options.action),
|
|
2047
|
-
array: createDefaultArrayRenderer(options.array),
|
|
2048
|
-
group: createDefaultGroupRenderer(options.group),
|
|
2049
|
-
label: createDefaultLabelRenderer(options.label),
|
|
2050
|
-
adornment: createDefaultAdornmentRenderer(),
|
|
2051
|
-
renderLayout: createDefaultLayoutRenderer(options.layout),
|
|
2052
|
-
visibility: createDefaultVisibilityRenderer()
|
|
2053
|
-
};
|
|
2054
|
-
}
|
|
2055
2246
|
function createDefaultLayoutRenderer(options) {
|
|
2056
2247
|
if (options === void 0) {
|
|
2057
2248
|
options = {};
|
|
@@ -2072,7 +2263,147 @@ function createDefaultLayoutRenderer(options) {
|
|
|
2072
2263
|
};
|
|
2073
2264
|
});
|
|
2074
2265
|
}
|
|
2075
|
-
function
|
|
2266
|
+
function createDefaultLabelRenderer(options) {
|
|
2267
|
+
var _requiredElement$labe = _extends({
|
|
2268
|
+
requiredElement: /*#__PURE__*/React__default["default"].createElement("span", null, " *"),
|
|
2269
|
+
labelContainer: function labelContainer(c) {
|
|
2270
|
+
return c;
|
|
2271
|
+
}
|
|
2272
|
+
}, options),
|
|
2273
|
+
className = _requiredElement$labe.className,
|
|
2274
|
+
groupLabelClass = _requiredElement$labe.groupLabelClass,
|
|
2275
|
+
controlLabelClass = _requiredElement$labe.controlLabelClass,
|
|
2276
|
+
requiredElement = _requiredElement$labe.requiredElement,
|
|
2277
|
+
labelContainer = _requiredElement$labe.labelContainer;
|
|
2278
|
+
return {
|
|
2279
|
+
render: function render(props, labelStart, labelEnd) {
|
|
2280
|
+
return labelContainer( /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, labelStart, /*#__PURE__*/React__default["default"].createElement("label", {
|
|
2281
|
+
htmlFor: props.forId,
|
|
2282
|
+
className: rendererClass(props.className, clsx__default["default"](className, props.type === exports.LabelType.Group && groupLabelClass, props.type === exports.LabelType.Control && controlLabelClass))
|
|
2283
|
+
}, props.label, props.required && requiredElement), labelEnd));
|
|
2284
|
+
},
|
|
2285
|
+
type: "label"
|
|
2286
|
+
};
|
|
2287
|
+
}
|
|
2288
|
+
function createDefaultRenderers(options) {
|
|
2289
|
+
if (options === void 0) {
|
|
2290
|
+
options = {};
|
|
2291
|
+
}
|
|
2292
|
+
return {
|
|
2293
|
+
data: createDefaultDataRenderer(options.data),
|
|
2294
|
+
display: createDefaultDisplayRenderer(options.display),
|
|
2295
|
+
action: createDefaultActionRenderer(options.action),
|
|
2296
|
+
array: createDefaultArrayRenderer(options.array),
|
|
2297
|
+
group: createDefaultGroupRenderer(options.group),
|
|
2298
|
+
label: createDefaultLabelRenderer(options.label),
|
|
2299
|
+
adornment: createDefaultAdornmentRenderer(),
|
|
2300
|
+
renderLayout: createDefaultLayoutRenderer(options.layout),
|
|
2301
|
+
visibility: createDefaultVisibilityRenderer()
|
|
2302
|
+
};
|
|
2303
|
+
}
|
|
2304
|
+
|
|
2305
|
+
function createFormRenderer(customRenderers, defaultRenderers) {
|
|
2306
|
+
var _customRenderers$find;
|
|
2307
|
+
if (customRenderers === void 0) {
|
|
2308
|
+
customRenderers = [];
|
|
2309
|
+
}
|
|
2310
|
+
if (defaultRenderers === void 0) {
|
|
2311
|
+
defaultRenderers = createClassStyledRenderers();
|
|
2312
|
+
}
|
|
2313
|
+
var dataRegistrations = customRenderers.filter(isDataRegistration);
|
|
2314
|
+
var groupRegistrations = customRenderers.filter(isGroupRegistration);
|
|
2315
|
+
var adornmentRegistrations = customRenderers.filter(isAdornmentRegistration);
|
|
2316
|
+
var displayRegistrations = customRenderers.filter(isDisplayRegistration);
|
|
2317
|
+
var labelRenderers = customRenderers.filter(isLabelRegistration);
|
|
2318
|
+
var arrayRenderers = customRenderers.filter(isArrayRegistration);
|
|
2319
|
+
var actionRenderers = customRenderers.filter(isActionRegistration);
|
|
2320
|
+
var layoutRenderers = customRenderers.filter(isLayoutRegistration);
|
|
2321
|
+
var visibilityRenderer = (_customRenderers$find = customRenderers.find(isVisibilityRegistration)) != null ? _customRenderers$find : defaultRenderers.visibility;
|
|
2322
|
+
var formRenderers = {
|
|
2323
|
+
renderAction: renderAction,
|
|
2324
|
+
renderData: renderData,
|
|
2325
|
+
renderGroup: renderGroup,
|
|
2326
|
+
renderDisplay: renderDisplay,
|
|
2327
|
+
renderLabel: renderLabel,
|
|
2328
|
+
renderArray: renderArray,
|
|
2329
|
+
renderAdornment: renderAdornment,
|
|
2330
|
+
renderLayout: renderLayout,
|
|
2331
|
+
renderVisibility: visibilityRenderer.render
|
|
2332
|
+
};
|
|
2333
|
+
function renderLayout(props) {
|
|
2334
|
+
var _layoutRenderers$find;
|
|
2335
|
+
var renderer = (_layoutRenderers$find = layoutRenderers.find(function (x) {
|
|
2336
|
+
return !x.match || x.match(props);
|
|
2337
|
+
})) != null ? _layoutRenderers$find : defaultRenderers.renderLayout;
|
|
2338
|
+
return renderer.render(props, formRenderers);
|
|
2339
|
+
}
|
|
2340
|
+
function renderAdornment(props) {
|
|
2341
|
+
var _adornmentRegistratio;
|
|
2342
|
+
var renderer = (_adornmentRegistratio = adornmentRegistrations.find(function (x) {
|
|
2343
|
+
return isOneOf(x.adornmentType, props.adornment.type);
|
|
2344
|
+
})) != null ? _adornmentRegistratio : defaultRenderers.adornment;
|
|
2345
|
+
return renderer.render(props);
|
|
2346
|
+
}
|
|
2347
|
+
function renderArray(props) {
|
|
2348
|
+
var _arrayRenderers$;
|
|
2349
|
+
return ((_arrayRenderers$ = arrayRenderers[0]) != null ? _arrayRenderers$ : defaultRenderers.array).render(props, formRenderers);
|
|
2350
|
+
}
|
|
2351
|
+
function renderLabel(props, labelStart, labelEnd) {
|
|
2352
|
+
var _labelRenderers$find;
|
|
2353
|
+
var renderer = (_labelRenderers$find = labelRenderers.find(function (x) {
|
|
2354
|
+
return isOneOf(x.labelType, props.type);
|
|
2355
|
+
})) != null ? _labelRenderers$find : defaultRenderers.label;
|
|
2356
|
+
return renderer.render(props, labelStart, labelEnd, formRenderers);
|
|
2357
|
+
}
|
|
2358
|
+
function renderData(props) {
|
|
2359
|
+
var _dataRegistrations$fi;
|
|
2360
|
+
var renderType = props.renderOptions.type,
|
|
2361
|
+
field = props.field;
|
|
2362
|
+
var options = hasOptions(props);
|
|
2363
|
+
var renderer = (_dataRegistrations$fi = dataRegistrations.find(function (x) {
|
|
2364
|
+
var _x$collection, _field$collection, _x$options;
|
|
2365
|
+
return ((_x$collection = x.collection) != null ? _x$collection : false) === ((_field$collection = field.collection) != null ? _field$collection : false) && ((_x$options = x.options) != null ? _x$options : false) === options && (x.schemaType && isOneOf(x.schemaType, field.type) || x.renderType && isOneOf(x.renderType, renderType) || x.match && x.match(props));
|
|
2366
|
+
})) != null ? _dataRegistrations$fi : defaultRenderers.data;
|
|
2367
|
+
var result = renderer.render(props, formRenderers);
|
|
2368
|
+
if (typeof result === "function") return result;
|
|
2369
|
+
return function (l) {
|
|
2370
|
+
return _extends({}, l, {
|
|
2371
|
+
children: result
|
|
2372
|
+
});
|
|
2373
|
+
};
|
|
2374
|
+
}
|
|
2375
|
+
function renderGroup(props) {
|
|
2376
|
+
var _groupRegistrations$f;
|
|
2377
|
+
var renderType = props.renderOptions.type;
|
|
2378
|
+
var renderer = (_groupRegistrations$f = groupRegistrations.find(function (x) {
|
|
2379
|
+
return isOneOf(x.renderType, renderType);
|
|
2380
|
+
})) != null ? _groupRegistrations$f : defaultRenderers.group;
|
|
2381
|
+
var result = renderer.render(props, formRenderers);
|
|
2382
|
+
if (typeof result === "function") return result;
|
|
2383
|
+
return function (l) {
|
|
2384
|
+
return _extends({}, l, {
|
|
2385
|
+
children: result
|
|
2386
|
+
});
|
|
2387
|
+
};
|
|
2388
|
+
}
|
|
2389
|
+
function renderAction(props) {
|
|
2390
|
+
var _actionRenderers$find;
|
|
2391
|
+
var renderer = (_actionRenderers$find = actionRenderers.find(function (x) {
|
|
2392
|
+
return isOneOf(x.actionType, props.actionId);
|
|
2393
|
+
})) != null ? _actionRenderers$find : defaultRenderers.action;
|
|
2394
|
+
return renderer.render(props, formRenderers);
|
|
2395
|
+
}
|
|
2396
|
+
function renderDisplay(props) {
|
|
2397
|
+
var _displayRegistrations;
|
|
2398
|
+
var renderType = props.data.type;
|
|
2399
|
+
var renderer = (_displayRegistrations = displayRegistrations.find(function (x) {
|
|
2400
|
+
return isOneOf(x.renderType, renderType);
|
|
2401
|
+
})) != null ? _displayRegistrations : defaultRenderers.display;
|
|
2402
|
+
return renderer.render(props, formRenderers);
|
|
2403
|
+
}
|
|
2404
|
+
return formRenderers;
|
|
2405
|
+
}
|
|
2406
|
+
function createClassStyledRenderers() {
|
|
2076
2407
|
return createDefaultRenderers({
|
|
2077
2408
|
layout: {
|
|
2078
2409
|
className: "control"
|
|
@@ -2095,6 +2426,9 @@ function createClassStyledRenderers() {
|
|
|
2095
2426
|
}
|
|
2096
2427
|
});
|
|
2097
2428
|
}
|
|
2429
|
+
function isOneOf(x, v) {
|
|
2430
|
+
return x == null ? true : Array.isArray(x) ? x.includes(v) : v === x;
|
|
2431
|
+
}
|
|
2098
2432
|
function isAdornmentRegistration(x) {
|
|
2099
2433
|
return x.type === "adornment";
|
|
2100
2434
|
}
|
|
@@ -2122,259 +2456,6 @@ function isDisplayRegistration(x) {
|
|
|
2122
2456
|
function isArrayRegistration(x) {
|
|
2123
2457
|
return x.type === "array";
|
|
2124
2458
|
}
|
|
2125
|
-
function isOneOf(x, v) {
|
|
2126
|
-
return x == null ? true : Array.isArray(x) ? x.includes(v) : v === x;
|
|
2127
|
-
}
|
|
2128
|
-
function isIconAdornment(a) {
|
|
2129
|
-
return a.type === exports.ControlAdornmentType.Icon;
|
|
2130
|
-
}
|
|
2131
|
-
function createLayoutRenderer(render, options) {
|
|
2132
|
-
return _extends({
|
|
2133
|
-
type: "layout",
|
|
2134
|
-
render: render
|
|
2135
|
-
}, options);
|
|
2136
|
-
}
|
|
2137
|
-
function createArrayRenderer(render, options) {
|
|
2138
|
-
return _extends({
|
|
2139
|
-
type: "array",
|
|
2140
|
-
render: render
|
|
2141
|
-
}, options);
|
|
2142
|
-
}
|
|
2143
|
-
function createDataRenderer(render, options) {
|
|
2144
|
-
return _extends({
|
|
2145
|
-
type: "data",
|
|
2146
|
-
render: render
|
|
2147
|
-
}, options);
|
|
2148
|
-
}
|
|
2149
|
-
function createGroupRenderer(render, options) {
|
|
2150
|
-
return _extends({
|
|
2151
|
-
type: "group",
|
|
2152
|
-
render: render
|
|
2153
|
-
}, options);
|
|
2154
|
-
}
|
|
2155
|
-
function createDisplayRenderer(render, options) {
|
|
2156
|
-
return _extends({
|
|
2157
|
-
type: "display",
|
|
2158
|
-
render: render
|
|
2159
|
-
}, options);
|
|
2160
|
-
}
|
|
2161
|
-
function createLabelRenderer(render, options) {
|
|
2162
|
-
return _extends({
|
|
2163
|
-
type: "label",
|
|
2164
|
-
render: render
|
|
2165
|
-
}, options);
|
|
2166
|
-
}
|
|
2167
|
-
function createVisibilityRenderer(render, options) {
|
|
2168
|
-
return _extends({
|
|
2169
|
-
type: "visibility",
|
|
2170
|
-
render: render
|
|
2171
|
-
}, options);
|
|
2172
|
-
}
|
|
2173
|
-
function createAdornmentRenderer(render, options) {
|
|
2174
|
-
return _extends({
|
|
2175
|
-
type: "adornment"
|
|
2176
|
-
}, options, {
|
|
2177
|
-
render: render
|
|
2178
|
-
});
|
|
2179
|
-
}
|
|
2180
|
-
function createSelectRenderer(options) {
|
|
2181
|
-
if (options === void 0) {
|
|
2182
|
-
options = {};
|
|
2183
|
-
}
|
|
2184
|
-
return createDataRenderer(function (props, asArray) {
|
|
2185
|
-
return /*#__PURE__*/React__default["default"].createElement(SelectDataRenderer, {
|
|
2186
|
-
className: rendererClass(props.className, options.className),
|
|
2187
|
-
state: props.control,
|
|
2188
|
-
id: props.id,
|
|
2189
|
-
options: props.options,
|
|
2190
|
-
required: props.required,
|
|
2191
|
-
emptyText: options.emptyText,
|
|
2192
|
-
requiredText: options.requiredText,
|
|
2193
|
-
convert: createSelectConversion(props.field.type)
|
|
2194
|
-
});
|
|
2195
|
-
}, {
|
|
2196
|
-
options: true
|
|
2197
|
-
});
|
|
2198
|
-
}
|
|
2199
|
-
function SelectDataRenderer(_ref13) {
|
|
2200
|
-
var _effect4 = core.useComponentTracking();
|
|
2201
|
-
try {
|
|
2202
|
-
var state = _ref13.state,
|
|
2203
|
-
options = _ref13.options,
|
|
2204
|
-
className = _ref13.className,
|
|
2205
|
-
convert = _ref13.convert,
|
|
2206
|
-
required = _ref13.required,
|
|
2207
|
-
_ref13$emptyText = _ref13.emptyText,
|
|
2208
|
-
emptyText = _ref13$emptyText === void 0 ? "N/A" : _ref13$emptyText,
|
|
2209
|
-
_ref13$requiredText = _ref13.requiredText,
|
|
2210
|
-
requiredText = _ref13$requiredText === void 0 ? "<please select>" : _ref13$requiredText,
|
|
2211
|
-
props = _objectWithoutPropertiesLoose(_ref13, _excluded4);
|
|
2212
|
-
var value = state.value,
|
|
2213
|
-
disabled = state.disabled;
|
|
2214
|
-
var _useState = React.useState(!required || value == null),
|
|
2215
|
-
showEmpty = _useState[0];
|
|
2216
|
-
var optionStringMap = React.useMemo(function () {
|
|
2217
|
-
return Object.fromEntries(options.map(function (x) {
|
|
2218
|
-
return [convert(x.value), x.value];
|
|
2219
|
-
}));
|
|
2220
|
-
}, [options]);
|
|
2221
|
-
return /*#__PURE__*/React__default["default"].createElement("select", _extends({}, props, {
|
|
2222
|
-
className: className,
|
|
2223
|
-
onChange: function onChange(v) {
|
|
2224
|
-
return state.value = optionStringMap[v.target.value];
|
|
2225
|
-
},
|
|
2226
|
-
value: convert(value),
|
|
2227
|
-
disabled: disabled
|
|
2228
|
-
}), showEmpty && /*#__PURE__*/React__default["default"].createElement("option", {
|
|
2229
|
-
value: ""
|
|
2230
|
-
}, required ? requiredText : emptyText), options.map(function (x, i) {
|
|
2231
|
-
return /*#__PURE__*/React__default["default"].createElement("option", {
|
|
2232
|
-
key: i,
|
|
2233
|
-
value: convert(x.value),
|
|
2234
|
-
disabled: x.disabled
|
|
2235
|
-
}, x.name);
|
|
2236
|
-
}));
|
|
2237
|
-
} finally {
|
|
2238
|
-
_effect4();
|
|
2239
|
-
}
|
|
2240
|
-
}
|
|
2241
|
-
function createSelectConversion(ft) {
|
|
2242
|
-
switch (ft) {
|
|
2243
|
-
case exports.FieldType.String:
|
|
2244
|
-
case exports.FieldType.Int:
|
|
2245
|
-
case exports.FieldType.Double:
|
|
2246
|
-
return function (a) {
|
|
2247
|
-
return a;
|
|
2248
|
-
};
|
|
2249
|
-
default:
|
|
2250
|
-
return function (a) {
|
|
2251
|
-
var _a$toString;
|
|
2252
|
-
return (_a$toString = a == null ? void 0 : a.toString()) != null ? _a$toString : "";
|
|
2253
|
-
};
|
|
2254
|
-
}
|
|
2255
|
-
}
|
|
2256
|
-
function createInputConversion(ft) {
|
|
2257
|
-
switch (ft) {
|
|
2258
|
-
case exports.FieldType.String:
|
|
2259
|
-
return ["text", function (a) {
|
|
2260
|
-
return a;
|
|
2261
|
-
}, function (a) {
|
|
2262
|
-
return a;
|
|
2263
|
-
}];
|
|
2264
|
-
case exports.FieldType.Bool:
|
|
2265
|
-
return ["text", function (a) {
|
|
2266
|
-
return a === "true";
|
|
2267
|
-
}, function (a) {
|
|
2268
|
-
var _a$toString2;
|
|
2269
|
-
return (_a$toString2 = a == null ? void 0 : a.toString()) != null ? _a$toString2 : "";
|
|
2270
|
-
}];
|
|
2271
|
-
case exports.FieldType.Int:
|
|
2272
|
-
return ["number", function (a) {
|
|
2273
|
-
return a !== "" ? parseInt(a) : null;
|
|
2274
|
-
}, function (a) {
|
|
2275
|
-
return a == null ? "" : a;
|
|
2276
|
-
}];
|
|
2277
|
-
case exports.FieldType.Date:
|
|
2278
|
-
return ["date", function (a) {
|
|
2279
|
-
return a;
|
|
2280
|
-
}, function (a) {
|
|
2281
|
-
return a;
|
|
2282
|
-
}];
|
|
2283
|
-
case exports.FieldType.Double:
|
|
2284
|
-
return ["number", function (a) {
|
|
2285
|
-
return parseFloat(a);
|
|
2286
|
-
}, function (a) {
|
|
2287
|
-
return a;
|
|
2288
|
-
}];
|
|
2289
|
-
default:
|
|
2290
|
-
return ["text", function (a) {
|
|
2291
|
-
return a;
|
|
2292
|
-
}, function (a) {
|
|
2293
|
-
return a;
|
|
2294
|
-
}];
|
|
2295
|
-
}
|
|
2296
|
-
}
|
|
2297
|
-
function createDefaultVisibilityRenderer() {
|
|
2298
|
-
return createVisibilityRenderer(function (props) {
|
|
2299
|
-
return /*#__PURE__*/React__default["default"].createElement(DefaultVisibility, props);
|
|
2300
|
-
});
|
|
2301
|
-
}
|
|
2302
|
-
function DefaultVisibility(_ref14) {
|
|
2303
|
-
var _effect5 = core.useComponentTracking();
|
|
2304
|
-
try {
|
|
2305
|
-
var visibility = _ref14.visibility,
|
|
2306
|
-
children = _ref14.children,
|
|
2307
|
-
className = _ref14.className,
|
|
2308
|
-
style = _ref14.style,
|
|
2309
|
-
divRef = _ref14.divRef;
|
|
2310
|
-
var v = visibility.value;
|
|
2311
|
-
React.useEffect(function () {
|
|
2312
|
-
if (v) {
|
|
2313
|
-
visibility.setValue(function (ex) {
|
|
2314
|
-
return {
|
|
2315
|
-
visible: v.visible,
|
|
2316
|
-
showing: v.visible
|
|
2317
|
-
};
|
|
2318
|
-
});
|
|
2319
|
-
}
|
|
2320
|
-
}, [v == null ? void 0 : v.visible]);
|
|
2321
|
-
return v != null && v.visible ? /*#__PURE__*/React__default["default"].createElement("div", {
|
|
2322
|
-
className: clsx__default["default"](className),
|
|
2323
|
-
style: style,
|
|
2324
|
-
ref: divRef
|
|
2325
|
-
}, children) : /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null);
|
|
2326
|
-
} finally {
|
|
2327
|
-
_effect5();
|
|
2328
|
-
}
|
|
2329
|
-
}
|
|
2330
|
-
function DefaultLayout(_ref15) {
|
|
2331
|
-
var _effect6 = core.useComponentTracking();
|
|
2332
|
-
try {
|
|
2333
|
-
var errorClass = _ref15.errorClass,
|
|
2334
|
-
_ref15$layout = _ref15.layout,
|
|
2335
|
-
controlEnd = _ref15$layout.controlEnd,
|
|
2336
|
-
controlStart = _ref15$layout.controlStart,
|
|
2337
|
-
label = _ref15$layout.label,
|
|
2338
|
-
children = _ref15$layout.children,
|
|
2339
|
-
errorControl = _ref15$layout.errorControl;
|
|
2340
|
-
var ec = errorControl;
|
|
2341
|
-
var errorText = ec && ec.touched ? ec.error : undefined;
|
|
2342
|
-
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, label, controlStart, children, errorText && /*#__PURE__*/React__default["default"].createElement("div", {
|
|
2343
|
-
className: errorClass
|
|
2344
|
-
}, errorText), controlEnd);
|
|
2345
|
-
} finally {
|
|
2346
|
-
_effect6();
|
|
2347
|
-
}
|
|
2348
|
-
}
|
|
2349
|
-
|
|
2350
|
-
var defaultTailwindTheme = {
|
|
2351
|
-
label: {
|
|
2352
|
-
groupLabelClass: "font-bold",
|
|
2353
|
-
requiredElement: /*#__PURE__*/React__default["default"].createElement("span", {
|
|
2354
|
-
className: "text-red-500"
|
|
2355
|
-
}, " *")
|
|
2356
|
-
},
|
|
2357
|
-
array: {
|
|
2358
|
-
removableClass: "grid grid-cols-[1fr_auto] items-center gap-x-2",
|
|
2359
|
-
childClass: "grow my-2",
|
|
2360
|
-
addActionClass: "my-2"
|
|
2361
|
-
},
|
|
2362
|
-
group: {
|
|
2363
|
-
standardClassName: "flex flex-col gap-4",
|
|
2364
|
-
gridClassName: "gap-x-2 gap-y-4",
|
|
2365
|
-
flexClassName: "gap-2"
|
|
2366
|
-
},
|
|
2367
|
-
action: {
|
|
2368
|
-
className: "bg-primary rounded-lg p-3 text-white"
|
|
2369
|
-
},
|
|
2370
|
-
layout: {
|
|
2371
|
-
className: "flex flex-col",
|
|
2372
|
-
errorClass: "text-sm text-danger-500"
|
|
2373
|
-
},
|
|
2374
|
-
data: {
|
|
2375
|
-
displayOnlyClass: "flex flex-row items-center gap-2"
|
|
2376
|
-
}
|
|
2377
|
-
};
|
|
2378
2459
|
|
|
2379
2460
|
exports.AppendAdornmentPriority = AppendAdornmentPriority;
|
|
2380
2461
|
exports.ControlInput = ControlInput;
|
|
@@ -2384,6 +2465,7 @@ exports.DefaultDisplay = DefaultDisplay;
|
|
|
2384
2465
|
exports.DefaultDisplayOnly = DefaultDisplayOnly;
|
|
2385
2466
|
exports.DefaultLayout = DefaultLayout;
|
|
2386
2467
|
exports.DefaultVisibility = DefaultVisibility;
|
|
2468
|
+
exports.RadioButtons = RadioButtons;
|
|
2387
2469
|
exports.SelectDataRenderer = SelectDataRenderer;
|
|
2388
2470
|
exports.WrapAdornmentPriority = WrapAdornmentPriority;
|
|
2389
2471
|
exports.addFieldOption = addFieldOption;
|
|
@@ -2419,6 +2501,7 @@ exports.createGroupRenderer = createGroupRenderer;
|
|
|
2419
2501
|
exports.createInputConversion = createInputConversion;
|
|
2420
2502
|
exports.createLabelRenderer = createLabelRenderer;
|
|
2421
2503
|
exports.createLayoutRenderer = createLayoutRenderer;
|
|
2504
|
+
exports.createRadioRenderer = createRadioRenderer;
|
|
2422
2505
|
exports.createSelectConversion = createSelectConversion;
|
|
2423
2506
|
exports.createSelectRenderer = createSelectRenderer;
|
|
2424
2507
|
exports.createVisibilityRenderer = createVisibilityRenderer;
|
|
@@ -2473,6 +2556,7 @@ exports.isGroupControl = isGroupControl;
|
|
|
2473
2556
|
exports.isGroupControlsDefinition = isGroupControlsDefinition;
|
|
2474
2557
|
exports.isIconAdornment = isIconAdornment;
|
|
2475
2558
|
exports.isScalarField = isScalarField;
|
|
2559
|
+
exports.isTextfieldRenderer = isTextfieldRenderer;
|
|
2476
2560
|
exports.jsonPathString = jsonPathString;
|
|
2477
2561
|
exports.jsonataExpr = jsonataExpr;
|
|
2478
2562
|
exports.layoutKeyForPlacement = layoutKeyForPlacement;
|