@jsonforms/material-renderers 3.2.0-alpha.1 → 3.2.0-alpha.3
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/complex/CombinatorProperties.d.ts +1 -0
- package/lib/jsonforms-react-material.cjs.js +20 -18
- package/lib/jsonforms-react-material.cjs.js.map +1 -1
- package/lib/jsonforms-react-material.esm.js +24 -19
- package/lib/jsonforms-react-material.esm.js.map +1 -1
- package/package.json +6 -6
- package/src/additional/MaterialListWithDetailRenderer.tsx +1 -1
- package/src/complex/CombinatorProperties.tsx +5 -2
- package/src/complex/MaterialAnyOfRenderer.tsx +9 -2
- package/src/complex/MaterialEnumArrayRenderer.tsx +6 -2
- package/src/complex/MaterialObjectRenderer.tsx +5 -2
- package/src/complex/MaterialOneOfRenderer.tsx +5 -1
- package/src/complex/TableToolbar.tsx +2 -1
- package/src/controls/MaterialRadioGroup.tsx +7 -3
- package/src/layouts/MaterialArrayLayout.tsx +1 -1
- package/src/mui-controls/MuiAutocomplete.tsx +1 -1
|
@@ -4,6 +4,7 @@ interface CombinatorPropertiesProps {
|
|
|
4
4
|
schema: JsonSchema;
|
|
5
5
|
combinatorKeyword: 'oneOf' | 'anyOf';
|
|
6
6
|
path: string;
|
|
7
|
+
rootSchema: JsonSchema;
|
|
7
8
|
}
|
|
8
9
|
export declare class CombinatorProperties extends React.Component<CombinatorPropertiesProps, {}> {
|
|
9
10
|
render(): React.JSX.Element;
|
|
@@ -128,9 +128,9 @@ var CombinatorProperties = (function (_super) {
|
|
|
128
128
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
129
129
|
}
|
|
130
130
|
CombinatorProperties.prototype.render = function () {
|
|
131
|
-
var _a = this.props, schema = _a.schema, combinatorKeyword = _a.combinatorKeyword, path = _a.path;
|
|
131
|
+
var _a = this.props, schema = _a.schema, combinatorKeyword = _a.combinatorKeyword, path = _a.path, rootSchema = _a.rootSchema;
|
|
132
132
|
var otherProps = omit__default["default"](schema, combinatorKeyword);
|
|
133
|
-
var foundUISchema = core.Generate.uiSchema(otherProps, 'VerticalLayout');
|
|
133
|
+
var foundUISchema = core.Generate.uiSchema(otherProps, 'VerticalLayout', undefined, rootSchema);
|
|
134
134
|
var isLayoutWithElements = false;
|
|
135
135
|
if (foundUISchema !== null && core.isLayout(foundUISchema)) {
|
|
136
136
|
isLayoutWithElements = foundUISchema.elements.length > 0;
|
|
@@ -163,7 +163,7 @@ var MaterialAnyOfRenderer = function (_a) {
|
|
|
163
163
|
var handleTabChange = React.useCallback(function (_event, newIndex) {
|
|
164
164
|
if (isEmpty__default["default"](data) ||
|
|
165
165
|
typeof data ===
|
|
166
|
-
typeof core.createDefaultValue(anyOfRenderInfos[newIndex].schema)) {
|
|
166
|
+
typeof core.createDefaultValue(anyOfRenderInfos[newIndex].schema, rootSchema)) {
|
|
167
167
|
setSelectedAnyOf(newIndex);
|
|
168
168
|
}
|
|
169
169
|
else {
|
|
@@ -172,7 +172,7 @@ var MaterialAnyOfRenderer = function (_a) {
|
|
|
172
172
|
}
|
|
173
173
|
}, [setConfirmDialogOpen, setSelectedAnyOf, data]);
|
|
174
174
|
var openNewTab = function (newIndex) {
|
|
175
|
-
handleChange(path, core.createDefaultValue(anyOfRenderInfos[newIndex].schema));
|
|
175
|
+
handleChange(path, core.createDefaultValue(anyOfRenderInfos[newIndex].schema, rootSchema));
|
|
176
176
|
setSelectedAnyOf(newIndex);
|
|
177
177
|
};
|
|
178
178
|
var confirm = React.useCallback(function () {
|
|
@@ -182,7 +182,7 @@ var MaterialAnyOfRenderer = function (_a) {
|
|
|
182
182
|
var anyOf = 'anyOf';
|
|
183
183
|
var anyOfRenderInfos = core.createCombinatorRenderInfos(schema.anyOf, rootSchema, anyOf, uischema, path, uischemas);
|
|
184
184
|
return (React__default["default"].createElement(material.Hidden, { xsUp: !visible },
|
|
185
|
-
React__default["default"].createElement(CombinatorProperties, { schema: schema, combinatorKeyword: anyOf, path: path }),
|
|
185
|
+
React__default["default"].createElement(CombinatorProperties, { schema: schema, combinatorKeyword: anyOf, path: path, rootSchema: rootSchema }),
|
|
186
186
|
React__default["default"].createElement(material.Tabs, { value: selectedAnyOf, onChange: handleTabChange }, anyOfRenderInfos.map(function (anyOfRenderInfo) { return (React__default["default"].createElement(material.Tab, { key: anyOfRenderInfo.label, label: anyOfRenderInfo.label })); })),
|
|
187
187
|
anyOfRenderInfos.map(function (anyOfRenderInfo, anyOfIndex) {
|
|
188
188
|
return selectedAnyOf === anyOfIndex && (React__default["default"].createElement(react.JsonFormsDispatch, { key: anyOfIndex, schema: anyOfRenderInfo.schema, uischema: anyOfRenderInfo.uischema, path: path, renderers: renderers, cells: cells }));
|
|
@@ -218,7 +218,7 @@ var fixedCellSmall = {
|
|
|
218
218
|
paddingRight: 0,
|
|
219
219
|
};
|
|
220
220
|
var TableToolbar = React__default["default"].memo(function TableToolbar(_a) {
|
|
221
|
-
var numColumns = _a.numColumns, errors = _a.errors, label = _a.label, path = _a.path, addItem = _a.addItem, schema = _a.schema, enabled = _a.enabled, translations = _a.translations;
|
|
221
|
+
var numColumns = _a.numColumns, errors = _a.errors, label = _a.label, path = _a.path, addItem = _a.addItem, schema = _a.schema, enabled = _a.enabled, translations = _a.translations, rootSchema = _a.rootSchema;
|
|
222
222
|
return (React__default["default"].createElement(material.TableRow, null,
|
|
223
223
|
React__default["default"].createElement(NoBorderTableCell, { colSpan: numColumns },
|
|
224
224
|
React__default["default"].createElement(material.Grid, { container: true, justifyContent: 'flex-start', alignItems: 'center', spacing: 2 },
|
|
@@ -228,7 +228,7 @@ var TableToolbar = React__default["default"].memo(function TableToolbar(_a) {
|
|
|
228
228
|
React__default["default"].createElement(ValidationIcon, { id: 'tooltip-validation', errorMessages: errors })))))),
|
|
229
229
|
enabled ? (React__default["default"].createElement(NoBorderTableCell, { align: 'right', style: fixedCellSmall },
|
|
230
230
|
React__default["default"].createElement(material.Tooltip, { id: 'tooltip-add', title: translations.addTooltip, placement: 'bottom' },
|
|
231
|
-
React__default["default"].createElement(material.IconButton, { "aria-label": translations.addAriaLabel, onClick: addItem(path, core.createDefaultValue(schema)), size: 'large' },
|
|
231
|
+
React__default["default"].createElement(material.IconButton, { "aria-label": translations.addAriaLabel, onClick: addItem(path, core.createDefaultValue(schema, rootSchema)), size: 'large' },
|
|
232
232
|
React__default["default"].createElement(AddIcon__default["default"], null))))) : null));
|
|
233
233
|
});
|
|
234
234
|
|
|
@@ -447,7 +447,7 @@ var MuiAutocomplete = function (props) {
|
|
|
447
447
|
}, inputValue: inputValue, onInputChange: function (_event, newInputValue) {
|
|
448
448
|
setInputValue(newInputValue);
|
|
449
449
|
}, autoHighlight: true, autoSelect: true, autoComplete: true, fullWidth: true, options: options, getOptionLabel: getOptionLabel || (function (option) { return option === null || option === void 0 ? void 0 : option.label; }), freeSolo: false, renderInput: function (params) {
|
|
450
|
-
return (React__default["default"].createElement(material.TextField, __assign({ label: label, type: 'text', inputProps: params.inputProps, inputRef: params.InputProps.ref, autoFocus: appliedUiSchemaOptions.focus, disabled: !enabled }, params, { id: id
|
|
450
|
+
return (React__default["default"].createElement(material.TextField, __assign({ label: label, type: 'text', inputProps: params.inputProps, inputRef: params.InputProps.ref, autoFocus: appliedUiSchemaOptions.focus, disabled: !enabled }, params, { id: id, required: required && !appliedUiSchemaOptions.hideRequiredAsterisk, error: !isValid, fullWidth: !appliedUiSchemaOptions.trim, InputLabelProps: data ? { shrink: true } : undefined, onFocus: onFocus, onBlur: onBlur, focused: focused })));
|
|
451
451
|
}, renderOption: renderOption, filterOptions: filterOptions }),
|
|
452
452
|
React__default["default"].createElement(material.FormHelperText, { error: !isValid && !showDescription }, firstFormHelperText),
|
|
453
453
|
React__default["default"].createElement(material.FormHelperText, { error: !isValid }, secondFormHelperText)));
|
|
@@ -696,8 +696,11 @@ var materialEnumArrayRendererTester = core.rankWith(5, core.and(core.uiTypeIs('C
|
|
|
696
696
|
return core.hasType(schema, 'array') &&
|
|
697
697
|
!Array.isArray(schema.items) &&
|
|
698
698
|
schema.uniqueItems === true;
|
|
699
|
-
}), core.schemaSubPathMatches('items', function (schema) {
|
|
700
|
-
|
|
699
|
+
}), core.schemaSubPathMatches('items', function (schema, rootSchema) {
|
|
700
|
+
var resolvedSchema = schema.$ref
|
|
701
|
+
? core.resolveSchema(rootSchema, schema.$ref, rootSchema)
|
|
702
|
+
: schema;
|
|
703
|
+
return hasOneOfItems(resolvedSchema) || hasEnumItems(resolvedSchema);
|
|
701
704
|
}))));
|
|
702
705
|
var MaterialEnumArrayRenderer$1 = react.withJsonFormsMultiEnumProps(MaterialEnumArrayRenderer);
|
|
703
706
|
|
|
@@ -706,8 +709,8 @@ var MaterialObjectRenderer = function (_a) {
|
|
|
706
709
|
var detailUiSchema = React.useMemo(function () {
|
|
707
710
|
return core.findUISchema(uischemas, schema, uischema.scope, path, function () {
|
|
708
711
|
return isEmpty__default["default"](path)
|
|
709
|
-
? core.Generate.uiSchema(schema, 'VerticalLayout')
|
|
710
|
-
: __assign(__assign({}, core.Generate.uiSchema(schema, 'Group')), { label: label });
|
|
712
|
+
? core.Generate.uiSchema(schema, 'VerticalLayout', undefined, rootSchema)
|
|
713
|
+
: __assign(__assign({}, core.Generate.uiSchema(schema, 'Group', undefined, rootSchema)), { label: label });
|
|
711
714
|
}, uischema, rootSchema);
|
|
712
715
|
}, [uischemas, schema, uischema.scope, path, label, uischema, rootSchema]);
|
|
713
716
|
return (React__default["default"].createElement(material.Hidden, { xsUp: !visible },
|
|
@@ -727,7 +730,7 @@ var MaterialOneOfRenderer = function (_a) {
|
|
|
727
730
|
}, [setConfirmDialogOpen]);
|
|
728
731
|
var oneOfRenderInfos = core.createCombinatorRenderInfos(schema.oneOf, rootSchema, 'oneOf', uischema, path, uischemas);
|
|
729
732
|
var openNewTab = function (newIndex) {
|
|
730
|
-
handleChange(path, core.createDefaultValue(oneOfRenderInfos[newIndex].schema));
|
|
733
|
+
handleChange(path, core.createDefaultValue(oneOfRenderInfos[newIndex].schema, rootSchema));
|
|
731
734
|
setSelectedIndex(newIndex);
|
|
732
735
|
};
|
|
733
736
|
var confirm = React.useCallback(function () {
|
|
@@ -744,7 +747,7 @@ var MaterialOneOfRenderer = function (_a) {
|
|
|
744
747
|
}
|
|
745
748
|
}, [setConfirmDialogOpen, setSelectedIndex, data]);
|
|
746
749
|
return (React__default["default"].createElement(material.Hidden, { xsUp: !visible },
|
|
747
|
-
React__default["default"].createElement(CombinatorProperties, { schema: schema, combinatorKeyword: 'oneOf', path: path }),
|
|
750
|
+
React__default["default"].createElement(CombinatorProperties, { schema: schema, combinatorKeyword: 'oneOf', path: path, rootSchema: rootSchema }),
|
|
748
751
|
React__default["default"].createElement(material.Tabs, { value: selectedIndex, onChange: handleTabChange }, oneOfRenderInfos.map(function (oneOfRenderInfo) { return (React__default["default"].createElement(material.Tab, { key: oneOfRenderInfo.label, label: oneOfRenderInfo.label })); })),
|
|
749
752
|
oneOfRenderInfos.map(function (oneOfRenderInfo, oneOfIndex) {
|
|
750
753
|
return selectedIndex === oneOfIndex && (React__default["default"].createElement(react.JsonFormsDispatch, { key: oneOfIndex, schema: oneOfRenderInfo.schema, uischema: oneOfRenderInfo.uischema, path: path, renderers: renderers, cells: cells }));
|
|
@@ -805,7 +808,7 @@ var MaterialListWithDetailRenderer = function (_a) {
|
|
|
805
808
|
}
|
|
806
809
|
}; }, [removeItems, setSelectedIndex]);
|
|
807
810
|
var handleListItemClick = React.useCallback(function (index) { return function () { return setSelectedIndex(index); }; }, [setSelectedIndex]);
|
|
808
|
-
var handleCreateDefaultValue = React.useCallback(function () { return core.createDefaultValue(schema); }, [core.createDefaultValue]);
|
|
811
|
+
var handleCreateDefaultValue = React.useCallback(function () { return core.createDefaultValue(schema, rootSchema); }, [core.createDefaultValue]);
|
|
809
812
|
var foundUISchema = React.useMemo(function () {
|
|
810
813
|
return core.findUISchema(uischemas, schema, uischema.scope, path, undefined, uischema, rootSchema);
|
|
811
814
|
}, [uischemas, schema, uischema.scope, path, uischema, rootSchema]);
|
|
@@ -1130,11 +1133,10 @@ var MaterialRadioGroup = function (props) {
|
|
|
1130
1133
|
var isValid = errors.length === 0;
|
|
1131
1134
|
var appliedUiSchemaOptions = merge__default["default"]({}, config, props.uischema.options);
|
|
1132
1135
|
var showDescription = !core.isDescriptionHidden(visible, description, focused, appliedUiSchemaOptions.showUnfocusedDescription);
|
|
1133
|
-
var onChange = function (_ev, value) { return handleChange(path, value); };
|
|
1134
1136
|
return (React__default["default"].createElement(material.Hidden, { xsUp: !visible },
|
|
1135
1137
|
React__default["default"].createElement(material.FormControl, { component: 'fieldset', fullWidth: !appliedUiSchemaOptions.trim, onFocus: onFocus, onBlur: onBlur },
|
|
1136
1138
|
React__default["default"].createElement(material.FormLabel, { htmlFor: id, error: !isValid, component: 'legend', required: core.showAsRequired(required, appliedUiSchemaOptions.hideRequiredAsterisk) }, label),
|
|
1137
|
-
React__default["default"].createElement(material.RadioGroup, { value: (_a = props.data) !== null && _a !== void 0 ? _a : '',
|
|
1139
|
+
React__default["default"].createElement(material.RadioGroup, { value: (_a = props.data) !== null && _a !== void 0 ? _a : '', row: true }, options.map(function (option) { return (React__default["default"].createElement(material.FormControlLabel, { value: option.value, key: option.label, control: React__default["default"].createElement(material.Radio, { checked: data === option.value, onChange: function () { return handleChange(path, option.value); } }), label: option.label, disabled: !enabled })); })),
|
|
1138
1140
|
React__default["default"].createElement(material.FormHelperText, { error: !isValid }, !isValid ? errors : showDescription ? description : null))));
|
|
1139
1141
|
};
|
|
1140
1142
|
|
|
@@ -1431,7 +1433,7 @@ var MaterialCategorizationLayout = withAjvProps(react.withTranslateProps(react.w
|
|
|
1431
1433
|
|
|
1432
1434
|
var MaterialArrayLayoutComponent = function (props) {
|
|
1433
1435
|
var _a = React.useState(false), expanded = _a[0], setExpanded = _a[1];
|
|
1434
|
-
var innerCreateDefaultValue = React.useCallback(function () { return core.createDefaultValue(props.schema); }, [props.schema]);
|
|
1436
|
+
var innerCreateDefaultValue = React.useCallback(function () { return core.createDefaultValue(props.schema, props.rootSchema); }, [props.schema]);
|
|
1435
1437
|
var handleChange = React.useCallback(function (panel) { return function (_event, expandedPanel) {
|
|
1436
1438
|
setExpanded(expandedPanel ? panel : false);
|
|
1437
1439
|
}; }, []);
|