@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.
Files changed (295) hide show
  1. package/docs/assets/js/search.json +1 -1
  2. package/docs/globals.html +50 -185
  3. package/docs/index.html +0 -18
  4. package/docs/interfaces/emptytableprops.html +1 -1
  5. package/docs/interfaces/nonemptycellcomponentprops.html +9 -9
  6. package/docs/interfaces/nonemptycellprops.html +9 -9
  7. package/docs/interfaces/ownoneofprops.html +1 -1
  8. package/docs/interfaces/ownpropsofnonemptycell.html +6 -6
  9. package/docs/interfaces/tableheadercellprops.html +1 -1
  10. package/docs/interfaces/withoptionlabel.html +3 -3
  11. package/example/index.ts +2 -3
  12. package/lib/additional/ListWithDetailMasterItem.d.ts +3 -3
  13. package/lib/additional/MaterialLabelRenderer.d.ts +13 -13
  14. package/lib/additional/MaterialListWithDetailRenderer.d.ts +6 -6
  15. package/lib/additional/index.d.ts +4 -4
  16. package/lib/cells/CustomizableCells.d.ts +9 -9
  17. package/lib/cells/MaterialBooleanCell.d.ts +6 -6
  18. package/lib/cells/MaterialBooleanToggleCell.d.ts +6 -6
  19. package/lib/cells/MaterialDateCell.d.ts +6 -6
  20. package/lib/cells/MaterialEnumCell.d.ts +10 -10
  21. package/lib/cells/MaterialIntegerCell.d.ts +6 -6
  22. package/lib/cells/MaterialNumberCell.d.ts +10 -10
  23. package/lib/cells/MaterialNumberFormatCell.d.ts +10 -10
  24. package/lib/cells/MaterialOneOfEnumCell.d.ts +10 -10
  25. package/lib/cells/MaterialTextCell.d.ts +10 -10
  26. package/lib/cells/MaterialTimeCell.d.ts +6 -6
  27. package/lib/cells/index.d.ts +13 -13
  28. package/lib/complex/CombinatorProperties.d.ts +12 -12
  29. package/lib/complex/DeleteDialog.d.ts +11 -11
  30. package/lib/complex/MaterialAllOfRenderer.d.ts +6 -6
  31. package/lib/complex/MaterialAnyOfRenderer.d.ts +6 -6
  32. package/lib/complex/MaterialArrayControlRenderer.d.ts +5 -5
  33. package/lib/complex/MaterialEnumArrayRenderer.d.ts +6 -6
  34. package/lib/complex/MaterialObjectRenderer.d.ts +6 -6
  35. package/lib/complex/MaterialOneOfRenderer.d.ts +9 -9
  36. package/lib/complex/MaterialTableControl.d.ts +25 -25
  37. package/lib/complex/NoBorderTableCell.d.ts +3 -3
  38. package/lib/complex/TableToolbar.d.ts +15 -15
  39. package/lib/complex/ValidationIcon.d.ts +7 -7
  40. package/lib/complex/index.d.ts +19 -19
  41. package/lib/controls/MaterialAnyOfStringOrEnumControl.d.ts +9 -9
  42. package/lib/controls/MaterialBooleanControl.d.ts +6 -6
  43. package/lib/controls/MaterialBooleanToggleControl.d.ts +6 -6
  44. package/lib/controls/MaterialDateControl.d.ts +6 -6
  45. package/lib/controls/MaterialDateTimeControl.d.ts +6 -6
  46. package/lib/controls/MaterialEnumControl.d.ts +7 -6
  47. package/lib/controls/MaterialInputControl.d.ts +6 -6
  48. package/lib/controls/MaterialIntegerControl.d.ts +6 -6
  49. package/lib/controls/MaterialNativeControl.d.ts +6 -6
  50. package/lib/controls/MaterialNumberControl.d.ts +6 -6
  51. package/lib/controls/MaterialOneOfEnumControl.d.ts +7 -6
  52. package/lib/controls/MaterialOneOfRadioGroupControl.d.ts +6 -6
  53. package/lib/controls/MaterialRadioGroup.d.ts +3 -3
  54. package/lib/controls/MaterialRadioGroupControl.d.ts +6 -6
  55. package/lib/controls/MaterialSliderControl.d.ts +6 -6
  56. package/lib/controls/MaterialTextControl.d.ts +6 -6
  57. package/lib/controls/MaterialTimeControl.d.ts +6 -6
  58. package/lib/controls/index.d.ts +35 -35
  59. package/lib/index.d.ts +9 -9
  60. package/lib/jsonforms-react-material.cjs.js +1480 -0
  61. package/lib/jsonforms-react-material.cjs.js.map +1 -0
  62. package/lib/jsonforms-react-material.esm.js +1212 -0
  63. package/lib/jsonforms-react-material.esm.js.map +1 -0
  64. package/lib/layouts/ArrayToolbar.d.ts +9 -9
  65. package/lib/layouts/ExpandPanelRenderer.d.ts +51 -51
  66. package/lib/layouts/MaterialArrayLayout.d.ts +3 -3
  67. package/lib/layouts/MaterialArrayLayoutRenderer.d.ts +6 -6
  68. package/lib/layouts/MaterialCategorizationLayout.d.ts +17 -17
  69. package/lib/layouts/MaterialCategorizationStepperLayout.d.ts +13 -13
  70. package/lib/layouts/MaterialGroupLayout.d.ts +7 -7
  71. package/lib/layouts/MaterialHorizontalLayout.d.ts +10 -10
  72. package/lib/layouts/MaterialVerticalLayout.d.ts +10 -10
  73. package/lib/layouts/index.d.ts +6 -6
  74. package/lib/{extended → mui-controls}/MuiAutocomplete.d.ts +9 -9
  75. package/lib/mui-controls/MuiCheckbox.d.ts +3 -3
  76. package/lib/mui-controls/MuiInputInteger.d.ts +3 -3
  77. package/lib/mui-controls/MuiInputNumber.d.ts +3 -3
  78. package/lib/mui-controls/MuiInputNumberFormat.d.ts +3 -3
  79. package/lib/mui-controls/MuiInputText.d.ts +9 -9
  80. package/lib/mui-controls/MuiInputTime.d.ts +3 -3
  81. package/lib/mui-controls/MuiSelect.d.ts +3 -3
  82. package/lib/mui-controls/MuiToggle.d.ts +3 -3
  83. package/lib/mui-controls/index.d.ts +7 -7
  84. package/lib/util/datejs.d.ts +3 -3
  85. package/lib/util/debounce.d.ts +1 -1
  86. package/lib/util/focus.d.ts +1 -1
  87. package/lib/util/index.d.ts +5 -5
  88. package/lib/util/layout.d.ts +15 -14
  89. package/lib/util/theme.d.ts +10 -10
  90. package/package.json +22 -11
  91. package/rollup.config.js +51 -0
  92. package/src/complex/CombinatorProperties.tsx +2 -2
  93. package/src/complex/MaterialAllOfRenderer.tsx +3 -5
  94. package/src/complex/MaterialAnyOfRenderer.tsx +3 -5
  95. package/src/complex/MaterialEnumArrayRenderer.tsx +2 -3
  96. package/src/complex/MaterialObjectRenderer.tsx +3 -8
  97. package/src/complex/MaterialOneOfRenderer.tsx +3 -5
  98. package/src/complex/MaterialTableControl.tsx +5 -5
  99. package/src/controls/MaterialEnumControl.tsx +12 -3
  100. package/src/controls/MaterialOneOfEnumControl.tsx +13 -4
  101. package/src/{extended → mui-controls}/MuiAutocomplete.tsx +0 -0
  102. package/src/util/debounce.ts +1 -1
  103. package/src/util/layout.tsx +1 -1
  104. package/stats.html +3279 -0
  105. package/test/renderers/MaterialAnyOfStringOrEnumControl.test.tsx +7 -7
  106. package/test/renderers/MaterialArrayLayout.test.tsx +65 -31
  107. package/test/renderers/MaterialBooleanCell.test.tsx +10 -7
  108. package/test/renderers/MaterialBooleanToggleCell.test.tsx +14 -9
  109. package/test/renderers/MaterialBooleanToggleControl.test.tsx +14 -9
  110. package/test/renderers/MaterialCategorizationLayout.test.tsx +14 -14
  111. package/test/renderers/MaterialCategorizationStepperLayout.test.tsx +18 -18
  112. package/test/renderers/MaterialDateCell.test.tsx +10 -7
  113. package/test/renderers/MaterialDateControl.test.tsx +12 -8
  114. package/test/renderers/MaterialDateTimeControl.test.tsx +12 -8
  115. package/test/renderers/MaterialEnumArrayRenderer.test.tsx +23 -13
  116. package/test/renderers/MaterialEnumCell.test.tsx +2 -1
  117. package/test/renderers/MaterialEnumControl.test.tsx +75 -0
  118. package/test/renderers/MaterialIntegerCell.test.tsx +10 -7
  119. package/test/renderers/MaterialLabelRenderer.test.tsx +4 -4
  120. package/test/renderers/MaterialListWithDetailRenderer.test.tsx +5 -5
  121. package/test/renderers/MaterialNumberCell.test.tsx +10 -7
  122. package/test/renderers/MaterialObjectControl.test.tsx +10 -7
  123. package/test/renderers/MaterialOneOfEnumCell.test.tsx +2 -1
  124. package/test/renderers/MaterialOneOfRadioGroupControl.test.tsx +3 -2
  125. package/test/renderers/MaterialOneOfRenderer.test.tsx +12 -7
  126. package/test/renderers/MaterialRadioGroupControl.test.tsx +2 -2
  127. package/test/renderers/MaterialSliderControl.test.tsx +20 -12
  128. package/test/renderers/MaterialTextCell.test.tsx +10 -7
  129. package/test/renderers/MaterialTimeCell.test.tsx +10 -7
  130. package/test/renderers/MaterialTimeControl.test.tsx +12 -8
  131. package/tsconfig.json +1 -2
  132. package/tsconfig.test.json +7 -0
  133. package/lib/additional/ListWithDetailMasterItem.js +0 -19
  134. package/lib/additional/ListWithDetailMasterItem.js.map +0 -1
  135. package/lib/additional/MaterialLabelRenderer.js +0 -49
  136. package/lib/additional/MaterialLabelRenderer.js.map +0 -1
  137. package/lib/additional/MaterialListWithDetailRenderer.js +0 -66
  138. package/lib/additional/MaterialListWithDetailRenderer.js.map +0 -1
  139. package/lib/additional/index.js +0 -35
  140. package/lib/additional/index.js.map +0 -1
  141. package/lib/cells/CustomizableCells.js +0 -46
  142. package/lib/cells/CustomizableCells.js.map +0 -1
  143. package/lib/cells/MaterialBooleanCell.js +0 -39
  144. package/lib/cells/MaterialBooleanCell.js.map +0 -1
  145. package/lib/cells/MaterialBooleanToggleCell.js +0 -40
  146. package/lib/cells/MaterialBooleanToggleCell.js.map +0 -1
  147. package/lib/cells/MaterialDateCell.js +0 -42
  148. package/lib/cells/MaterialDateCell.js.map +0 -1
  149. package/lib/cells/MaterialEnumCell.js +0 -41
  150. package/lib/cells/MaterialEnumCell.js.map +0 -1
  151. package/lib/cells/MaterialIntegerCell.js +0 -37
  152. package/lib/cells/MaterialIntegerCell.js.map +0 -1
  153. package/lib/cells/MaterialNumberCell.js +0 -41
  154. package/lib/cells/MaterialNumberCell.js.map +0 -1
  155. package/lib/cells/MaterialNumberFormatCell.js +0 -41
  156. package/lib/cells/MaterialNumberFormatCell.js.map +0 -1
  157. package/lib/cells/MaterialOneOfEnumCell.js +0 -41
  158. package/lib/cells/MaterialOneOfEnumCell.js.map +0 -1
  159. package/lib/cells/MaterialTextCell.js +0 -41
  160. package/lib/cells/MaterialTextCell.js.map +0 -1
  161. package/lib/cells/MaterialTimeCell.js +0 -37
  162. package/lib/cells/MaterialTimeCell.js.map +0 -1
  163. package/lib/cells/index.js +0 -61
  164. package/lib/cells/index.js.map +0 -1
  165. package/lib/complex/CombinatorProperties.js +0 -59
  166. package/lib/complex/CombinatorProperties.js.map +0 -1
  167. package/lib/complex/DeleteDialog.js +0 -41
  168. package/lib/complex/DeleteDialog.js.map +0 -1
  169. package/lib/complex/MaterialAllOfRenderer.js +0 -47
  170. package/lib/complex/MaterialAllOfRenderer.js.map +0 -1
  171. package/lib/complex/MaterialAnyOfRenderer.js +0 -51
  172. package/lib/complex/MaterialAnyOfRenderer.js.map +0 -1
  173. package/lib/complex/MaterialArrayControlRenderer.js +0 -57
  174. package/lib/complex/MaterialArrayControlRenderer.js.map +0 -1
  175. package/lib/complex/MaterialEnumArrayRenderer.js +0 -48
  176. package/lib/complex/MaterialEnumArrayRenderer.js.map +0 -1
  177. package/lib/complex/MaterialObjectRenderer.js +0 -51
  178. package/lib/complex/MaterialObjectRenderer.js.map +0 -1
  179. package/lib/complex/MaterialOneOfRenderer.js +0 -78
  180. package/lib/complex/MaterialOneOfRenderer.js.map +0 -1
  181. package/lib/complex/MaterialTableControl.js +0 -197
  182. package/lib/complex/MaterialTableControl.js.map +0 -1
  183. package/lib/complex/NoBorderTableCell.js +0 -39
  184. package/lib/complex/NoBorderTableCell.js.map +0 -1
  185. package/lib/complex/TableToolbar.js +0 -56
  186. package/lib/complex/TableToolbar.js.map +0 -1
  187. package/lib/complex/ValidationIcon.js +0 -44
  188. package/lib/complex/ValidationIcon.js.map +0 -1
  189. package/lib/complex/index.js +0 -48
  190. package/lib/complex/index.js.map +0 -1
  191. package/lib/controls/MaterialAnyOfStringOrEnumControl.js +0 -85
  192. package/lib/controls/MaterialAnyOfStringOrEnumControl.js.map +0 -1
  193. package/lib/controls/MaterialBooleanControl.js +0 -43
  194. package/lib/controls/MaterialBooleanControl.js.map +0 -1
  195. package/lib/controls/MaterialBooleanToggleControl.js +0 -43
  196. package/lib/controls/MaterialBooleanToggleControl.js.map +0 -1
  197. package/lib/controls/MaterialDateControl.js +0 -62
  198. package/lib/controls/MaterialDateControl.js.map +0 -1
  199. package/lib/controls/MaterialDateTimeControl.js +0 -62
  200. package/lib/controls/MaterialDateTimeControl.js.map +0 -1
  201. package/lib/controls/MaterialEnumControl.js +0 -38
  202. package/lib/controls/MaterialEnumControl.js.map +0 -1
  203. package/lib/controls/MaterialInputControl.js +0 -56
  204. package/lib/controls/MaterialInputControl.js.map +0 -1
  205. package/lib/controls/MaterialIntegerControl.js +0 -38
  206. package/lib/controls/MaterialIntegerControl.js.map +0 -1
  207. package/lib/controls/MaterialNativeControl.js +0 -50
  208. package/lib/controls/MaterialNativeControl.js.map +0 -1
  209. package/lib/controls/MaterialNumberControl.js +0 -38
  210. package/lib/controls/MaterialNumberControl.js.map +0 -1
  211. package/lib/controls/MaterialOneOfEnumControl.js +0 -38
  212. package/lib/controls/MaterialOneOfEnumControl.js.map +0 -1
  213. package/lib/controls/MaterialOneOfRadioGroupControl.js +0 -39
  214. package/lib/controls/MaterialOneOfRadioGroupControl.js.map +0 -1
  215. package/lib/controls/MaterialRadioGroup.js +0 -48
  216. package/lib/controls/MaterialRadioGroup.js.map +0 -1
  217. package/lib/controls/MaterialRadioGroupControl.js +0 -39
  218. package/lib/controls/MaterialRadioGroupControl.js.map +0 -1
  219. package/lib/controls/MaterialSliderControl.js +0 -70
  220. package/lib/controls/MaterialSliderControl.js.map +0 -1
  221. package/lib/controls/MaterialTextControl.js +0 -38
  222. package/lib/controls/MaterialTextControl.js.map +0 -1
  223. package/lib/controls/MaterialTimeControl.js +0 -62
  224. package/lib/controls/MaterialTimeControl.js.map +0 -1
  225. package/lib/controls/index.js +0 -92
  226. package/lib/controls/index.js.map +0 -1
  227. package/lib/extended/MaterialAutocompleteEnumControl.d.ts +0 -7
  228. package/lib/extended/MaterialAutocompleteEnumControl.js +0 -44
  229. package/lib/extended/MaterialAutocompleteEnumControl.js.map +0 -1
  230. package/lib/extended/MaterialAutocompleteOneOfEnumControl.d.ts +0 -7
  231. package/lib/extended/MaterialAutocompleteOneOfEnumControl.js +0 -44
  232. package/lib/extended/MaterialAutocompleteOneOfEnumControl.js.map +0 -1
  233. package/lib/extended/MuiAutocomplete.js +0 -45
  234. package/lib/extended/MuiAutocomplete.js.map +0 -1
  235. package/lib/extended/index.d.ts +0 -10
  236. package/lib/extended/index.js +0 -49
  237. package/lib/extended/index.js.map +0 -1
  238. package/lib/index.js +0 -90
  239. package/lib/index.js.map +0 -1
  240. package/lib/jsonforms-material.js +0 -291
  241. package/lib/jsonforms-material.js.map +0 -1
  242. package/lib/layouts/ArrayToolbar.js +0 -25
  243. package/lib/layouts/ArrayToolbar.js.map +0 -1
  244. package/lib/layouts/ExpandPanelRenderer.js +0 -111
  245. package/lib/layouts/ExpandPanelRenderer.js.map +0 -1
  246. package/lib/layouts/MaterialArrayLayout.js +0 -54
  247. package/lib/layouts/MaterialArrayLayout.js.map +0 -1
  248. package/lib/layouts/MaterialArrayLayoutRenderer.js +0 -45
  249. package/lib/layouts/MaterialArrayLayoutRenderer.js.map +0 -1
  250. package/lib/layouts/MaterialCategorizationLayout.js +0 -71
  251. package/lib/layouts/MaterialCategorizationLayout.js.map +0 -1
  252. package/lib/layouts/MaterialCategorizationStepperLayout.js +0 -78
  253. package/lib/layouts/MaterialCategorizationStepperLayout.js.map +0 -1
  254. package/lib/layouts/MaterialGroupLayout.js +0 -54
  255. package/lib/layouts/MaterialGroupLayout.js.map +0 -1
  256. package/lib/layouts/MaterialHorizontalLayout.js +0 -53
  257. package/lib/layouts/MaterialHorizontalLayout.js.map +0 -1
  258. package/lib/layouts/MaterialVerticalLayout.js +0 -53
  259. package/lib/layouts/MaterialVerticalLayout.js.map +0 -1
  260. package/lib/layouts/index.js +0 -44
  261. package/lib/layouts/index.js.map +0 -1
  262. package/lib/mui-controls/MuiCheckbox.js +0 -40
  263. package/lib/mui-controls/MuiCheckbox.js.map +0 -1
  264. package/lib/mui-controls/MuiInputInteger.js +0 -44
  265. package/lib/mui-controls/MuiInputInteger.js.map +0 -1
  266. package/lib/mui-controls/MuiInputNumber.js +0 -44
  267. package/lib/mui-controls/MuiInputNumber.js.map +0 -1
  268. package/lib/mui-controls/MuiInputNumberFormat.js +0 -49
  269. package/lib/mui-controls/MuiInputNumberFormat.js.map +0 -1
  270. package/lib/mui-controls/MuiInputText.js +0 -68
  271. package/lib/mui-controls/MuiInputText.js.map +0 -1
  272. package/lib/mui-controls/MuiInputTime.js +0 -39
  273. package/lib/mui-controls/MuiInputTime.js.map +0 -1
  274. package/lib/mui-controls/MuiSelect.js +0 -37
  275. package/lib/mui-controls/MuiSelect.js.map +0 -1
  276. package/lib/mui-controls/MuiToggle.js +0 -39
  277. package/lib/mui-controls/MuiToggle.js.map +0 -1
  278. package/lib/mui-controls/index.js +0 -35
  279. package/lib/mui-controls/index.js.map +0 -1
  280. package/lib/util/datejs.js +0 -29
  281. package/lib/util/datejs.js.map +0 -1
  282. package/lib/util/debounce.js +0 -48
  283. package/lib/util/debounce.js.map +0 -1
  284. package/lib/util/focus.js +0 -36
  285. package/lib/util/focus.js.map +0 -1
  286. package/lib/util/index.js +0 -33
  287. package/lib/util/index.js.map +0 -1
  288. package/lib/util/layout.js +0 -58
  289. package/lib/util/layout.js.map +0 -1
  290. package/lib/util/theme.js +0 -3
  291. package/lib/util/theme.js.map +0 -1
  292. package/src/extended/MaterialAutocompleteEnumControl.tsx +0 -55
  293. package/src/extended/MaterialAutocompleteOneOfEnumControl.tsx +0 -55
  294. package/src/extended/index.ts +0 -56
  295. 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 = _.omit(schema, combinatorKeyword) as 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
- _schema,
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={_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
- (_schema as JsonSchema).allOf,
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
- (_schema as JsonSchema).anyOf,
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={_schema}
71
- combinatorKeyword={'anyOf'}
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 { startCase } from 'lodash';
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={startCase(option.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
- GroupLayout,
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
- (_schema as JsonSchema).oneOf,
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(schema.oneOf[newIndex])
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={_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
- <MaterialInputControl {...props} input={MuiSelect} />
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 './MaterialInputControl';
36
+ import { MaterialInputControl } from '../controls/MaterialInputControl';
37
+ import merge from 'lodash/merge';
36
38
 
37
- export const MaterialOneOfEnumControl = (props: ControlProps & OwnPropsOfEnum) => (
38
- <MaterialInputControl {...props} input={MuiSelect} />
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,
@@ -22,7 +22,7 @@
22
22
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
23
23
  THE SOFTWARE.
24
24
  */
25
- import { debounce } from 'lodash';
25
+ import debounce from 'lodash/debounce';
26
26
  import { useState, useCallback, useEffect } from 'react'
27
27
 
28
28
 
@@ -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';