@jsonforms/material-renderers 3.3.0 → 3.4.0-alpha.1
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/complex/MaterialTableControl.d.ts +2 -1
- package/lib/complex/TableToolbar.d.ts +1 -0
- package/lib/index.d.ts +1 -1
- package/lib/jsonforms-react-material.cjs.js +62 -38
- package/lib/jsonforms-react-material.cjs.js.map +1 -1
- package/lib/jsonforms-react-material.esm.js +50 -32
- package/lib/jsonforms-react-material.esm.js.map +1 -1
- package/lib/layouts/ArrayToolbar.d.ts +1 -0
- package/lib/layouts/ExpandPanelRenderer.d.ts +1 -0
- package/lib/mui-controls/MuiSelect.d.ts +2 -2
- package/lib/util/theme.d.ts +3 -0
- package/package.json +7 -7
- package/src/additional/ListWithDetailMasterItem.tsx +3 -2
- package/src/additional/MaterialListWithDetailRenderer.tsx +6 -0
- package/src/complex/MaterialTableControl.tsx +34 -19
- package/src/complex/TableToolbar.tsx +4 -2
- package/src/complex/ValidationIcon.tsx +1 -1
- package/src/layouts/ArrayToolbar.tsx +3 -1
- package/src/layouts/ExpandPanelRenderer.tsx +41 -22
- package/src/layouts/MaterialArrayLayout.tsx +6 -0
- package/src/mui-controls/MuiInputText.tsx +1 -1
- package/src/mui-controls/MuiSelect.tsx +8 -2
- package/src/util/theme.ts +4 -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, enabled, handleSelect, removeItem, path, translations, }: StatePropsOfMasterItem) => React.JSX.Element;
|
|
3
|
+
export declare const ListWithDetailMasterItem: ({ index, childLabel, selected, enabled, handleSelect, removeItem, path, translations, disableRemove, }: StatePropsOfMasterItem) => React.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, enabled, errors, visible, label, required, removeItems, addItem, data, renderers, cells, config, rootSchema, translations, description, }: ArrayLayoutProps) => React.JSX.Element;
|
|
3
|
+
export declare const MaterialListWithDetailRenderer: ({ uischemas, schema, uischema, path, enabled, errors, visible, label, required, removeItems, addItem, data, renderers, cells, config, rootSchema, translations, description, disableAdd, disableRemove, }: ArrayLayoutProps) => React.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) => import("react").JSX.Element;
|
|
4
|
-
MaterialListWithDetailRenderer: ({ uischemas, schema, uischema, path, enabled, errors, visible, label, required, removeItems, addItem, data, renderers, cells, config, rootSchema, translations, description, }: import("@jsonforms/core").ArrayLayoutProps) => import("react").JSX.Element;
|
|
4
|
+
MaterialListWithDetailRenderer: ({ uischemas, schema, uischema, path, enabled, errors, visible, label, required, removeItems, addItem, data, renderers, cells, config, rootSchema, translations, description, disableAdd, disableRemove, }: import("@jsonforms/core").ArrayLayoutProps) => import("react").JSX.Element;
|
|
5
5
|
};
|
|
@@ -18,8 +18,9 @@ interface NonEmptyRowProps {
|
|
|
18
18
|
cells?: JsonFormsCellRendererRegistryEntry[];
|
|
19
19
|
path: string;
|
|
20
20
|
translations: ArrayTranslations;
|
|
21
|
+
disableRemove?: boolean;
|
|
21
22
|
}
|
|
22
|
-
export declare const NonEmptyRow: React.MemoExoticComponent<({ childPath, schema, rowIndex, openDeleteDialog, moveUpCreator, moveDownCreator, enableUp, enableDown, showSortButtons, enabled, cells, path, translations, }: NonEmptyRowProps & WithDeleteDialogSupport) => React.JSX.Element>;
|
|
23
|
+
export declare const NonEmptyRow: React.MemoExoticComponent<({ childPath, schema, rowIndex, openDeleteDialog, moveUpCreator, moveDownCreator, enableUp, enableDown, showSortButtons, enabled, cells, path, translations, disableRemove, }: NonEmptyRowProps & WithDeleteDialogSupport) => React.JSX.Element>;
|
|
23
24
|
export declare class MaterialTableControl extends React.Component<ArrayLayoutProps & WithDeleteDialogSupport, any> {
|
|
24
25
|
addItem: (path: string, value: any) => () => void;
|
|
25
26
|
render(): React.JSX.Element;
|
|
@@ -12,6 +12,7 @@ export interface MaterialTableToolbarProps {
|
|
|
12
12
|
enabled: boolean;
|
|
13
13
|
translations: ArrayTranslations;
|
|
14
14
|
addItem(path: string, value: any): () => void;
|
|
15
|
+
disableAdd?: boolean;
|
|
15
16
|
}
|
|
16
17
|
declare const TableToolbar: React.NamedExoticComponent<MaterialTableToolbarProps>;
|
|
17
18
|
export default TableToolbar;
|
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) => import("react").JSX.Element;
|
|
39
39
|
MaterialOneOfRenderer: ({ handleChange, schema, path, renderers, cells, rootSchema, id, visible, indexOfFittingSchema, uischema, uischemas, data, }: import("@jsonforms/core").CombinatorRendererProps) => import("react").JSX.Element;
|
|
40
40
|
MaterialLabelRenderer: ({ text, visible }: import("@jsonforms/core").LabelProps) => import("react").JSX.Element;
|
|
41
|
-
MaterialListWithDetailRenderer: ({ uischemas, schema, uischema, path, enabled, errors, visible, label, required, removeItems, addItem, data, renderers, cells, config, rootSchema, translations, description, }: import("@jsonforms/core").ArrayLayoutProps) => import("react").JSX.Element;
|
|
41
|
+
MaterialListWithDetailRenderer: ({ uischemas, schema, uischema, path, enabled, errors, visible, label, required, removeItems, addItem, data, renderers, cells, config, rootSchema, translations, description, disableAdd, disableRemove, }: import("@jsonforms/core").ArrayLayoutProps) => import("react").JSX.Element;
|
|
42
42
|
};
|
|
@@ -11,16 +11,21 @@ var isEmpty = require('lodash/isEmpty');
|
|
|
11
11
|
var union = require('lodash/union');
|
|
12
12
|
var startCase = require('lodash/startCase');
|
|
13
13
|
var range = require('lodash/range');
|
|
14
|
-
var
|
|
14
|
+
var DeleteIcon = require('@mui/icons-material/Delete');
|
|
15
|
+
var ArrowDownward = require('@mui/icons-material/ArrowDownward');
|
|
16
|
+
var ArrowUpward = require('@mui/icons-material/ArrowUpward');
|
|
15
17
|
var styles$1 = require('@mui/material/styles');
|
|
18
|
+
var AddIcon = require('@mui/icons-material/Add');
|
|
19
|
+
var ErrorOutlineIcon = require('@mui/icons-material/ErrorOutline');
|
|
16
20
|
var merge = require('lodash/merge');
|
|
17
21
|
var dayjs = require('dayjs');
|
|
18
22
|
var customParsing = require('dayjs/plugin/customParseFormat');
|
|
19
23
|
var debounce = require('lodash/debounce');
|
|
24
|
+
var Close = require('@mui/icons-material/Close');
|
|
20
25
|
var map = require('lodash/map');
|
|
21
|
-
var AddIcon = require('@mui/icons-material/Add');
|
|
22
26
|
var xDatePickers = require('@mui/x-date-pickers');
|
|
23
27
|
var AdapterDayjs = require('@mui/x-date-pickers/AdapterDayjs');
|
|
28
|
+
var ExpandMoreIcon = require('@mui/icons-material/ExpandMore');
|
|
24
29
|
|
|
25
30
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
26
31
|
|
|
@@ -30,12 +35,18 @@ var isEmpty__default = /*#__PURE__*/_interopDefaultLegacy(isEmpty);
|
|
|
30
35
|
var union__default = /*#__PURE__*/_interopDefaultLegacy(union);
|
|
31
36
|
var startCase__default = /*#__PURE__*/_interopDefaultLegacy(startCase);
|
|
32
37
|
var range__default = /*#__PURE__*/_interopDefaultLegacy(range);
|
|
38
|
+
var DeleteIcon__default = /*#__PURE__*/_interopDefaultLegacy(DeleteIcon);
|
|
39
|
+
var ArrowDownward__default = /*#__PURE__*/_interopDefaultLegacy(ArrowDownward);
|
|
40
|
+
var ArrowUpward__default = /*#__PURE__*/_interopDefaultLegacy(ArrowUpward);
|
|
41
|
+
var AddIcon__default = /*#__PURE__*/_interopDefaultLegacy(AddIcon);
|
|
42
|
+
var ErrorOutlineIcon__default = /*#__PURE__*/_interopDefaultLegacy(ErrorOutlineIcon);
|
|
33
43
|
var merge__default = /*#__PURE__*/_interopDefaultLegacy(merge);
|
|
34
44
|
var dayjs__default = /*#__PURE__*/_interopDefaultLegacy(dayjs);
|
|
35
45
|
var customParsing__default = /*#__PURE__*/_interopDefaultLegacy(customParsing);
|
|
36
46
|
var debounce__default = /*#__PURE__*/_interopDefaultLegacy(debounce);
|
|
47
|
+
var Close__default = /*#__PURE__*/_interopDefaultLegacy(Close);
|
|
37
48
|
var map__default = /*#__PURE__*/_interopDefaultLegacy(map);
|
|
38
|
-
var
|
|
49
|
+
var ExpandMoreIcon__default = /*#__PURE__*/_interopDefaultLegacy(ExpandMoreIcon);
|
|
39
50
|
|
|
40
51
|
/******************************************************************************
|
|
41
52
|
Copyright (c) Microsoft Corporation.
|
|
@@ -202,7 +213,7 @@ var ValidationIcon = function (_a) {
|
|
|
202
213
|
var errorMessages = _a.errorMessages, id = _a.id;
|
|
203
214
|
return (React__default["default"].createElement(material.Tooltip, { id: id, title: errorMessages },
|
|
204
215
|
React__default["default"].createElement(StyledBadge, { badgeContent: errorMessages.split('\n').length },
|
|
205
|
-
React__default["default"].createElement(
|
|
216
|
+
React__default["default"].createElement(ErrorOutlineIcon__default["default"], { color: 'inherit' }))));
|
|
206
217
|
};
|
|
207
218
|
|
|
208
219
|
var fixedCellSmall = {
|
|
@@ -210,7 +221,7 @@ var fixedCellSmall = {
|
|
|
210
221
|
paddingRight: 0,
|
|
211
222
|
};
|
|
212
223
|
var TableToolbar = React__default["default"].memo(function TableToolbar(_a) {
|
|
213
|
-
var numColumns = _a.numColumns, errors = _a.errors, label = _a.label, description = _a.description, path = _a.path, addItem = _a.addItem, schema = _a.schema, enabled = _a.enabled, translations = _a.translations, rootSchema = _a.rootSchema;
|
|
224
|
+
var numColumns = _a.numColumns, errors = _a.errors, label = _a.label, description = _a.description, path = _a.path, addItem = _a.addItem, schema = _a.schema, enabled = _a.enabled, translations = _a.translations, rootSchema = _a.rootSchema, disableAdd = _a.disableAdd;
|
|
214
225
|
return (React__default["default"].createElement(material.TableRow, null,
|
|
215
226
|
React__default["default"].createElement(NoBorderTableCell, { colSpan: numColumns },
|
|
216
227
|
React__default["default"].createElement(material.Stack, null,
|
|
@@ -220,10 +231,10 @@ var TableToolbar = React__default["default"].memo(function TableToolbar(_a) {
|
|
|
220
231
|
React__default["default"].createElement(material.Grid, { item: true }, errors.length !== 0 && (React__default["default"].createElement(material.Grid, { item: true },
|
|
221
232
|
React__default["default"].createElement(ValidationIcon, { id: 'tooltip-validation', errorMessages: errors }))))),
|
|
222
233
|
description && React__default["default"].createElement(material.FormHelperText, null, description))),
|
|
223
|
-
enabled ? (React__default["default"].createElement(NoBorderTableCell, { align: 'right', style: fixedCellSmall },
|
|
234
|
+
enabled && !disableAdd ? (React__default["default"].createElement(NoBorderTableCell, { align: 'right', style: fixedCellSmall },
|
|
224
235
|
React__default["default"].createElement(material.Tooltip, { id: 'tooltip-add', title: translations.addTooltip, placement: 'bottom' },
|
|
225
236
|
React__default["default"].createElement(material.IconButton, { "aria-label": translations.addAriaLabel, onClick: addItem(path, core.createDefaultValue(schema, rootSchema)), size: 'large' },
|
|
226
|
-
React__default["default"].createElement(
|
|
237
|
+
React__default["default"].createElement(AddIcon__default["default"], null))))) : null));
|
|
227
238
|
});
|
|
228
239
|
|
|
229
240
|
var styles = {
|
|
@@ -320,7 +331,7 @@ var NonEmptyCell = function (ownProps) {
|
|
|
320
331
|
return React__default["default"].createElement(NonEmptyCellComponent, __assign({}, emptyCellProps, { isValid: isValid }));
|
|
321
332
|
};
|
|
322
333
|
var NonEmptyRowComponent = function (_a) {
|
|
323
|
-
var childPath = _a.childPath, schema = _a.schema, rowIndex = _a.rowIndex, openDeleteDialog = _a.openDeleteDialog, moveUpCreator = _a.moveUpCreator, moveDownCreator = _a.moveDownCreator, enableUp = _a.enableUp, enableDown = _a.enableDown, showSortButtons = _a.showSortButtons, enabled = _a.enabled, cells = _a.cells, path = _a.path, translations = _a.translations;
|
|
334
|
+
var childPath = _a.childPath, schema = _a.schema, rowIndex = _a.rowIndex, openDeleteDialog = _a.openDeleteDialog, moveUpCreator = _a.moveUpCreator, moveDownCreator = _a.moveDownCreator, enableUp = _a.enableUp, enableDown = _a.enableDown, showSortButtons = _a.showSortButtons, enabled = _a.enabled, cells = _a.cells, path = _a.path, translations = _a.translations, disableRemove = _a.disableRemove;
|
|
324
335
|
var moveUp = React.useMemo(function () { return moveUpCreator(path, rowIndex); }, [moveUpCreator, path, rowIndex]);
|
|
325
336
|
var moveDown = React.useMemo(function () { return moveDownCreator(path, rowIndex); }, [moveDownCreator, path, rowIndex]);
|
|
326
337
|
return (React__default["default"].createElement(material.TableRow, { key: childPath, hover: true },
|
|
@@ -331,19 +342,19 @@ var NonEmptyRowComponent = function (_a) {
|
|
|
331
342
|
React__default["default"].createElement(material.Grid, { item: true },
|
|
332
343
|
React__default["default"].createElement(material.Tooltip, { id: 'tooltip-up', title: translations.up, placement: 'bottom', open: enableUp ? undefined : false },
|
|
333
344
|
React__default["default"].createElement(material.IconButton, { "aria-label": translations.upAriaLabel, onClick: moveUp, disabled: !enableUp, size: 'large' },
|
|
334
|
-
React__default["default"].createElement(
|
|
345
|
+
React__default["default"].createElement(ArrowUpward__default["default"], null)))),
|
|
335
346
|
React__default["default"].createElement(material.Grid, { item: true },
|
|
336
347
|
React__default["default"].createElement(material.Tooltip, { id: 'tooltip-down', title: translations.down, placement: 'bottom', open: enableDown ? undefined : false },
|
|
337
348
|
React__default["default"].createElement(material.IconButton, { "aria-label": translations.downAriaLabel, onClick: moveDown, disabled: !enableDown, size: 'large' },
|
|
338
|
-
React__default["default"].createElement(
|
|
339
|
-
React__default["default"].createElement(material.Grid, { item: true },
|
|
349
|
+
React__default["default"].createElement(ArrowDownward__default["default"], null)))))) : null,
|
|
350
|
+
!disableRemove ? (React__default["default"].createElement(material.Grid, { item: true },
|
|
340
351
|
React__default["default"].createElement(material.Tooltip, { id: 'tooltip-remove', title: translations.removeTooltip, placement: 'bottom' },
|
|
341
352
|
React__default["default"].createElement(material.IconButton, { "aria-label": translations.removeAriaLabel, onClick: function () { return openDeleteDialog(childPath, rowIndex); }, size: 'large' },
|
|
342
|
-
React__default["default"].createElement(
|
|
353
|
+
React__default["default"].createElement(DeleteIcon__default["default"], null))))) : null))) : null));
|
|
343
354
|
};
|
|
344
355
|
var NonEmptyRow = React__default["default"].memo(NonEmptyRowComponent);
|
|
345
356
|
var TableRows = function (_a) {
|
|
346
|
-
var data = _a.data, path = _a.path, schema = _a.schema, openDeleteDialog = _a.openDeleteDialog, moveUp = _a.moveUp, moveDown = _a.moveDown, uischema = _a.uischema, config = _a.config, enabled = _a.enabled, cells = _a.cells, translations = _a.translations;
|
|
357
|
+
var data = _a.data, path = _a.path, schema = _a.schema, openDeleteDialog = _a.openDeleteDialog, moveUp = _a.moveUp, moveDown = _a.moveDown, uischema = _a.uischema, config = _a.config, enabled = _a.enabled, cells = _a.cells, translations = _a.translations, disableRemove = _a.disableRemove;
|
|
347
358
|
var isEmptyTable = data === 0;
|
|
348
359
|
if (isEmptyTable) {
|
|
349
360
|
return (React__default["default"].createElement(EmptyTable, { numColumns: getValidColumnProps(schema).length + 1, translations: translations }));
|
|
@@ -352,7 +363,7 @@ var TableRows = function (_a) {
|
|
|
352
363
|
return (React__default["default"].createElement(React__default["default"].Fragment, null, range__default["default"](data).map(function (index) {
|
|
353
364
|
var childPath = core.Paths.compose(path, "".concat(index));
|
|
354
365
|
return (React__default["default"].createElement(NonEmptyRow, { key: childPath, childPath: childPath, rowIndex: index, schema: schema, openDeleteDialog: openDeleteDialog, moveUpCreator: moveUp, moveDownCreator: moveDown, enableUp: index !== 0, enableDown: index !== data - 1, showSortButtons: appliedUiSchemaOptions.showSortButtons ||
|
|
355
|
-
appliedUiSchemaOptions.showArrayTableSortButtons, enabled: enabled, cells: cells, path: path, translations: translations }));
|
|
366
|
+
appliedUiSchemaOptions.showArrayTableSortButtons, enabled: enabled, cells: cells, path: path, translations: translations, disableRemove: disableRemove }));
|
|
356
367
|
})));
|
|
357
368
|
};
|
|
358
369
|
var MaterialTableControl = (function (_super) {
|
|
@@ -363,7 +374,10 @@ var MaterialTableControl = (function (_super) {
|
|
|
363
374
|
return _this;
|
|
364
375
|
}
|
|
365
376
|
MaterialTableControl.prototype.render = function () {
|
|
366
|
-
var _a = this.props, label = _a.label, description = _a.description, path = _a.path, schema = _a.schema, rootSchema = _a.rootSchema, uischema = _a.uischema, errors = _a.errors, openDeleteDialog = _a.openDeleteDialog, visible = _a.visible, enabled = _a.enabled, cells = _a.cells, translations = _a.translations;
|
|
377
|
+
var _a = this.props, label = _a.label, description = _a.description, path = _a.path, schema = _a.schema, rootSchema = _a.rootSchema, uischema = _a.uischema, errors = _a.errors, openDeleteDialog = _a.openDeleteDialog, visible = _a.visible, enabled = _a.enabled, cells = _a.cells, translations = _a.translations, disableAdd = _a.disableAdd, disableRemove = _a.disableRemove, config = _a.config;
|
|
378
|
+
var appliedUiSchemaOptions = merge__default["default"]({}, config, uischema.options);
|
|
379
|
+
var doDisableAdd = disableAdd || appliedUiSchemaOptions.disableAdd;
|
|
380
|
+
var doDisableRemove = disableRemove || appliedUiSchemaOptions.disableRemove;
|
|
367
381
|
var controlElement = uischema;
|
|
368
382
|
var isObjectSchema = schema.type === 'object';
|
|
369
383
|
var headerCells = isObjectSchema
|
|
@@ -374,12 +388,12 @@ var MaterialTableControl = (function (_super) {
|
|
|
374
388
|
}
|
|
375
389
|
return (React__default["default"].createElement(material.Table, null,
|
|
376
390
|
React__default["default"].createElement(material.TableHead, null,
|
|
377
|
-
React__default["default"].createElement(TableToolbar, { errors: errors, label: label, description: description, addItem: this.addItem, numColumns: isObjectSchema ? headerCells.length : 1, path: path, uischema: controlElement, schema: schema, rootSchema: rootSchema, enabled: enabled, translations: translations }),
|
|
391
|
+
React__default["default"].createElement(TableToolbar, { errors: errors, label: label, description: description, addItem: this.addItem, numColumns: isObjectSchema ? headerCells.length : 1, path: path, uischema: controlElement, schema: schema, rootSchema: rootSchema, enabled: enabled, translations: translations, disableAdd: doDisableAdd }),
|
|
378
392
|
isObjectSchema && (React__default["default"].createElement(material.TableRow, null,
|
|
379
393
|
headerCells,
|
|
380
394
|
enabled ? React__default["default"].createElement(material.TableCell, null) : null))),
|
|
381
395
|
React__default["default"].createElement(material.TableBody, null,
|
|
382
|
-
React__default["default"].createElement(TableRows, __assign({ openDeleteDialog: openDeleteDialog, translations: translations }, this.props)))));
|
|
396
|
+
React__default["default"].createElement(TableRows, __assign({ openDeleteDialog: openDeleteDialog, translations: translations }, this.props, { disableRemove: doDisableRemove })))));
|
|
383
397
|
};
|
|
384
398
|
return MaterialTableControl;
|
|
385
399
|
}(React__default["default"].Component));
|
|
@@ -671,7 +685,7 @@ var MuiInputText = React__default["default"].memo(function MuiInputText(props) {
|
|
|
671
685
|
right: 0,
|
|
672
686
|
} },
|
|
673
687
|
React__default["default"].createElement(material.IconButton, { "aria-label": 'Clear input field', onClick: onClear, size: 'large' },
|
|
674
|
-
React__default["default"].createElement(
|
|
688
|
+
React__default["default"].createElement(Close__default["default"], { style: closeStyle }))), inputComponent: inputComponent }));
|
|
675
689
|
});
|
|
676
690
|
|
|
677
691
|
var MuiInputTime = React__default["default"].memo(function MuiInputTime(props) {
|
|
@@ -683,10 +697,10 @@ var MuiInputTime = React__default["default"].memo(function MuiInputTime(props) {
|
|
|
683
697
|
});
|
|
684
698
|
|
|
685
699
|
var MuiSelect = React__default["default"].memo(function MuiSelect(props) {
|
|
686
|
-
var data = props.data, className = props.className, id = props.id, enabled = props.enabled, schema = props.schema, uischema = props.uischema, path = props.path, handleChange = props.handleChange, options = props.options, config = props.config, label = props.label, t = props.t;
|
|
700
|
+
var data = props.data, className = props.className, id = props.id, enabled = props.enabled, schema = props.schema, uischema = props.uischema, path = props.path, handleChange = props.handleChange, options = props.options, config = props.config, label = props.label, t = props.t, multiple = props.multiple;
|
|
687
701
|
var appliedUiSchemaOptions = merge__default["default"]({}, config, uischema.options);
|
|
688
702
|
var noneOptionLabel = React.useMemo(function () { return t('enum.none', i18nDefaults['enum.none'], { schema: schema, uischema: uischema, path: path }); }, [t, schema, uischema, path]);
|
|
689
|
-
return (React__default["default"].createElement(material.Select, { className: className, id: id, label: label, disabled: !enabled, autoFocus: appliedUiSchemaOptions.focus, value: data !== undefined ? data : '', onChange: function (ev) { return handleChange(path, ev.target.value || undefined); }, fullWidth: true }, [
|
|
703
|
+
return (React__default["default"].createElement(material.Select, { className: className, id: id, label: label, disabled: !enabled, autoFocus: appliedUiSchemaOptions.focus, value: data !== undefined ? data : '', onChange: function (ev) { return handleChange(path, ev.target.value || undefined); }, fullWidth: true, multiple: multiple || false }, [
|
|
690
704
|
React__default["default"].createElement(material.MenuItem, { value: '', key: 'jsonforms.enum.none' },
|
|
691
705
|
React__default["default"].createElement("em", null, noneOptionLabel)),
|
|
692
706
|
].concat(options.map(function (optionValue) { return (React__default["default"].createElement(material.MenuItem, { value: optionValue.value, key: optionValue.value }, optionValue.label)); }))));
|
|
@@ -817,7 +831,7 @@ var MaterialLabelRenderer = function (_a) {
|
|
|
817
831
|
var MaterialLabelRenderer$1 = react.withJsonFormsLabelProps(MaterialLabelRenderer);
|
|
818
832
|
|
|
819
833
|
var ArrayLayoutToolbar = React__default["default"].memo(function ArrayLayoutToolbar(_a) {
|
|
820
|
-
var label = _a.label, description = _a.description, errors = _a.errors, addItem = _a.addItem, path = _a.path, enabled = _a.enabled, createDefault = _a.createDefault, translations = _a.translations;
|
|
834
|
+
var label = _a.label, description = _a.description, errors = _a.errors, addItem = _a.addItem, path = _a.path, enabled = _a.enabled, createDefault = _a.createDefault, translations = _a.translations, disableAdd = _a.disableAdd;
|
|
821
835
|
return (React__default["default"].createElement(material.Toolbar, { disableGutters: true },
|
|
822
836
|
React__default["default"].createElement(material.Stack, null,
|
|
823
837
|
React__default["default"].createElement(material.Grid, { container: true, alignItems: 'center', justifyContent: 'space-between' },
|
|
@@ -827,7 +841,7 @@ var ArrayLayoutToolbar = React__default["default"].memo(function ArrayLayoutTool
|
|
|
827
841
|
React__default["default"].createElement(material.Typography, { variant: 'h6' }, label)),
|
|
828
842
|
React__default["default"].createElement(material.Grid, { item: true }, errors.length !== 0 && (React__default["default"].createElement(material.Grid, { item: true },
|
|
829
843
|
React__default["default"].createElement(ValidationIcon, { id: 'tooltip-validation', errorMessages: errors })))))),
|
|
830
|
-
enabled && (React__default["default"].createElement(material.Grid, { item: true },
|
|
844
|
+
enabled && !disableAdd && (React__default["default"].createElement(material.Grid, { item: true },
|
|
831
845
|
React__default["default"].createElement(material.Grid, { container: true },
|
|
832
846
|
React__default["default"].createElement(material.Grid, { item: true },
|
|
833
847
|
React__default["default"].createElement(material.Tooltip, { id: 'tooltip-add', title: translations.addTooltip, placement: 'bottom' },
|
|
@@ -837,20 +851,20 @@ var ArrayLayoutToolbar = React__default["default"].memo(function ArrayLayoutTool
|
|
|
837
851
|
});
|
|
838
852
|
|
|
839
853
|
var ListWithDetailMasterItem = function (_a) {
|
|
840
|
-
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;
|
|
854
|
+
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, disableRemove = _a.disableRemove;
|
|
841
855
|
return (React__default["default"].createElement(material.ListItem, { button: true, selected: selected, onClick: handleSelect(index) },
|
|
842
856
|
React__default["default"].createElement(material.ListItemAvatar, null,
|
|
843
857
|
React__default["default"].createElement(material.Avatar, { "aria-label": 'Index' }, index + 1)),
|
|
844
858
|
React__default["default"].createElement(material.ListItemText, { primary: childLabel }),
|
|
845
|
-
enabled && (React__default["default"].createElement(material.ListItemSecondaryAction, null,
|
|
859
|
+
enabled && !disableRemove && (React__default["default"].createElement(material.ListItemSecondaryAction, null,
|
|
846
860
|
React__default["default"].createElement(material.Tooltip, { id: 'tooltip-remove', title: translations.removeTooltip, placement: 'bottom' },
|
|
847
861
|
React__default["default"].createElement(material.IconButton, { "aria-label": translations.removeAriaLabel, onClick: removeItem(path, index), size: 'large' },
|
|
848
|
-
React__default["default"].createElement(
|
|
862
|
+
React__default["default"].createElement(DeleteIcon__default["default"], null)))))));
|
|
849
863
|
};
|
|
850
864
|
var ListWithDetailMasterItem$1 = react.withJsonFormsMasterListItemProps(ListWithDetailMasterItem);
|
|
851
865
|
|
|
852
866
|
var MaterialListWithDetailRenderer = function (_a) {
|
|
853
|
-
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, description = _a.description;
|
|
867
|
+
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, description = _a.description, disableAdd = _a.disableAdd, disableRemove = _a.disableRemove;
|
|
854
868
|
var _b = React.useState(undefined), selectedIndex = _b[0], setSelectedIndex = _b[1];
|
|
855
869
|
var handleRemoveItem = React.useCallback(function (p, value) { return function () {
|
|
856
870
|
removeItems(p, [value])();
|
|
@@ -867,6 +881,8 @@ var MaterialListWithDetailRenderer = function (_a) {
|
|
|
867
881
|
return core.findUISchema(uischemas, schema, uischema.scope, path, undefined, uischema, rootSchema);
|
|
868
882
|
}, [uischemas, schema, uischema.scope, path, uischema, rootSchema]);
|
|
869
883
|
var appliedUiSchemaOptions = merge__default["default"]({}, config, uischema.options);
|
|
884
|
+
var doDisableAdd = disableAdd || appliedUiSchemaOptions.disableAdd;
|
|
885
|
+
var doDisableRemove = disableRemove || appliedUiSchemaOptions.disableRemove;
|
|
870
886
|
React__default["default"].useEffect(function () {
|
|
871
887
|
setSelectedIndex(undefined);
|
|
872
888
|
}, [schema]);
|
|
@@ -874,10 +890,10 @@ var MaterialListWithDetailRenderer = function (_a) {
|
|
|
874
890
|
return null;
|
|
875
891
|
}
|
|
876
892
|
return (React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
877
|
-
React__default["default"].createElement(ArrayLayoutToolbar, { translations: translations, label: core.computeLabel(label, required, appliedUiSchemaOptions.hideRequiredAsterisk), description: description, errors: errors, path: path, enabled: enabled, addItem: addItem, createDefault: handleCreateDefaultValue }),
|
|
893
|
+
React__default["default"].createElement(ArrayLayoutToolbar, { translations: translations, label: core.computeLabel(label, required, appliedUiSchemaOptions.hideRequiredAsterisk), description: description, errors: errors, path: path, enabled: enabled, addItem: addItem, createDefault: handleCreateDefaultValue, disableAdd: doDisableAdd }),
|
|
878
894
|
React__default["default"].createElement(material.Grid, { container: true, direction: 'row', spacing: 2 },
|
|
879
895
|
React__default["default"].createElement(material.Grid, { item: true, xs: 3 },
|
|
880
|
-
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, uischema: foundUISchema, childLabelProp: appliedUiSchemaOptions.elementLabelProp, translations: translations })); })) : (React__default["default"].createElement("p", null, translations.noDataMessage)))),
|
|
896
|
+
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, uischema: foundUISchema, childLabelProp: appliedUiSchemaOptions.elementLabelProp, translations: translations, disableRemove: doDisableRemove })); })) : (React__default["default"].createElement("p", null, translations.noDataMessage)))),
|
|
881
897
|
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, "".concat(selectedIndex)) })) : (React__default["default"].createElement(material.Typography, { variant: 'h6' }, translations.noSelection))))));
|
|
882
898
|
};
|
|
883
899
|
var materialListWithDetailTester = core.rankWith(4, core.and(core.uiTypeIs('ListWithDetail'), core.isObjectArray));
|
|
@@ -1337,7 +1353,7 @@ var ExpandPanelRendererComponent = function (props) {
|
|
|
1337
1353
|
core.removeId(labelHtmlId);
|
|
1338
1354
|
};
|
|
1339
1355
|
}, [labelHtmlId]);
|
|
1340
|
-
var enabled = props.enabled, childLabel = props.childLabel, childPath = props.childPath, index = props.index, expanded = props.expanded, moveDown = props.moveDown, moveUp = props.moveUp, enableMoveDown = props.enableMoveDown, enableMoveUp = props.enableMoveUp, handleExpansion = props.handleExpansion, removeItems = props.removeItems, path = props.path, rootSchema = props.rootSchema, schema = props.schema, uischema = props.uischema, uischemas = props.uischemas, renderers = props.renderers, cells = props.cells, config = props.config, translations = props.translations;
|
|
1356
|
+
var enabled = props.enabled, childLabel = props.childLabel, childPath = props.childPath, index = props.index, expanded = props.expanded, moveDown = props.moveDown, moveUp = props.moveUp, enableMoveDown = props.enableMoveDown, enableMoveUp = props.enableMoveUp, handleExpansion = props.handleExpansion, removeItems = props.removeItems, path = props.path, rootSchema = props.rootSchema, schema = props.schema, uischema = props.uischema, uischemas = props.uischemas, renderers = props.renderers, cells = props.cells, config = props.config, translations = props.translations, disableRemove = props.disableRemove;
|
|
1341
1357
|
var foundUISchema = React.useMemo(function () {
|
|
1342
1358
|
return core.findUISchema(uischemas, schema, uischema.scope, path, undefined, uischema, rootSchema);
|
|
1343
1359
|
}, [uischemas, schema, uischema.scope, path, uischema, rootSchema]);
|
|
@@ -1345,7 +1361,7 @@ var ExpandPanelRendererComponent = function (props) {
|
|
|
1345
1361
|
var showSortButtons = appliedUiSchemaOptions.showSortButtons ||
|
|
1346
1362
|
appliedUiSchemaOptions.showArrayLayoutSortButtons;
|
|
1347
1363
|
return (React__default["default"].createElement(material.Accordion, { "aria-labelledby": labelHtmlId, expanded: expanded, onChange: handleExpansion(childPath) },
|
|
1348
|
-
React__default["default"].createElement(material.AccordionSummary, { expandIcon: React__default["default"].createElement(
|
|
1364
|
+
React__default["default"].createElement(material.AccordionSummary, { expandIcon: React__default["default"].createElement(ExpandMoreIcon__default["default"], null) },
|
|
1349
1365
|
React__default["default"].createElement(material.Grid, { container: true, alignItems: 'center' },
|
|
1350
1366
|
React__default["default"].createElement(material.Grid, { item: true, xs: 7, md: 9 },
|
|
1351
1367
|
React__default["default"].createElement(material.Grid, { container: true, alignItems: 'center' },
|
|
@@ -1361,15 +1377,15 @@ var ExpandPanelRendererComponent = function (props) {
|
|
|
1361
1377
|
React__default["default"].createElement(material.Grid, { item: true },
|
|
1362
1378
|
React__default["default"].createElement(material.Tooltip, { id: 'tooltip-up', title: translations.up, placement: 'bottom', open: enableMoveUp ? undefined : false },
|
|
1363
1379
|
React__default["default"].createElement(material.IconButton, { onClick: moveUp(path, index), style: iconStyle, disabled: !enableMoveUp, "aria-label": translations.upAriaLabel, size: 'large' },
|
|
1364
|
-
React__default["default"].createElement(
|
|
1380
|
+
React__default["default"].createElement(ArrowUpward__default["default"], null)))),
|
|
1365
1381
|
React__default["default"].createElement(material.Grid, { item: true },
|
|
1366
1382
|
React__default["default"].createElement(material.Tooltip, { id: 'tooltip-down', title: translations.down, placement: 'bottom', open: enableMoveDown ? undefined : false },
|
|
1367
1383
|
React__default["default"].createElement(material.IconButton, { onClick: moveDown(path, index), style: iconStyle, disabled: !enableMoveDown, "aria-label": translations.downAriaLabel, size: 'large' },
|
|
1368
|
-
React__default["default"].createElement(
|
|
1369
|
-
enabled && (React__default["default"].createElement(material.Grid, { item: true },
|
|
1384
|
+
React__default["default"].createElement(ArrowDownward__default["default"], null)))))) : (''),
|
|
1385
|
+
enabled && !disableRemove && (React__default["default"].createElement(material.Grid, { item: true },
|
|
1370
1386
|
React__default["default"].createElement(material.Tooltip, { id: 'tooltip-remove', title: translations.removeTooltip, placement: 'bottom' },
|
|
1371
1387
|
React__default["default"].createElement(material.IconButton, { onClick: removeItems(path, [index]), style: iconStyle, "aria-label": translations.removeAriaLabel, size: 'large' },
|
|
1372
|
-
React__default["default"].createElement(
|
|
1388
|
+
React__default["default"].createElement(DeleteIcon__default["default"], null))))))))))),
|
|
1373
1389
|
React__default["default"].createElement(material.AccordionDetails, null,
|
|
1374
1390
|
React__default["default"].createElement(react.JsonFormsDispatch, { enabled: enabled, schema: schema, uischema: foundUISchema, path: childPath, key: childPath, renderers: renderers, cells: cells }))));
|
|
1375
1391
|
};
|
|
@@ -1384,7 +1400,7 @@ var ctxDispatchToExpandPanelProps = function (dispatch) { return ({
|
|
|
1384
1400
|
.reverse()
|
|
1385
1401
|
.forEach(function (s) { return array.splice(s, 1); });
|
|
1386
1402
|
return array;
|
|
1387
|
-
}));
|
|
1403
|
+
}, { type: 'REMOVE', indices: toDelete }));
|
|
1388
1404
|
};
|
|
1389
1405
|
}, [dispatch]),
|
|
1390
1406
|
moveUp: React.useCallback(function (path, toMove) {
|
|
@@ -1393,6 +1409,9 @@ var ctxDispatchToExpandPanelProps = function (dispatch) { return ({
|
|
|
1393
1409
|
dispatch(core.update(path, function (array) {
|
|
1394
1410
|
core.moveUp(array, toMove);
|
|
1395
1411
|
return array;
|
|
1412
|
+
}, {
|
|
1413
|
+
type: 'MOVE',
|
|
1414
|
+
moves: [{ from: toMove, to: toMove - 1 }],
|
|
1396
1415
|
}));
|
|
1397
1416
|
};
|
|
1398
1417
|
}, [dispatch]),
|
|
@@ -1402,6 +1421,9 @@ var ctxDispatchToExpandPanelProps = function (dispatch) { return ({
|
|
|
1402
1421
|
dispatch(core.update(path, function (array) {
|
|
1403
1422
|
core.moveDown(array, toMove);
|
|
1404
1423
|
return array;
|
|
1424
|
+
}, {
|
|
1425
|
+
type: 'MOVE',
|
|
1426
|
+
moves: [{ from: toMove, to: toMove + 1 }],
|
|
1405
1427
|
}));
|
|
1406
1428
|
};
|
|
1407
1429
|
}, [dispatch]),
|
|
@@ -1551,12 +1573,14 @@ var MaterialArrayLayoutComponent = function (props) {
|
|
|
1551
1573
|
var isExpanded = function (index) {
|
|
1552
1574
|
return expanded === core.composePaths(props.path, "".concat(index));
|
|
1553
1575
|
};
|
|
1554
|
-
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, description = props.description;
|
|
1576
|
+
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, description = props.description, disableAdd = props.disableAdd, disableRemove = props.disableRemove;
|
|
1555
1577
|
var appliedUiSchemaOptions = merge__default["default"]({}, config, props.uischema.options);
|
|
1578
|
+
var doDisableAdd = disableAdd || appliedUiSchemaOptions.disableAdd;
|
|
1579
|
+
var doDisableRemove = disableRemove || appliedUiSchemaOptions.disableRemove;
|
|
1556
1580
|
return (React__default["default"].createElement("div", null,
|
|
1557
|
-
React__default["default"].createElement(ArrayLayoutToolbar, { translations: translations, label: core.computeLabel(label, required, appliedUiSchemaOptions.hideRequiredAsterisk), description: description, errors: errors, path: path, enabled: enabled, addItem: addItem, createDefault: innerCreateDefaultValue }),
|
|
1581
|
+
React__default["default"].createElement(ArrayLayoutToolbar, { translations: translations, label: core.computeLabel(label, required, appliedUiSchemaOptions.hideRequiredAsterisk), description: description, errors: errors, path: path, enabled: enabled, addItem: addItem, createDefault: innerCreateDefaultValue, disableAdd: doDisableAdd }),
|
|
1558
1582
|
React__default["default"].createElement("div", null, data > 0 ? (map__default["default"](range__default["default"](data), function (index) {
|
|
1559
|
-
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 }));
|
|
1583
|
+
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, disableRemove: doDisableRemove }));
|
|
1560
1584
|
})) : (React__default["default"].createElement("p", null, translations.noDataMessage)))));
|
|
1561
1585
|
};
|
|
1562
1586
|
var MaterialArrayLayout$1 = React__default["default"].memo(MaterialArrayLayoutComponent);
|