@jsonforms/material-renderers 3.1.0-beta.0 → 3.1.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/additional/ListWithDetailMasterItem.d.ts +1 -1
- package/lib/additional/MaterialListWithDetailRenderer.d.ts +1 -1
- package/lib/additional/unwrapped.d.ts +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/jsonforms-react-material.cjs.js +19 -17
- package/lib/jsonforms-react-material.cjs.js.map +1 -1
- package/lib/jsonforms-react-material.esm.js +19 -17
- package/lib/jsonforms-react-material.esm.js.map +1 -1
- package/lib/layouts/ArrayToolbar.d.ts +1 -0
- package/package.json +6 -6
- package/src/additional/ListWithDetailMasterItem.tsx +12 -9
- package/src/additional/MaterialListWithDetailRenderer.tsx +3 -0
- package/src/layouts/ArrayToolbar.tsx +39 -21
- package/src/layouts/ExpandPanelRenderer.tsx +13 -11
- package/src/layouts/MaterialArrayLayout.tsx +1 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { StatePropsOfMasterItem } from '@jsonforms/core';
|
|
2
2
|
import React from 'react';
|
|
3
|
-
export declare const ListWithDetailMasterItem: ({ index, childLabel, selected, handleSelect, removeItem, path, translations, }: StatePropsOfMasterItem) => JSX.Element;
|
|
3
|
+
export declare const ListWithDetailMasterItem: ({ index, childLabel, selected, enabled, handleSelect, removeItem, path, translations, }: StatePropsOfMasterItem) => JSX.Element;
|
|
4
4
|
declare const _default: React.ComponentType<import("@jsonforms/core").OwnPropsOfMasterListItem>;
|
|
5
5
|
export default _default;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ArrayLayoutProps, RankedTester } from '@jsonforms/core';
|
|
2
2
|
import React from 'react';
|
|
3
|
-
export declare const MaterialListWithDetailRenderer: ({ uischemas, schema, uischema, path, errors, visible, label, required, removeItems, addItem, data, renderers, cells, config, rootSchema, translations, }: ArrayLayoutProps) => JSX.Element;
|
|
3
|
+
export declare const MaterialListWithDetailRenderer: ({ uischemas, schema, uischema, path, enabled, errors, visible, label, required, removeItems, addItem, data, renderers, cells, config, rootSchema, translations, }: ArrayLayoutProps) => JSX.Element;
|
|
4
4
|
export declare const materialListWithDetailTester: RankedTester;
|
|
5
5
|
declare const _default: React.ComponentType<import("@jsonforms/core").OwnPropsOfControl>;
|
|
6
6
|
export default _default;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
export declare const UnwrappedAdditional: {
|
|
3
3
|
MaterialLabelRenderer: ({ text, visible }: import("@jsonforms/core").LabelProps) => JSX.Element;
|
|
4
|
-
MaterialListWithDetailRenderer: ({ uischemas, schema, uischema, path, errors, visible, label, required, removeItems, addItem, data, renderers, cells, config, rootSchema, translations, }: import("@jsonforms/core").ArrayLayoutProps) => JSX.Element;
|
|
4
|
+
MaterialListWithDetailRenderer: ({ uischemas, schema, uischema, path, enabled, errors, visible, label, required, removeItems, addItem, data, renderers, cells, config, rootSchema, translations, }: import("@jsonforms/core").ArrayLayoutProps) => JSX.Element;
|
|
5
5
|
};
|
package/lib/index.d.ts
CHANGED
|
@@ -38,5 +38,5 @@ export declare const Unwrapped: {
|
|
|
38
38
|
MaterialObjectRenderer: ({ renderers, cells, uischemas, schema, label, path, visible, enabled, uischema, rootSchema, }: import("@jsonforms/core").StatePropsOfControlWithDetail) => JSX.Element;
|
|
39
39
|
MaterialOneOfRenderer: ({ handleChange, schema, path, renderers, cells, rootSchema, id, visible, indexOfFittingSchema, uischema, uischemas, data, }: import("@jsonforms/core").CombinatorRendererProps) => JSX.Element;
|
|
40
40
|
MaterialLabelRenderer: ({ text, visible }: import("@jsonforms/core").LabelProps) => JSX.Element;
|
|
41
|
-
MaterialListWithDetailRenderer: ({ uischemas, schema, uischema, path, errors, visible, label, required, removeItems, addItem, data, renderers, cells, config, rootSchema, translations, }: import("@jsonforms/core").ArrayLayoutProps) => JSX.Element;
|
|
41
|
+
MaterialListWithDetailRenderer: ({ uischemas, schema, uischema, path, enabled, errors, visible, label, required, removeItems, addItem, data, renderers, cells, config, rootSchema, translations, }: import("@jsonforms/core").ArrayLayoutProps) => JSX.Element;
|
|
42
42
|
};
|
|
@@ -709,35 +709,37 @@ var MaterialLabelRenderer = function (_a) {
|
|
|
709
709
|
var MaterialLabelRenderer$1 = react.withJsonFormsLabelProps(MaterialLabelRenderer);
|
|
710
710
|
|
|
711
711
|
var ArrayLayoutToolbar = React__default["default"].memo(function ArrayLayoutToolbar(_a) {
|
|
712
|
-
var label = _a.label, errors = _a.errors, addItem = _a.addItem, path = _a.path, createDefault = _a.createDefault, translations = _a.translations;
|
|
712
|
+
var label = _a.label, errors = _a.errors, addItem = _a.addItem, path = _a.path, enabled = _a.enabled, createDefault = _a.createDefault, translations = _a.translations;
|
|
713
713
|
return (React__default["default"].createElement(material.Toolbar, { disableGutters: true },
|
|
714
714
|
React__default["default"].createElement(material.Grid, { container: true, alignItems: 'center', justifyContent: 'space-between' },
|
|
715
715
|
React__default["default"].createElement(material.Grid, { item: true },
|
|
716
|
-
React__default["default"].createElement(material.
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
716
|
+
React__default["default"].createElement(material.Grid, { container: true, justifyContent: 'flex-start', alignItems: 'center', spacing: 2 },
|
|
717
|
+
React__default["default"].createElement(material.Grid, { item: true },
|
|
718
|
+
React__default["default"].createElement(material.Typography, { variant: 'h6' }, label)),
|
|
719
|
+
React__default["default"].createElement(material.Grid, { item: true }, errors.length !== 0 && (React__default["default"].createElement(material.Grid, { item: true },
|
|
720
|
+
React__default["default"].createElement(ValidationIcon, { id: 'tooltip-validation', errorMessages: errors })))))),
|
|
721
|
+
enabled && (React__default["default"].createElement(material.Grid, { item: true },
|
|
720
722
|
React__default["default"].createElement(material.Grid, { container: true },
|
|
721
723
|
React__default["default"].createElement(material.Grid, { item: true },
|
|
722
724
|
React__default["default"].createElement(material.Tooltip, { id: 'tooltip-add', title: translations.addTooltip, placement: 'bottom' },
|
|
723
|
-
React__default["default"].createElement(material.IconButton, { "aria-label": translations.
|
|
724
|
-
React__default["default"].createElement(AddIcon__default["default"], null)))))))));
|
|
725
|
+
React__default["default"].createElement(material.IconButton, { "aria-label": translations.addTooltip, onClick: addItem(path, createDefault()), size: 'large' },
|
|
726
|
+
React__default["default"].createElement(AddIcon__default["default"], null))))))))));
|
|
725
727
|
});
|
|
726
728
|
|
|
727
729
|
var ListWithDetailMasterItem = function (_a) {
|
|
728
|
-
var index = _a.index, childLabel = _a.childLabel, selected = _a.selected, handleSelect = _a.handleSelect, removeItem = _a.removeItem, path = _a.path, translations = _a.translations;
|
|
730
|
+
var index = _a.index, childLabel = _a.childLabel, selected = _a.selected, enabled = _a.enabled, handleSelect = _a.handleSelect, removeItem = _a.removeItem, path = _a.path, translations = _a.translations;
|
|
729
731
|
return (React__default["default"].createElement(material.ListItem, { button: true, selected: selected, onClick: handleSelect(index) },
|
|
730
732
|
React__default["default"].createElement(material.ListItemAvatar, null,
|
|
731
733
|
React__default["default"].createElement(material.Avatar, { "aria-label": 'Index' }, index + 1)),
|
|
732
734
|
React__default["default"].createElement(material.ListItemText, { primary: childLabel }),
|
|
733
|
-
React__default["default"].createElement(material.ListItemSecondaryAction, null,
|
|
735
|
+
enabled && (React__default["default"].createElement(material.ListItemSecondaryAction, null,
|
|
734
736
|
React__default["default"].createElement(material.IconButton, { "aria-label": translations.removeAriaLabel, onClick: removeItem(path, index), size: 'large' },
|
|
735
|
-
React__default["default"].createElement(DeleteIcon__default["default"], null)))));
|
|
737
|
+
React__default["default"].createElement(DeleteIcon__default["default"], null))))));
|
|
736
738
|
};
|
|
737
739
|
var ListWithDetailMasterItem$1 = react.withJsonFormsMasterListItemProps(ListWithDetailMasterItem);
|
|
738
740
|
|
|
739
741
|
var MaterialListWithDetailRenderer = function (_a) {
|
|
740
|
-
var uischemas = _a.uischemas, schema = _a.schema, uischema = _a.uischema, path = _a.path, errors = _a.errors, visible = _a.visible, label = _a.label, required = _a.required, removeItems = _a.removeItems, addItem = _a.addItem, data = _a.data, renderers = _a.renderers, cells = _a.cells, config = _a.config, rootSchema = _a.rootSchema, translations = _a.translations;
|
|
742
|
+
var uischemas = _a.uischemas, schema = _a.schema, uischema = _a.uischema, path = _a.path, enabled = _a.enabled, errors = _a.errors, visible = _a.visible, label = _a.label, required = _a.required, removeItems = _a.removeItems, addItem = _a.addItem, data = _a.data, renderers = _a.renderers, cells = _a.cells, config = _a.config, rootSchema = _a.rootSchema, translations = _a.translations;
|
|
741
743
|
var _b = React.useState(undefined), selectedIndex = _b[0], setSelectedIndex = _b[1];
|
|
742
744
|
var handleRemoveItem = React.useCallback(function (p, value) { return function () {
|
|
743
745
|
removeItems(p, [value])();
|
|
@@ -758,10 +760,10 @@ var MaterialListWithDetailRenderer = function (_a) {
|
|
|
758
760
|
setSelectedIndex(undefined);
|
|
759
761
|
}, [schema]);
|
|
760
762
|
return (React__default["default"].createElement(material.Hidden, { xsUp: !visible },
|
|
761
|
-
React__default["default"].createElement(ArrayLayoutToolbar, { translations: translations, label: core.computeLabel(label, required, appliedUiSchemaOptions.hideRequiredAsterisk), errors: errors, path: path, addItem: addItem, createDefault: handleCreateDefaultValue }),
|
|
763
|
+
React__default["default"].createElement(ArrayLayoutToolbar, { translations: translations, label: core.computeLabel(label, required, appliedUiSchemaOptions.hideRequiredAsterisk), errors: errors, path: path, enabled: enabled, addItem: addItem, createDefault: handleCreateDefaultValue }),
|
|
762
764
|
React__default["default"].createElement(material.Grid, { container: true, direction: 'row', spacing: 2 },
|
|
763
765
|
React__default["default"].createElement(material.Grid, { item: true, xs: 3 },
|
|
764
|
-
React__default["default"].createElement(material.List, null, data > 0 ? (map__default["default"](range__default["default"](data), function (index) { return (React__default["default"].createElement(ListWithDetailMasterItem$1, { index: index, path: path, schema: schema, handleSelect: handleListItemClick, removeItem: handleRemoveItem, selected: selectedIndex === index, key: index, translations: translations })); })) : (React__default["default"].createElement("p", null, "No data")))),
|
|
766
|
+
React__default["default"].createElement(material.List, null, data > 0 ? (map__default["default"](range__default["default"](data), function (index) { return (React__default["default"].createElement(ListWithDetailMasterItem$1, { index: index, path: path, schema: schema, enabled: enabled, handleSelect: handleListItemClick, removeItem: handleRemoveItem, selected: selectedIndex === index, key: index, translations: translations })); })) : (React__default["default"].createElement("p", null, "No data")))),
|
|
765
767
|
React__default["default"].createElement(material.Grid, { item: true, xs: true }, selectedIndex !== undefined ? (React__default["default"].createElement(react.JsonFormsDispatch, { renderers: renderers, cells: cells, visible: visible, schema: schema, uischema: foundUISchema, path: core.composePaths(path, "" + selectedIndex) })) : (React__default["default"].createElement(material.Typography, { variant: 'h6' }, translations.noSelection))))));
|
|
766
768
|
};
|
|
767
769
|
var materialListWithDetailTester = core.rankWith(4, core.and(core.uiTypeIs('ListWithDetail'), core.isObjectArray));
|
|
@@ -1211,16 +1213,16 @@ var ExpandPanelRendererComponent = function (props) {
|
|
|
1211
1213
|
React__default["default"].createElement(material.Grid, { container: true, justifyContent: 'flex-end' },
|
|
1212
1214
|
React__default["default"].createElement(material.Grid, { item: true },
|
|
1213
1215
|
React__default["default"].createElement(material.Grid, { container: true, direction: 'row', justifyContent: 'center', alignItems: 'center' },
|
|
1214
|
-
showSortButtons ? (React__default["default"].createElement(React.Fragment, null,
|
|
1216
|
+
showSortButtons && enabled ? (React__default["default"].createElement(React.Fragment, null,
|
|
1215
1217
|
React__default["default"].createElement(material.Grid, { item: true },
|
|
1216
1218
|
React__default["default"].createElement(material.IconButton, { onClick: moveUp(path, index), style: iconStyle, disabled: !enableMoveUp, "aria-label": translations.upAriaLabel, size: 'large' },
|
|
1217
1219
|
React__default["default"].createElement(ArrowUpward__default["default"], null))),
|
|
1218
1220
|
React__default["default"].createElement(material.Grid, { item: true },
|
|
1219
1221
|
React__default["default"].createElement(material.IconButton, { onClick: moveDown(path, index), style: iconStyle, disabled: !enableMoveDown, "aria-label": translations.downAriaLabel, size: 'large' },
|
|
1220
1222
|
React__default["default"].createElement(ArrowDownward__default["default"], null))))) : (''),
|
|
1221
|
-
React__default["default"].createElement(material.Grid, { item: true },
|
|
1223
|
+
enabled && (React__default["default"].createElement(material.Grid, { item: true },
|
|
1222
1224
|
React__default["default"].createElement(material.IconButton, { onClick: removeItems(path, [index]), style: iconStyle, "aria-label": translations.removeAriaLabel, size: 'large' },
|
|
1223
|
-
React__default["default"].createElement(DeleteIcon__default["default"], null))))))))),
|
|
1225
|
+
React__default["default"].createElement(DeleteIcon__default["default"], null)))))))))),
|
|
1224
1226
|
React__default["default"].createElement(material.AccordionDetails, null,
|
|
1225
1227
|
React__default["default"].createElement(react.JsonFormsDispatch, { enabled: enabled, schema: schema, uischema: foundUISchema, path: childPath, key: childPath, renderers: renderers, cells: cells }))));
|
|
1226
1228
|
};
|
|
@@ -1386,7 +1388,7 @@ var MaterialArrayLayoutComponent = function (props) {
|
|
|
1386
1388
|
var enabled = props.enabled, data = props.data, path = props.path, schema = props.schema, uischema = props.uischema, errors = props.errors, addItem = props.addItem, renderers = props.renderers, cells = props.cells, label = props.label, required = props.required, rootSchema = props.rootSchema, config = props.config, uischemas = props.uischemas, translations = props.translations;
|
|
1387
1389
|
var appliedUiSchemaOptions = merge__default["default"]({}, config, props.uischema.options);
|
|
1388
1390
|
return (React__default["default"].createElement("div", null,
|
|
1389
|
-
React__default["default"].createElement(ArrayLayoutToolbar, { translations: translations, label: core.computeLabel(label, required, appliedUiSchemaOptions.hideRequiredAsterisk), errors: errors, path: path, addItem: addItem, createDefault: innerCreateDefaultValue }),
|
|
1391
|
+
React__default["default"].createElement(ArrayLayoutToolbar, { translations: translations, label: core.computeLabel(label, required, appliedUiSchemaOptions.hideRequiredAsterisk), errors: errors, path: path, enabled: enabled, addItem: addItem, createDefault: innerCreateDefaultValue }),
|
|
1390
1392
|
React__default["default"].createElement("div", null, data > 0 ? (map__default["default"](range__default["default"](data), function (index) {
|
|
1391
1393
|
return (React__default["default"].createElement(ExpandPanelRenderer$1, { enabled: enabled, index: index, expanded: isExpanded(index), schema: schema, path: path, handleExpansion: handleChange, uischema: uischema, renderers: renderers, cells: cells, key: index, rootSchema: rootSchema, enableMoveUp: index != 0, enableMoveDown: index < data - 1, config: config, childLabelProp: appliedUiSchemaOptions.elementLabelProp, uischemas: uischemas, translations: translations }));
|
|
1392
1394
|
})) : (React__default["default"].createElement("p", null, "No data")))));
|