@jsonforms/material-renderers 3.0.0-alpha.3 → 3.0.0-beta.2
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/docs/assets/js/search.json +1 -1
- package/docs/globals.html +50 -185
- package/docs/index.html +0 -18
- package/docs/interfaces/emptytableprops.html +1 -1
- package/docs/interfaces/nonemptycellcomponentprops.html +9 -9
- package/docs/interfaces/nonemptycellprops.html +9 -9
- package/docs/interfaces/ownoneofprops.html +1 -1
- package/docs/interfaces/ownpropsofnonemptycell.html +6 -6
- package/docs/interfaces/tableheadercellprops.html +1 -1
- package/docs/interfaces/withoptionlabel.html +3 -3
- package/example/index.ts +2 -3
- package/lib/additional/ListWithDetailMasterItem.d.ts +3 -3
- package/lib/additional/MaterialLabelRenderer.d.ts +13 -13
- package/lib/additional/MaterialListWithDetailRenderer.d.ts +6 -6
- package/lib/additional/index.d.ts +4 -4
- package/lib/cells/CustomizableCells.d.ts +9 -9
- package/lib/cells/MaterialBooleanCell.d.ts +6 -6
- package/lib/cells/MaterialBooleanToggleCell.d.ts +6 -6
- package/lib/cells/MaterialDateCell.d.ts +6 -6
- package/lib/cells/MaterialEnumCell.d.ts +10 -10
- package/lib/cells/MaterialIntegerCell.d.ts +6 -6
- package/lib/cells/MaterialNumberCell.d.ts +10 -10
- package/lib/cells/MaterialNumberFormatCell.d.ts +10 -10
- package/lib/cells/MaterialOneOfEnumCell.d.ts +10 -10
- package/lib/cells/MaterialTextCell.d.ts +10 -10
- package/lib/cells/MaterialTimeCell.d.ts +6 -6
- package/lib/cells/index.d.ts +13 -13
- package/lib/complex/CombinatorProperties.d.ts +12 -12
- package/lib/complex/DeleteDialog.d.ts +11 -11
- package/lib/complex/MaterialAllOfRenderer.d.ts +6 -6
- package/lib/complex/MaterialAnyOfRenderer.d.ts +6 -6
- package/lib/complex/MaterialArrayControlRenderer.d.ts +5 -5
- package/lib/complex/MaterialEnumArrayRenderer.d.ts +6 -6
- package/lib/complex/MaterialObjectRenderer.d.ts +6 -6
- package/lib/complex/MaterialOneOfRenderer.d.ts +9 -9
- package/lib/complex/MaterialTableControl.d.ts +25 -25
- package/lib/complex/NoBorderTableCell.d.ts +3 -3
- package/lib/complex/TableToolbar.d.ts +15 -15
- package/lib/complex/ValidationIcon.d.ts +7 -7
- package/lib/complex/index.d.ts +19 -19
- package/lib/controls/MaterialAnyOfStringOrEnumControl.d.ts +9 -9
- package/lib/controls/MaterialBooleanControl.d.ts +6 -6
- package/lib/controls/MaterialBooleanToggleControl.d.ts +6 -6
- package/lib/controls/MaterialDateControl.d.ts +6 -6
- package/lib/controls/MaterialDateTimeControl.d.ts +6 -6
- package/lib/controls/MaterialEnumControl.d.ts +7 -6
- package/lib/controls/MaterialInputControl.d.ts +6 -6
- package/lib/controls/MaterialIntegerControl.d.ts +6 -6
- package/lib/controls/MaterialNativeControl.d.ts +6 -6
- package/lib/controls/MaterialNumberControl.d.ts +6 -6
- package/lib/controls/MaterialOneOfEnumControl.d.ts +7 -6
- package/lib/controls/MaterialOneOfRadioGroupControl.d.ts +6 -6
- package/lib/controls/MaterialRadioGroup.d.ts +3 -3
- package/lib/controls/MaterialRadioGroupControl.d.ts +6 -6
- package/lib/controls/MaterialSliderControl.d.ts +6 -6
- package/lib/controls/MaterialTextControl.d.ts +6 -6
- package/lib/controls/MaterialTimeControl.d.ts +6 -6
- package/lib/controls/index.d.ts +35 -35
- package/lib/index.d.ts +9 -9
- package/lib/jsonforms-react-material.cjs.js +1480 -0
- package/lib/jsonforms-react-material.cjs.js.map +1 -0
- package/lib/jsonforms-react-material.esm.js +1212 -0
- package/lib/jsonforms-react-material.esm.js.map +1 -0
- package/lib/layouts/ArrayToolbar.d.ts +9 -9
- package/lib/layouts/ExpandPanelRenderer.d.ts +51 -51
- package/lib/layouts/MaterialArrayLayout.d.ts +3 -3
- package/lib/layouts/MaterialArrayLayoutRenderer.d.ts +6 -6
- package/lib/layouts/MaterialCategorizationLayout.d.ts +17 -17
- package/lib/layouts/MaterialCategorizationStepperLayout.d.ts +13 -13
- package/lib/layouts/MaterialGroupLayout.d.ts +7 -7
- package/lib/layouts/MaterialHorizontalLayout.d.ts +10 -10
- package/lib/layouts/MaterialVerticalLayout.d.ts +10 -10
- package/lib/layouts/index.d.ts +6 -6
- package/lib/{extended → mui-controls}/MuiAutocomplete.d.ts +9 -9
- package/lib/mui-controls/MuiCheckbox.d.ts +3 -3
- package/lib/mui-controls/MuiInputInteger.d.ts +3 -3
- package/lib/mui-controls/MuiInputNumber.d.ts +3 -3
- package/lib/mui-controls/MuiInputNumberFormat.d.ts +3 -3
- package/lib/mui-controls/MuiInputText.d.ts +9 -9
- package/lib/mui-controls/MuiInputTime.d.ts +3 -3
- package/lib/mui-controls/MuiSelect.d.ts +3 -3
- package/lib/mui-controls/MuiToggle.d.ts +3 -3
- package/lib/mui-controls/index.d.ts +7 -7
- package/lib/util/datejs.d.ts +3 -3
- package/lib/util/debounce.d.ts +1 -1
- package/lib/util/focus.d.ts +1 -1
- package/lib/util/index.d.ts +5 -5
- package/lib/util/layout.d.ts +15 -14
- package/lib/util/theme.d.ts +10 -10
- package/package.json +22 -11
- package/rollup.config.js +51 -0
- package/src/complex/CombinatorProperties.tsx +2 -2
- package/src/complex/MaterialAllOfRenderer.tsx +3 -5
- package/src/complex/MaterialAnyOfRenderer.tsx +3 -5
- package/src/complex/MaterialEnumArrayRenderer.tsx +2 -3
- package/src/complex/MaterialObjectRenderer.tsx +3 -8
- package/src/complex/MaterialOneOfRenderer.tsx +3 -5
- package/src/complex/MaterialTableControl.tsx +5 -5
- package/src/controls/MaterialEnumControl.tsx +12 -3
- package/src/controls/MaterialOneOfEnumControl.tsx +13 -4
- package/src/{extended → mui-controls}/MuiAutocomplete.tsx +0 -0
- package/src/util/debounce.ts +1 -1
- package/src/util/layout.tsx +1 -1
- package/stats.html +3279 -0
- package/test/renderers/MaterialAnyOfStringOrEnumControl.test.tsx +7 -7
- package/test/renderers/MaterialArrayLayout.test.tsx +65 -31
- package/test/renderers/MaterialBooleanCell.test.tsx +10 -7
- package/test/renderers/MaterialBooleanToggleCell.test.tsx +14 -9
- package/test/renderers/MaterialBooleanToggleControl.test.tsx +14 -9
- package/test/renderers/MaterialCategorizationLayout.test.tsx +14 -14
- package/test/renderers/MaterialCategorizationStepperLayout.test.tsx +18 -18
- package/test/renderers/MaterialDateCell.test.tsx +10 -7
- package/test/renderers/MaterialDateControl.test.tsx +12 -8
- package/test/renderers/MaterialDateTimeControl.test.tsx +12 -8
- package/test/renderers/MaterialEnumArrayRenderer.test.tsx +23 -13
- package/test/renderers/MaterialEnumCell.test.tsx +2 -1
- package/test/renderers/MaterialEnumControl.test.tsx +75 -0
- package/test/renderers/MaterialIntegerCell.test.tsx +10 -7
- package/test/renderers/MaterialLabelRenderer.test.tsx +4 -4
- package/test/renderers/MaterialListWithDetailRenderer.test.tsx +5 -5
- package/test/renderers/MaterialNumberCell.test.tsx +10 -7
- package/test/renderers/MaterialObjectControl.test.tsx +10 -7
- package/test/renderers/MaterialOneOfEnumCell.test.tsx +2 -1
- package/test/renderers/MaterialOneOfRadioGroupControl.test.tsx +3 -2
- package/test/renderers/MaterialOneOfRenderer.test.tsx +12 -7
- package/test/renderers/MaterialRadioGroupControl.test.tsx +2 -2
- package/test/renderers/MaterialSliderControl.test.tsx +20 -12
- package/test/renderers/MaterialTextCell.test.tsx +10 -7
- package/test/renderers/MaterialTimeCell.test.tsx +10 -7
- package/test/renderers/MaterialTimeControl.test.tsx +12 -8
- package/tsconfig.json +1 -2
- package/tsconfig.test.json +7 -0
- package/lib/additional/ListWithDetailMasterItem.js +0 -19
- package/lib/additional/ListWithDetailMasterItem.js.map +0 -1
- package/lib/additional/MaterialLabelRenderer.js +0 -49
- package/lib/additional/MaterialLabelRenderer.js.map +0 -1
- package/lib/additional/MaterialListWithDetailRenderer.js +0 -66
- package/lib/additional/MaterialListWithDetailRenderer.js.map +0 -1
- package/lib/additional/index.js +0 -35
- package/lib/additional/index.js.map +0 -1
- package/lib/cells/CustomizableCells.js +0 -46
- package/lib/cells/CustomizableCells.js.map +0 -1
- package/lib/cells/MaterialBooleanCell.js +0 -39
- package/lib/cells/MaterialBooleanCell.js.map +0 -1
- package/lib/cells/MaterialBooleanToggleCell.js +0 -40
- package/lib/cells/MaterialBooleanToggleCell.js.map +0 -1
- package/lib/cells/MaterialDateCell.js +0 -42
- package/lib/cells/MaterialDateCell.js.map +0 -1
- package/lib/cells/MaterialEnumCell.js +0 -41
- package/lib/cells/MaterialEnumCell.js.map +0 -1
- package/lib/cells/MaterialIntegerCell.js +0 -37
- package/lib/cells/MaterialIntegerCell.js.map +0 -1
- package/lib/cells/MaterialNumberCell.js +0 -41
- package/lib/cells/MaterialNumberCell.js.map +0 -1
- package/lib/cells/MaterialNumberFormatCell.js +0 -41
- package/lib/cells/MaterialNumberFormatCell.js.map +0 -1
- package/lib/cells/MaterialOneOfEnumCell.js +0 -41
- package/lib/cells/MaterialOneOfEnumCell.js.map +0 -1
- package/lib/cells/MaterialTextCell.js +0 -41
- package/lib/cells/MaterialTextCell.js.map +0 -1
- package/lib/cells/MaterialTimeCell.js +0 -37
- package/lib/cells/MaterialTimeCell.js.map +0 -1
- package/lib/cells/index.js +0 -61
- package/lib/cells/index.js.map +0 -1
- package/lib/complex/CombinatorProperties.js +0 -59
- package/lib/complex/CombinatorProperties.js.map +0 -1
- package/lib/complex/DeleteDialog.js +0 -41
- package/lib/complex/DeleteDialog.js.map +0 -1
- package/lib/complex/MaterialAllOfRenderer.js +0 -47
- package/lib/complex/MaterialAllOfRenderer.js.map +0 -1
- package/lib/complex/MaterialAnyOfRenderer.js +0 -51
- package/lib/complex/MaterialAnyOfRenderer.js.map +0 -1
- package/lib/complex/MaterialArrayControlRenderer.js +0 -57
- package/lib/complex/MaterialArrayControlRenderer.js.map +0 -1
- package/lib/complex/MaterialEnumArrayRenderer.js +0 -48
- package/lib/complex/MaterialEnumArrayRenderer.js.map +0 -1
- package/lib/complex/MaterialObjectRenderer.js +0 -51
- package/lib/complex/MaterialObjectRenderer.js.map +0 -1
- package/lib/complex/MaterialOneOfRenderer.js +0 -78
- package/lib/complex/MaterialOneOfRenderer.js.map +0 -1
- package/lib/complex/MaterialTableControl.js +0 -197
- package/lib/complex/MaterialTableControl.js.map +0 -1
- package/lib/complex/NoBorderTableCell.js +0 -39
- package/lib/complex/NoBorderTableCell.js.map +0 -1
- package/lib/complex/TableToolbar.js +0 -56
- package/lib/complex/TableToolbar.js.map +0 -1
- package/lib/complex/ValidationIcon.js +0 -44
- package/lib/complex/ValidationIcon.js.map +0 -1
- package/lib/complex/index.js +0 -48
- package/lib/complex/index.js.map +0 -1
- package/lib/controls/MaterialAnyOfStringOrEnumControl.js +0 -85
- package/lib/controls/MaterialAnyOfStringOrEnumControl.js.map +0 -1
- package/lib/controls/MaterialBooleanControl.js +0 -43
- package/lib/controls/MaterialBooleanControl.js.map +0 -1
- package/lib/controls/MaterialBooleanToggleControl.js +0 -43
- package/lib/controls/MaterialBooleanToggleControl.js.map +0 -1
- package/lib/controls/MaterialDateControl.js +0 -62
- package/lib/controls/MaterialDateControl.js.map +0 -1
- package/lib/controls/MaterialDateTimeControl.js +0 -62
- package/lib/controls/MaterialDateTimeControl.js.map +0 -1
- package/lib/controls/MaterialEnumControl.js +0 -38
- package/lib/controls/MaterialEnumControl.js.map +0 -1
- package/lib/controls/MaterialInputControl.js +0 -56
- package/lib/controls/MaterialInputControl.js.map +0 -1
- package/lib/controls/MaterialIntegerControl.js +0 -38
- package/lib/controls/MaterialIntegerControl.js.map +0 -1
- package/lib/controls/MaterialNativeControl.js +0 -50
- package/lib/controls/MaterialNativeControl.js.map +0 -1
- package/lib/controls/MaterialNumberControl.js +0 -38
- package/lib/controls/MaterialNumberControl.js.map +0 -1
- package/lib/controls/MaterialOneOfEnumControl.js +0 -38
- package/lib/controls/MaterialOneOfEnumControl.js.map +0 -1
- package/lib/controls/MaterialOneOfRadioGroupControl.js +0 -39
- package/lib/controls/MaterialOneOfRadioGroupControl.js.map +0 -1
- package/lib/controls/MaterialRadioGroup.js +0 -48
- package/lib/controls/MaterialRadioGroup.js.map +0 -1
- package/lib/controls/MaterialRadioGroupControl.js +0 -39
- package/lib/controls/MaterialRadioGroupControl.js.map +0 -1
- package/lib/controls/MaterialSliderControl.js +0 -70
- package/lib/controls/MaterialSliderControl.js.map +0 -1
- package/lib/controls/MaterialTextControl.js +0 -38
- package/lib/controls/MaterialTextControl.js.map +0 -1
- package/lib/controls/MaterialTimeControl.js +0 -62
- package/lib/controls/MaterialTimeControl.js.map +0 -1
- package/lib/controls/index.js +0 -92
- package/lib/controls/index.js.map +0 -1
- package/lib/extended/MaterialAutocompleteEnumControl.d.ts +0 -7
- package/lib/extended/MaterialAutocompleteEnumControl.js +0 -44
- package/lib/extended/MaterialAutocompleteEnumControl.js.map +0 -1
- package/lib/extended/MaterialAutocompleteOneOfEnumControl.d.ts +0 -7
- package/lib/extended/MaterialAutocompleteOneOfEnumControl.js +0 -44
- package/lib/extended/MaterialAutocompleteOneOfEnumControl.js.map +0 -1
- package/lib/extended/MuiAutocomplete.js +0 -45
- package/lib/extended/MuiAutocomplete.js.map +0 -1
- package/lib/extended/index.d.ts +0 -10
- package/lib/extended/index.js +0 -49
- package/lib/extended/index.js.map +0 -1
- package/lib/index.js +0 -90
- package/lib/index.js.map +0 -1
- package/lib/jsonforms-material.js +0 -291
- package/lib/jsonforms-material.js.map +0 -1
- package/lib/layouts/ArrayToolbar.js +0 -25
- package/lib/layouts/ArrayToolbar.js.map +0 -1
- package/lib/layouts/ExpandPanelRenderer.js +0 -111
- package/lib/layouts/ExpandPanelRenderer.js.map +0 -1
- package/lib/layouts/MaterialArrayLayout.js +0 -54
- package/lib/layouts/MaterialArrayLayout.js.map +0 -1
- package/lib/layouts/MaterialArrayLayoutRenderer.js +0 -45
- package/lib/layouts/MaterialArrayLayoutRenderer.js.map +0 -1
- package/lib/layouts/MaterialCategorizationLayout.js +0 -71
- package/lib/layouts/MaterialCategorizationLayout.js.map +0 -1
- package/lib/layouts/MaterialCategorizationStepperLayout.js +0 -78
- package/lib/layouts/MaterialCategorizationStepperLayout.js.map +0 -1
- package/lib/layouts/MaterialGroupLayout.js +0 -54
- package/lib/layouts/MaterialGroupLayout.js.map +0 -1
- package/lib/layouts/MaterialHorizontalLayout.js +0 -53
- package/lib/layouts/MaterialHorizontalLayout.js.map +0 -1
- package/lib/layouts/MaterialVerticalLayout.js +0 -53
- package/lib/layouts/MaterialVerticalLayout.js.map +0 -1
- package/lib/layouts/index.js +0 -44
- package/lib/layouts/index.js.map +0 -1
- package/lib/mui-controls/MuiCheckbox.js +0 -40
- package/lib/mui-controls/MuiCheckbox.js.map +0 -1
- package/lib/mui-controls/MuiInputInteger.js +0 -44
- package/lib/mui-controls/MuiInputInteger.js.map +0 -1
- package/lib/mui-controls/MuiInputNumber.js +0 -44
- package/lib/mui-controls/MuiInputNumber.js.map +0 -1
- package/lib/mui-controls/MuiInputNumberFormat.js +0 -49
- package/lib/mui-controls/MuiInputNumberFormat.js.map +0 -1
- package/lib/mui-controls/MuiInputText.js +0 -68
- package/lib/mui-controls/MuiInputText.js.map +0 -1
- package/lib/mui-controls/MuiInputTime.js +0 -39
- package/lib/mui-controls/MuiInputTime.js.map +0 -1
- package/lib/mui-controls/MuiSelect.js +0 -37
- package/lib/mui-controls/MuiSelect.js.map +0 -1
- package/lib/mui-controls/MuiToggle.js +0 -39
- package/lib/mui-controls/MuiToggle.js.map +0 -1
- package/lib/mui-controls/index.js +0 -35
- package/lib/mui-controls/index.js.map +0 -1
- package/lib/util/datejs.js +0 -29
- package/lib/util/datejs.js.map +0 -1
- package/lib/util/debounce.js +0 -48
- package/lib/util/debounce.js.map +0 -1
- package/lib/util/focus.js +0 -36
- package/lib/util/focus.js.map +0 -1
- package/lib/util/index.js +0 -33
- package/lib/util/index.js.map +0 -1
- package/lib/util/layout.js +0 -58
- package/lib/util/layout.js.map +0 -1
- package/lib/util/theme.js +0 -3
- package/lib/util/theme.js.map +0 -1
- package/src/extended/MaterialAutocompleteEnumControl.tsx +0 -55
- package/src/extended/MaterialAutocompleteOneOfEnumControl.tsx +0 -55
- package/src/extended/index.ts +0 -56
- package/webpack/webpack.build.js +0 -21
|
@@ -23,9 +23,9 @@
|
|
|
23
23
|
THE SOFTWARE.
|
|
24
24
|
*/
|
|
25
25
|
import React from 'react';
|
|
26
|
-
import _ from 'lodash';
|
|
27
26
|
import { Generate, JsonSchema, Layout, UISchemaElement } from '@jsonforms/core';
|
|
28
27
|
import { JsonFormsDispatch } from '@jsonforms/react';
|
|
28
|
+
import omit from 'lodash/omit';
|
|
29
29
|
|
|
30
30
|
interface CombinatorPropertiesProps {
|
|
31
31
|
schema: JsonSchema;
|
|
@@ -42,7 +42,7 @@ export class CombinatorProperties extends React.Component<CombinatorPropertiesPr
|
|
|
42
42
|
|
|
43
43
|
const { schema, combinatorKeyword, path } = this.props;
|
|
44
44
|
|
|
45
|
-
const otherProps: JsonSchema =
|
|
45
|
+
const otherProps: JsonSchema = omit(schema, combinatorKeyword) as JsonSchema;
|
|
46
46
|
const foundUISchema: UISchemaElement = Generate.uiSchema(otherProps, 'VerticalLayout');
|
|
47
47
|
let isLayoutWithElements = false;
|
|
48
48
|
if (foundUISchema !== null && isLayout(foundUISchema)) {
|
|
@@ -32,7 +32,6 @@ import {
|
|
|
32
32
|
JsonSchema,
|
|
33
33
|
RankedTester,
|
|
34
34
|
rankWith,
|
|
35
|
-
resolveSubSchemas,
|
|
36
35
|
StatePropsOfCombinator
|
|
37
36
|
} from '@jsonforms/core';
|
|
38
37
|
import { JsonFormsDispatch, withJsonFormsAllOfProps } from '@jsonforms/react';
|
|
@@ -47,9 +46,8 @@ export const MaterialAllOfRenderer = ({
|
|
|
47
46
|
uischemas,
|
|
48
47
|
uischema
|
|
49
48
|
}: StatePropsOfCombinator) => {
|
|
50
|
-
const _schema = resolveSubSchemas(schema, rootSchema, 'allOf');
|
|
51
49
|
const delegateUISchema = findMatchingUISchema(uischemas)(
|
|
52
|
-
|
|
50
|
+
schema,
|
|
53
51
|
uischema.scope,
|
|
54
52
|
path
|
|
55
53
|
);
|
|
@@ -57,7 +55,7 @@ export const MaterialAllOfRenderer = ({
|
|
|
57
55
|
return (
|
|
58
56
|
<Hidden xsUp={!visible}>
|
|
59
57
|
<JsonFormsDispatch
|
|
60
|
-
schema={
|
|
58
|
+
schema={schema}
|
|
61
59
|
uischema={delegateUISchema}
|
|
62
60
|
path={path}
|
|
63
61
|
renderers={renderers}
|
|
@@ -67,7 +65,7 @@ export const MaterialAllOfRenderer = ({
|
|
|
67
65
|
);
|
|
68
66
|
}
|
|
69
67
|
const allOfRenderInfos = createCombinatorRenderInfos(
|
|
70
|
-
(
|
|
68
|
+
(schema as JsonSchema).allOf,
|
|
71
69
|
rootSchema,
|
|
72
70
|
'allOf',
|
|
73
71
|
uischema,
|
|
@@ -30,7 +30,6 @@ import {
|
|
|
30
30
|
JsonSchema,
|
|
31
31
|
RankedTester,
|
|
32
32
|
rankWith,
|
|
33
|
-
resolveSubSchemas,
|
|
34
33
|
StatePropsOfCombinator
|
|
35
34
|
} from '@jsonforms/core';
|
|
36
35
|
import { JsonFormsDispatch, withJsonFormsAnyOfProps } from '@jsonforms/react';
|
|
@@ -54,9 +53,8 @@ export const MaterialAnyOfRenderer = ({
|
|
|
54
53
|
[setSelectedAnyOf]
|
|
55
54
|
);
|
|
56
55
|
const anyOf = 'anyOf';
|
|
57
|
-
const _schema = resolveSubSchemas(schema, rootSchema, anyOf);
|
|
58
56
|
const anyOfRenderInfos = createCombinatorRenderInfos(
|
|
59
|
-
(
|
|
57
|
+
(schema as JsonSchema).anyOf,
|
|
60
58
|
rootSchema,
|
|
61
59
|
anyOf,
|
|
62
60
|
uischema,
|
|
@@ -67,8 +65,8 @@ export const MaterialAnyOfRenderer = ({
|
|
|
67
65
|
return (
|
|
68
66
|
<Hidden xsUp={!visible}>
|
|
69
67
|
<CombinatorProperties
|
|
70
|
-
schema={
|
|
71
|
-
combinatorKeyword={
|
|
68
|
+
schema={schema}
|
|
69
|
+
combinatorKeyword={anyOf}
|
|
72
70
|
path={path}
|
|
73
71
|
/>
|
|
74
72
|
<Tabs value={selectedAnyOf} onChange={handleChange}>
|
|
@@ -22,8 +22,7 @@ import {
|
|
|
22
22
|
FormHelperText,
|
|
23
23
|
Hidden
|
|
24
24
|
} from '@mui/material';
|
|
25
|
-
import
|
|
26
|
-
import { isEmpty } from 'lodash';
|
|
25
|
+
import isEmpty from 'lodash/isEmpty';
|
|
27
26
|
import React from 'react';
|
|
28
27
|
|
|
29
28
|
export const MaterialEnumArrayRenderer = ({
|
|
@@ -68,7 +67,7 @@ export const MaterialEnumArrayRenderer = ({
|
|
|
68
67
|
{...otherProps}
|
|
69
68
|
/>
|
|
70
69
|
}
|
|
71
|
-
label={
|
|
70
|
+
label={option.label}
|
|
72
71
|
/>
|
|
73
72
|
);
|
|
74
73
|
})}
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
import isEmpty from 'lodash/isEmpty';
|
|
26
26
|
import {
|
|
27
27
|
findUISchema,
|
|
28
|
-
|
|
28
|
+
Generate,
|
|
29
29
|
isObjectControl,
|
|
30
30
|
RankedTester,
|
|
31
31
|
rankWith,
|
|
@@ -54,17 +54,12 @@ export const MaterialObjectRenderer = ({
|
|
|
54
54
|
schema,
|
|
55
55
|
uischema.scope,
|
|
56
56
|
path,
|
|
57
|
-
'Group',
|
|
57
|
+
() => isEmpty(path) ? Generate.uiSchema(schema, 'VerticalLayout') : {...Generate.uiSchema(schema, 'Group'), label},
|
|
58
58
|
uischema,
|
|
59
59
|
rootSchema
|
|
60
60
|
),
|
|
61
|
-
[uischemas, schema, uischema.scope, path, uischema, rootSchema]
|
|
61
|
+
[uischemas, schema, uischema.scope, path, label, uischema, rootSchema]
|
|
62
62
|
);
|
|
63
|
-
if (isEmpty(path)) {
|
|
64
|
-
detailUiSchema.type = 'VerticalLayout';
|
|
65
|
-
} else {
|
|
66
|
-
(detailUiSchema as GroupLayout).label = label;
|
|
67
|
-
}
|
|
68
63
|
return (
|
|
69
64
|
<Hidden xsUp={!visible}>
|
|
70
65
|
<JsonFormsDispatch
|
|
@@ -34,7 +34,6 @@ import {
|
|
|
34
34
|
OwnPropsOfControl,
|
|
35
35
|
RankedTester,
|
|
36
36
|
rankWith,
|
|
37
|
-
resolveSubSchemas
|
|
38
37
|
} from '@jsonforms/core';
|
|
39
38
|
import {
|
|
40
39
|
Button,
|
|
@@ -66,9 +65,8 @@ export const MaterialOneOfRenderer =
|
|
|
66
65
|
const cancel = useCallback(() => {
|
|
67
66
|
setOpen(false);
|
|
68
67
|
}, [setOpen]);
|
|
69
|
-
const _schema = resolveSubSchemas(schema, rootSchema, 'oneOf');
|
|
70
68
|
const oneOfRenderInfos = createCombinatorRenderInfos(
|
|
71
|
-
(
|
|
69
|
+
(schema as JsonSchema).oneOf,
|
|
72
70
|
rootSchema,
|
|
73
71
|
'oneOf',
|
|
74
72
|
uischema,
|
|
@@ -79,7 +77,7 @@ export const MaterialOneOfRenderer =
|
|
|
79
77
|
const openNewTab = (newIndex: number) => {
|
|
80
78
|
handleChange(
|
|
81
79
|
path,
|
|
82
|
-
createDefaultValue(
|
|
80
|
+
createDefaultValue(oneOfRenderInfos[newIndex].schema)
|
|
83
81
|
);
|
|
84
82
|
setSelectedIndex(newIndex);
|
|
85
83
|
}
|
|
@@ -101,7 +99,7 @@ export const MaterialOneOfRenderer =
|
|
|
101
99
|
return (
|
|
102
100
|
<Hidden xsUp={!visible}>
|
|
103
101
|
<CombinatorProperties
|
|
104
|
-
schema={
|
|
102
|
+
schema={schema}
|
|
105
103
|
combinatorKeyword={'oneOf'}
|
|
106
104
|
path={path}
|
|
107
105
|
/>
|
|
@@ -53,7 +53,8 @@ import {
|
|
|
53
53
|
Paths,
|
|
54
54
|
Resolve,
|
|
55
55
|
JsonFormsRendererRegistryEntry,
|
|
56
|
-
JsonFormsCellRendererRegistryEntry
|
|
56
|
+
JsonFormsCellRendererRegistryEntry,
|
|
57
|
+
encode
|
|
57
58
|
} from '@jsonforms/core';
|
|
58
59
|
import DeleteIcon from '@mui/icons-material/Delete';
|
|
59
60
|
import ArrowDownward from '@mui/icons-material/ArrowDownward';
|
|
@@ -206,18 +207,17 @@ interface NonEmptyCellComponentProps {
|
|
|
206
207
|
cells?: JsonFormsCellRendererRegistryEntry[],
|
|
207
208
|
isValid: boolean
|
|
208
209
|
}
|
|
209
|
-
const NonEmptyCellComponent = React.memo(({path, propName, schema,rootSchema, errors, enabled, renderers, cells, isValid}:NonEmptyCellComponentProps) => {
|
|
210
|
-
|
|
210
|
+
const NonEmptyCellComponent = React.memo(({path, propName, schema, rootSchema, errors, enabled, renderers, cells, isValid}:NonEmptyCellComponentProps) => {
|
|
211
211
|
return (
|
|
212
212
|
<NoBorderTableCell>
|
|
213
213
|
{schema.properties ? (
|
|
214
214
|
<DispatchCell
|
|
215
215
|
schema={Resolve.schema(
|
|
216
216
|
schema,
|
|
217
|
-
`#/properties/${propName}`,
|
|
217
|
+
`#/properties/${encode(propName)}`,
|
|
218
218
|
rootSchema
|
|
219
219
|
)}
|
|
220
|
-
uischema={controlWithoutLabel(`#/properties/${propName}`)}
|
|
220
|
+
uischema={controlWithoutLabel(`#/properties/${encode(propName)}`)}
|
|
221
221
|
path={path}
|
|
222
222
|
enabled={enabled}
|
|
223
223
|
renderers={renderers}
|
|
@@ -32,11 +32,20 @@ import {
|
|
|
32
32
|
} from '@jsonforms/core';
|
|
33
33
|
import { withJsonFormsEnumProps } from '@jsonforms/react';
|
|
34
34
|
import { MuiSelect } from '../mui-controls/MuiSelect';
|
|
35
|
+
import merge from 'lodash/merge';
|
|
35
36
|
import { MaterialInputControl } from './MaterialInputControl';
|
|
37
|
+
import { MuiAutocomplete, WithOptionLabel } from '../mui-controls/MuiAutocomplete';
|
|
36
38
|
|
|
37
|
-
export const MaterialEnumControl = (props: ControlProps & OwnPropsOfEnum) =>
|
|
38
|
-
|
|
39
|
-
);
|
|
39
|
+
export const MaterialEnumControl = (props: ControlProps & OwnPropsOfEnum & WithOptionLabel) => {
|
|
40
|
+
const {config, uischema} = props;
|
|
41
|
+
const appliedUiSchemaOptions = merge({}, config, uischema.options);
|
|
42
|
+
return (
|
|
43
|
+
<MaterialInputControl
|
|
44
|
+
{...props}
|
|
45
|
+
input={appliedUiSchemaOptions.autocomplete === false ? MuiSelect : MuiAutocomplete}
|
|
46
|
+
/>
|
|
47
|
+
);
|
|
48
|
+
};
|
|
40
49
|
|
|
41
50
|
export const materialEnumControlTester: RankedTester = rankWith(
|
|
42
51
|
2,
|
|
@@ -31,12 +31,21 @@ import {
|
|
|
31
31
|
rankWith,
|
|
32
32
|
} from '@jsonforms/core';
|
|
33
33
|
import { withJsonFormsOneOfEnumProps } from '@jsonforms/react';
|
|
34
|
+
import { MuiAutocomplete, WithOptionLabel } from '../mui-controls/MuiAutocomplete';
|
|
34
35
|
import { MuiSelect } from '../mui-controls/MuiSelect';
|
|
35
|
-
import { MaterialInputControl } from '
|
|
36
|
+
import { MaterialInputControl } from '../controls/MaterialInputControl';
|
|
37
|
+
import merge from 'lodash/merge';
|
|
36
38
|
|
|
37
|
-
export const MaterialOneOfEnumControl = (props: ControlProps & OwnPropsOfEnum) =>
|
|
38
|
-
|
|
39
|
-
);
|
|
39
|
+
export const MaterialOneOfEnumControl = (props: ControlProps & OwnPropsOfEnum & WithOptionLabel) => {
|
|
40
|
+
const {config, uischema} = props;
|
|
41
|
+
const appliedUiSchemaOptions = merge({}, config, uischema.options);
|
|
42
|
+
return (
|
|
43
|
+
<MaterialInputControl
|
|
44
|
+
{...props}
|
|
45
|
+
input={appliedUiSchemaOptions.autocomplete === false ? MuiSelect : MuiAutocomplete}
|
|
46
|
+
/>
|
|
47
|
+
);
|
|
48
|
+
};
|
|
40
49
|
|
|
41
50
|
export const materialOneOfEnumControlTester: RankedTester = rankWith(
|
|
42
51
|
5,
|
|
File without changes
|
package/src/util/debounce.ts
CHANGED
package/src/util/layout.tsx
CHANGED
|
@@ -26,13 +26,13 @@ import isEmpty from 'lodash/isEmpty';
|
|
|
26
26
|
import React from 'react';
|
|
27
27
|
import { ComponentType } from 'react';
|
|
28
28
|
import Ajv from 'ajv';
|
|
29
|
+
import type { UISchemaElement } from '@jsonforms/core';
|
|
29
30
|
import {
|
|
30
31
|
getAjv,
|
|
31
32
|
JsonFormsCellRendererRegistryEntry,
|
|
32
33
|
JsonFormsRendererRegistryEntry,
|
|
33
34
|
JsonSchema,
|
|
34
35
|
OwnPropsOfRenderer,
|
|
35
|
-
UISchemaElement
|
|
36
36
|
} from '@jsonforms/core';
|
|
37
37
|
import { JsonFormsDispatch, useJsonForms } from '@jsonforms/react';
|
|
38
38
|
import { Grid, Hidden } from '@mui/material';
|