@@ -18153,23 +18153,31 @@ var utc = createCommonjsModule(function (module, exports) {
1815318153dayjs_min.extend(customParseFormat);
1815418154dayjs_min.extend(utc);
1815518155var SchemaFormComponentWrapper = function (_a) {
18156- var errors = _a.errors, caption = _a.caption, children = _a.children, schema = _a.schema, isRequired = _a.isRequired;
18156+ var errors = _a.errors, caption = _a.caption, children = _a.children, schema = _a.schema, isRequired = _a.isRequired, context = _a.context ;
1815718157 var isError = errors.length > 0;
1815818158 var errorClass = isError ? "sf-has-error " : "";
18159- var requiredClass = isRequired ? "sf-required" : "";
18159+ var requiredClass = isRequired ? "sf-required " : "";
1816018160 var outerClass = schema['className'] ? "sf-row " + schema['className'] : "sf-row";
1816118161 var outerErrorClass = schema['className'] ? "sf-row sf-error-row " + schema["className"] + "-error" : "sf-row sf-error-row";
18162+ var gridMode = context && context['gridMode'];
18163+ var innerClass = gridMode && schema['className'] ? schema["className"] + ' ' : '';
18164+ var mainField = function () { return (React__default.createElement(React__default.Fragment, null,
18165+ caption && React__default.createElement("label", { className: "sf-caption " + errorClass + requiredClass + innerClass },
18166+ caption,
18167+ schema['description'] && (React__default.createElement(React__default.Fragment, null,
18168+ React__default.createElement("br", null),
18169+ React__default.createElement("span", { className: "sf-description " + errorClass }, schema['description'])))),
18170+ children)); };
18171+ var errorField = function () { return (React__default.createElement(React__default.Fragment, null,
18172+ React__default.createElement("label", { className: "sf-caption" }),
18173+ errors.map(function (err, idx) { return (React__default.createElement("span", { key: idx, className: "sf-error" }, err.message)); }))); };
1816218174 return (React__default.createElement(React__default.Fragment, null,
18163- React__default.createElement("div", { className: outerClass },
18164- caption && React__default.createElement("label", { htmlFor: name, className: "sf-caption " + errorClass + requiredClass },
18165- caption,
18166- schema['description'] && (React__default.createElement(React__default.Fragment, null,
18167- React__default.createElement("br", null),
18168- React__default.createElement("span", { className: "sf-description " + errorClass }, schema['description'])))),
18169- children),
18170- isError && React__default.createElement("div", { className: outerErrorClass },
18171- React__default.createElement("label", { className: "sf-caption" }),
18172- errors.map(function (err, idx) { return (React__default.createElement("label", { key: idx, className: "sf-error", htmlFor: name }, err.message)); }))));
18175+ gridMode
18176+ ? mainField()
18177+ : React__default.createElement("div", { className: outerClass }, mainField()),
18178+ isError && (gridMode
18179+ ? errorField()
18180+ : React__default.createElement("div", { className: outerErrorClass }, errorField()))));
1817318181};
1817418182var stringFilters = {
1817518183 "html-newlines": {
@@ -18282,6 +18290,8 @@ function SchemaFormComponent(props) {
1828218290 var commonProps = __assign(__assign({}, baseProps), { value: (value || '').toString(), onChange: function () { }, onInput: handleChange });
1828318291 var selectProps = __assign(__assign({}, baseProps), { value: (value || '').toString(), onChange: handleChange });
1828418292 switch (fieldType(schema)) {
18293+ case "null":
18294+ return React__default.createElement(React__default.Fragment, null);
1828518295 case "string":
1828618296 return (React__default.createElement("input", __assign({}, commonProps, { value: uiValue(value), onInput: handleTextChange, type: "text", className: classes("sf-string") })));
1828718297 case "boolean":
@@ -20827,7 +20837,7 @@ function UploadEditor(props) {
2082720837 if (acceptedFiles.length === 0)
2082820838 return;
2082920839 var sendFilePromises = acceptedFiles.map(function (file) {
20830- var absUrl = uploadContext.getFileUrl(file, path, schema).toLowerCase() ;
20840+ var absUrl = uploadContext.getFileUrl(file, path, schema);
2083120841 return uploadContext.sendFile(absUrl, file, function (pc) { return updateProgress(file, pc); })
2083220842 .then(function () { return encodeURI(absUrl); });
2083320843 });
@@ -28159,14 +28169,19 @@ function OneOfRadioEditor(props) {
2815928169 var readOnly = schema['readOnly'] || false;
2816028170 var baseProps = { name: name, readOnly: readOnly, onFocus: handleFocus, onBlur: handleBlur };
2816128171 var opts = oneOf && oneOf.map(function (subschema, i) { return subschema['title'] || 'option ' + i.toString(); });
28172+ var gridMode = context && context['gridMode'];
2816228173 if (!opts) {
2816328174 throw ("In schema " + JSON.stringify(schema) + ", editor: oneOfRadioEditor must be a subschema with an oneOf property");
2816428175 }
2816528176 return (React__default.createElement("div", { className: 'sf-row sf-schema-selector' },
2816628177 React__default.createElement("div", { className: classes }, opts.map(function (opt, idx) {
28167- return React__default.createElement("span", { className: "sf-radio", key: opt },
28168- React__default.createElement("input", __assign({}, baseProps, { id: name + '_' + idx, type: "radio", checked: idx === currentIdx, className: "sf-radio-button", onChange: handleCheckChange(idx), value: idx })),
28169- React__default.createElement("label", { htmlFor: name + '_' + idx }, opt));
28178+ return React__default.createElement(React__default.Fragment, null, gridMode
28179+ ? React__default.createElement(React__default.Fragment, null,
28180+ React__default.createElement("input", __assign({}, baseProps, { id: name + '_' + idx, type: "radio", checked: idx === currentIdx, className: "sf-radio-button", onChange: handleCheckChange(idx), value: idx })),
28181+ React__default.createElement("label", { htmlFor: name + '_' + idx }, opt))
28182+ : React__default.createElement("span", { className: "sf-radio", key: opt },
28183+ React__default.createElement("input", __assign({}, baseProps, { id: name + '_' + idx, type: "radio", checked: idx === currentIdx, className: "sf-radio-button", onChange: handleCheckChange(idx), value: idx })),
28184+ React__default.createElement("label", { htmlFor: name + '_' + idx }, opt)));
2817028185 }))));
2817128186 }
2817228187 var isError = errors.length > 0;
@@ -28178,6 +28193,7 @@ function OneOfRadioEditor(props) {
2817828193}
2817928194
2818028195var defaultComponentMap = {
28196+ "null": SchemaFormComponent,
2818128197 "string": SchemaFormComponent,
2818228198 "number": SchemaFormComponent,
2818328199 "enum": SchemaFormComponent,
@@ -28200,7 +28216,7 @@ var defaultContainerMap = {
2820028216 "oneOfRadio": OneOfRadioEditor
2820128217};
2820228218function SchemaForm(props) {
28203- var value = props.value, schema = props.schema, onChange = props.onChange, onFocus = props.onFocus, onBlur = props.onBlur, onEditor = props.onEditor, showErrors = props.showErrors, className = props.className, changeOnBlur = props.changeOnBlur, collapsible = props.collapsible, componentContext = props.componentContext, components = props.components, containers = props.containers;
28219+ var value = props.value, schema = props.schema, onChange = props.onChange, onFocus = props.onFocus, onBlur = props.onBlur, onEditor = props.onEditor, showErrors = props.showErrors, className = props.className, changeOnBlur = props.changeOnBlur, collapsible = props.collapsible, gridMode = props.gridMode, componentContext = props.componentContext, components = props.components, containers = props.containers;
2820428220 var _a = React.useState(true), isPropsChange = _a[0], setIsPropsChange = _a[1];
2820528221 var context = {
2820628222 components: Object.assign(defaultComponentMap, components || {}),
@@ -28276,6 +28292,9 @@ function SchemaForm(props) {
2827628292 if (schema && schema['currencySymbol']) {
2827728293 context.componentContext = __assign(__assign({}, (context.componentContext || {})), { currencySymbol: schema['currencySymbol'] });
2827828294 }
28295+ if (gridMode !== undefined) {
28296+ context.componentContext = __assign(__assign({}, (context.componentContext || {})), { gridMode: gridMode });
28297+ }
2827928298 //console.log('FORM rendering ' + JSON.stringify(currentValue));
2828028299 if (!schema) {
2828128300 return (React__default.createElement(React__default.Fragment, null));
0 commit comments