@jsonforms/material-renderers 2.5.2 → 3.0.0-alpha.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/docs/assets/js/search.json +1 -1
- package/docs/classes/combinatorproperties.html +2 -5
- package/docs/classes/materialanyofstringorenumcontrol.html +6 -9
- package/docs/classes/materialtablecontrol.html +4 -7
- package/docs/globals.html +1040 -328
- package/docs/index.html +84 -51
- package/docs/interfaces/ajvprops.html +1 -4
- package/docs/interfaces/arraylayouttoolbarprops.html +5 -8
- package/docs/interfaces/categorizationstate.html +1 -4
- package/docs/interfaces/categorizationstepperstate.html +0 -3
- package/docs/interfaces/combinatorpropertiesprops.html +0 -3
- package/docs/interfaces/deletedialogprops.html +0 -3
- package/docs/interfaces/dispatchpropsofexpandpanel.html +3 -6
- package/docs/interfaces/emptytableprops.html +0 -3
- package/docs/interfaces/expandpanelprops.html +19 -22
- package/docs/interfaces/jsonformstheme.html +39 -49
- package/docs/interfaces/materialcategorizationlayoutrendererprops.html +11 -14
- package/docs/interfaces/materialcategorizationstepperlayoutrendererprops.html +7 -10
- package/docs/interfaces/materiallayoutrendererprops.html +0 -3
- package/docs/interfaces/materialtabletoolbarprops.html +10 -13
- package/docs/interfaces/muitextinputprops.html +2 -5
- package/docs/interfaces/nonemptycellcomponentprops.html +266 -0
- package/docs/interfaces/nonemptycellprops.html +0 -3
- package/docs/interfaces/nonemptyrowprops.html +80 -27
- package/docs/interfaces/ownoneofprops.html +0 -3
- package/docs/interfaces/ownpropsofexpandpanel.html +14 -17
- package/docs/interfaces/ownpropsofnonemptycell.html +0 -3
- package/docs/interfaces/statepropsofexpandpanel.html +16 -19
- package/docs/interfaces/tableheadercellprops.html +0 -3
- package/docs/interfaces/tablerowsprop.html +9 -12
- package/docs/interfaces/validationprops.html +2 -5
- package/docs/interfaces/withdeletedialogsupport.html +0 -3
- package/docs/interfaces/withinput.html +1 -4
- package/docs/interfaces/withoptionlabel.html +7 -7
- package/example/index.ts +5 -20
- package/lib/additional/ListWithDetailMasterItem.d.ts +1 -1
- package/lib/additional/ListWithDetailMasterItem.js +8 -8
- package/lib/additional/ListWithDetailMasterItem.js.map +1 -1
- package/lib/additional/MaterialLabelRenderer.d.ts +1 -1
- package/lib/additional/MaterialLabelRenderer.js +6 -4
- package/lib/additional/MaterialLabelRenderer.js.map +1 -1
- package/lib/additional/MaterialListWithDetailRenderer.d.ts +1 -1
- package/lib/additional/MaterialListWithDetailRenderer.js +10 -8
- package/lib/additional/MaterialListWithDetailRenderer.js.map +1 -1
- package/lib/additional/index.js +3 -2
- package/lib/additional/index.js.map +1 -1
- package/lib/cells/CustomizableCells.d.ts +1 -0
- package/lib/cells/CustomizableCells.js +11 -8
- package/lib/cells/CustomizableCells.js.map +1 -1
- package/lib/cells/MaterialBooleanCell.d.ts +1 -1
- package/lib/cells/MaterialBooleanCell.js +3 -1
- package/lib/cells/MaterialBooleanCell.js.map +1 -1
- package/lib/cells/MaterialBooleanToggleCell.d.ts +1 -1
- package/lib/cells/MaterialBooleanToggleCell.js +3 -1
- package/lib/cells/MaterialBooleanToggleCell.js.map +1 -1
- package/lib/cells/MaterialDateCell.d.ts +1 -1
- package/lib/cells/MaterialDateCell.js +4 -2
- package/lib/cells/MaterialDateCell.js.map +1 -1
- package/lib/cells/MaterialEnumCell.d.ts +1 -1
- package/lib/cells/MaterialEnumCell.js +3 -1
- package/lib/cells/MaterialEnumCell.js.map +1 -1
- package/lib/cells/MaterialIntegerCell.d.ts +1 -1
- package/lib/cells/MaterialIntegerCell.js +3 -1
- package/lib/cells/MaterialIntegerCell.js.map +1 -1
- package/lib/cells/MaterialNumberCell.d.ts +1 -1
- package/lib/cells/MaterialNumberCell.js +3 -1
- package/lib/cells/MaterialNumberCell.js.map +1 -1
- package/lib/cells/MaterialNumberFormatCell.d.ts +1 -1
- package/lib/cells/MaterialNumberFormatCell.js +3 -1
- package/lib/cells/MaterialNumberFormatCell.js.map +1 -1
- package/lib/cells/MaterialOneOfEnumCell.d.ts +10 -0
- package/lib/cells/MaterialOneOfEnumCell.js +41 -0
- package/lib/cells/MaterialOneOfEnumCell.js.map +1 -0
- package/lib/cells/MaterialTextCell.d.ts +1 -1
- package/lib/cells/MaterialTextCell.js +3 -1
- package/lib/cells/MaterialTextCell.js.map +1 -1
- package/lib/cells/MaterialTimeCell.d.ts +1 -1
- package/lib/cells/MaterialTimeCell.js +3 -1
- package/lib/cells/MaterialTimeCell.js.map +1 -1
- package/lib/cells/index.d.ts +2 -1
- package/lib/cells/index.js +13 -9
- package/lib/cells/index.js.map +1 -1
- package/lib/complex/CombinatorProperties.js +4 -2
- package/lib/complex/CombinatorProperties.js.map +1 -1
- package/lib/complex/DeleteDialog.js +9 -9
- package/lib/complex/DeleteDialog.js.map +1 -1
- package/lib/complex/MaterialAllOfRenderer.d.ts +3 -2
- package/lib/complex/MaterialAllOfRenderer.js +12 -10
- package/lib/complex/MaterialAllOfRenderer.js.map +1 -1
- package/lib/complex/MaterialAnyOfRenderer.d.ts +3 -2
- package/lib/complex/MaterialAnyOfRenderer.js +7 -5
- package/lib/complex/MaterialAnyOfRenderer.js.map +1 -1
- package/lib/complex/MaterialArrayControlRenderer.d.ts +1 -1
- package/lib/complex/MaterialArrayControlRenderer.js +5 -3
- package/lib/complex/MaterialArrayControlRenderer.js.map +1 -1
- package/lib/complex/MaterialEnumArrayRenderer.d.ts +2 -2
- package/lib/complex/MaterialEnumArrayRenderer.js +12 -9
- package/lib/complex/MaterialEnumArrayRenderer.js.map +1 -1
- package/lib/complex/MaterialObjectRenderer.d.ts +3 -2
- package/lib/complex/MaterialObjectRenderer.js +7 -5
- package/lib/complex/MaterialObjectRenderer.js.map +1 -1
- package/lib/complex/MaterialOneOfRenderer.d.ts +2 -1
- package/lib/complex/MaterialOneOfRenderer.js +16 -15
- package/lib/complex/MaterialOneOfRenderer.js.map +1 -1
- package/lib/complex/MaterialTableControl.d.ts +16 -1
- package/lib/complex/MaterialTableControl.js +42 -35
- package/lib/complex/MaterialTableControl.js.map +1 -1
- package/lib/complex/NoBorderTableCell.d.ts +2 -2
- package/lib/complex/NoBorderTableCell.js +8 -10
- package/lib/complex/NoBorderTableCell.js.map +1 -1
- package/lib/complex/TableToolbar.d.ts +2 -2
- package/lib/complex/TableToolbar.js +12 -14
- package/lib/complex/TableToolbar.js.map +1 -1
- package/lib/complex/ValidationIcon.d.ts +2 -6
- package/lib/complex/ValidationIcon.js +9 -13
- package/lib/complex/ValidationIcon.js.map +1 -1
- package/lib/complex/index.js +6 -5
- package/lib/complex/index.js.map +1 -1
- package/lib/controls/MaterialAnyOfStringOrEnumControl.d.ts +1 -1
- package/lib/controls/MaterialAnyOfStringOrEnumControl.js +18 -13
- package/lib/controls/MaterialAnyOfStringOrEnumControl.js.map +1 -1
- package/lib/controls/MaterialBooleanControl.d.ts +1 -1
- package/lib/controls/MaterialBooleanControl.js +6 -4
- package/lib/controls/MaterialBooleanControl.js.map +1 -1
- package/lib/controls/MaterialBooleanToggleControl.d.ts +1 -1
- package/lib/controls/MaterialBooleanToggleControl.js +6 -4
- package/lib/controls/MaterialBooleanToggleControl.js.map +1 -1
- package/lib/controls/MaterialDateControl.d.ts +3 -15
- package/lib/controls/MaterialDateControl.js +29 -50
- package/lib/controls/MaterialDateControl.js.map +1 -1
- package/lib/controls/MaterialDateTimeControl.d.ts +3 -6
- package/lib/controls/MaterialDateTimeControl.js +29 -31
- package/lib/controls/MaterialDateTimeControl.js.map +1 -1
- package/lib/controls/MaterialEnumControl.d.ts +1 -1
- package/lib/controls/MaterialEnumControl.js +3 -1
- package/lib/controls/MaterialEnumControl.js.map +1 -1
- package/lib/controls/MaterialInputControl.d.ts +2 -5
- package/lib/controls/MaterialInputControl.js +25 -30
- package/lib/controls/MaterialInputControl.js.map +1 -1
- package/lib/controls/MaterialIntegerControl.d.ts +1 -1
- package/lib/controls/MaterialIntegerControl.js +3 -1
- package/lib/controls/MaterialIntegerControl.js.map +1 -1
- package/lib/controls/MaterialNativeControl.d.ts +3 -6
- package/lib/controls/MaterialNativeControl.js +16 -20
- package/lib/controls/MaterialNativeControl.js.map +1 -1
- package/lib/controls/MaterialNumberControl.d.ts +1 -1
- package/lib/controls/MaterialNumberControl.js +3 -1
- package/lib/controls/MaterialNumberControl.js.map +1 -1
- package/lib/controls/MaterialOneOfEnumControl.d.ts +1 -1
- package/lib/controls/MaterialOneOfEnumControl.js +3 -1
- package/lib/controls/MaterialOneOfEnumControl.js.map +1 -1
- package/lib/controls/MaterialOneOfRadioGroupControl.d.ts +1 -1
- package/lib/controls/MaterialOneOfRadioGroupControl.js +3 -1
- package/lib/controls/MaterialOneOfRadioGroupControl.js.map +1 -1
- package/lib/controls/MaterialRadioGroup.d.ts +2 -5
- package/lib/controls/MaterialRadioGroup.js +16 -23
- package/lib/controls/MaterialRadioGroup.js.map +1 -1
- package/lib/controls/MaterialRadioGroupControl.d.ts +1 -1
- package/lib/controls/MaterialRadioGroupControl.js +3 -1
- package/lib/controls/MaterialRadioGroupControl.js.map +1 -1
- package/lib/controls/MaterialSliderControl.d.ts +3 -6
- package/lib/controls/MaterialSliderControl.js +36 -40
- package/lib/controls/MaterialSliderControl.js.map +1 -1
- package/lib/controls/MaterialTextControl.d.ts +1 -1
- package/lib/controls/MaterialTextControl.js +3 -1
- package/lib/controls/MaterialTextControl.js.map +1 -1
- package/lib/controls/MaterialTimeControl.d.ts +6 -0
- package/lib/controls/MaterialTimeControl.js +62 -0
- package/lib/controls/MaterialTimeControl.js.map +1 -0
- package/lib/controls/index.d.ts +11 -9
- package/lib/controls/index.js +19 -14
- package/lib/controls/index.js.map +1 -1
- package/lib/extended/MaterialAutocompleteEnumControl.d.ts +1 -1
- package/lib/extended/MaterialAutocompleteEnumControl.js +3 -1
- package/lib/extended/MaterialAutocompleteEnumControl.js.map +1 -1
- package/lib/extended/MaterialAutocompleteOneOfEnumControl.d.ts +1 -1
- package/lib/extended/MaterialAutocompleteOneOfEnumControl.js +3 -1
- package/lib/extended/MaterialAutocompleteOneOfEnumControl.js.map +1 -1
- package/lib/extended/MuiAutocomplete.d.ts +3 -4
- package/lib/extended/MuiAutocomplete.js +7 -7
- package/lib/extended/MuiAutocomplete.js.map +1 -1
- package/lib/extended/index.d.ts +3 -3
- package/lib/extended/index.js +3 -2
- package/lib/extended/index.js.map +1 -1
- package/lib/index.js +3 -0
- package/lib/index.js.map +1 -1
- package/lib/jsonforms-material.js +248 -315
- package/lib/jsonforms-material.js.map +1 -1
- package/lib/layouts/ArrayToolbar.js +14 -16
- package/lib/layouts/ArrayToolbar.js.map +1 -1
- package/lib/layouts/ExpandPanelRenderer.d.ts +2 -3
- package/lib/layouts/ExpandPanelRenderer.js +47 -45
- package/lib/layouts/ExpandPanelRenderer.js.map +1 -1
- package/lib/layouts/MaterialArrayLayout.d.ts +1 -11
- package/lib/layouts/MaterialArrayLayout.js +19 -31
- package/lib/layouts/MaterialArrayLayout.js.map +1 -1
- package/lib/layouts/MaterialArrayLayoutRenderer.d.ts +1 -1
- package/lib/layouts/MaterialArrayLayoutRenderer.js +5 -3
- package/lib/layouts/MaterialArrayLayoutRenderer.js.map +1 -1
- package/lib/layouts/MaterialCategorizationLayout.d.ts +2 -10
- package/lib/layouts/MaterialCategorizationLayout.js +35 -52
- package/lib/layouts/MaterialCategorizationLayout.js.map +1 -1
- package/lib/layouts/MaterialCategorizationStepperLayout.d.ts +2 -9
- package/lib/layouts/MaterialCategorizationStepperLayout.js +45 -56
- package/lib/layouts/MaterialCategorizationStepperLayout.js.map +1 -1
- package/lib/layouts/MaterialGroupLayout.d.ts +1 -1
- package/lib/layouts/MaterialGroupLayout.js +11 -9
- package/lib/layouts/MaterialGroupLayout.js.map +1 -1
- package/lib/layouts/MaterialHorizontalLayout.d.ts +1 -1
- package/lib/layouts/MaterialHorizontalLayout.js +3 -1
- package/lib/layouts/MaterialHorizontalLayout.js.map +1 -1
- package/lib/layouts/MaterialVerticalLayout.d.ts +1 -1
- package/lib/layouts/MaterialVerticalLayout.js +3 -1
- package/lib/layouts/MaterialVerticalLayout.js.map +1 -1
- package/lib/layouts/index.js +6 -5
- package/lib/layouts/index.js.map +1 -1
- package/lib/mui-controls/MuiCheckbox.js +4 -4
- package/lib/mui-controls/MuiCheckbox.js.map +1 -1
- package/lib/mui-controls/MuiInputInteger.js +10 -7
- package/lib/mui-controls/MuiInputInteger.js.map +1 -1
- package/lib/mui-controls/MuiInputNumber.js +10 -7
- package/lib/mui-controls/MuiInputNumber.js.map +1 -1
- package/lib/mui-controls/MuiInputNumberFormat.js +8 -9
- package/lib/mui-controls/MuiInputNumberFormat.js.map +1 -1
- package/lib/mui-controls/MuiInputText.d.ts +1 -1
- package/lib/mui-controls/MuiInputText.js +17 -13
- package/lib/mui-controls/MuiInputText.js.map +1 -1
- package/lib/mui-controls/MuiInputTime.js +6 -4
- package/lib/mui-controls/MuiInputTime.js.map +1 -1
- package/lib/mui-controls/MuiSelect.js +4 -5
- package/lib/mui-controls/MuiSelect.js.map +1 -1
- package/lib/mui-controls/MuiToggle.js +4 -4
- package/lib/mui-controls/MuiToggle.js.map +1 -1
- package/lib/util/datejs.d.ts +3 -0
- package/lib/util/datejs.js +29 -0
- package/lib/util/datejs.js.map +1 -0
- package/lib/util/debounce.d.ts +1 -0
- package/lib/util/debounce.js +48 -0
- package/lib/util/debounce.js.map +1 -0
- package/lib/util/focus.d.ts +1 -0
- package/lib/util/focus.js +36 -0
- package/lib/util/focus.js.map +1 -0
- package/lib/util/index.d.ts +3 -0
- package/lib/util/index.js +4 -0
- package/lib/util/index.js.map +1 -1
- package/lib/util/layout.d.ts +2 -1
- package/lib/util/layout.js +13 -9
- package/lib/util/layout.js.map +1 -1
- package/lib/util/theme.d.ts +1 -1
- package/package.json +22 -26
- package/src/additional/ListWithDetailMasterItem.tsx +3 -6
- package/src/additional/MaterialLabelRenderer.tsx +1 -1
- package/src/additional/MaterialListWithDetailRenderer.tsx +4 -5
- package/src/cells/CustomizableCells.ts +1 -0
- package/src/cells/MaterialDateCell.tsx +1 -1
- package/src/cells/MaterialOneOfEnumCell.tsx +46 -0
- package/src/cells/MaterialTimeCell.tsx +1 -0
- package/src/cells/index.ts +5 -0
- package/src/complex/CombinatorProperties.tsx +2 -2
- package/src/complex/DeleteDialog.tsx +2 -2
- package/src/complex/MaterialAllOfRenderer.tsx +6 -5
- package/src/complex/MaterialAnyOfRenderer.tsx +5 -4
- package/src/complex/MaterialArrayControlRenderer.tsx +1 -1
- package/src/complex/MaterialEnumArrayRenderer.tsx +2 -1
- package/src/complex/MaterialObjectRenderer.tsx +6 -6
- package/src/complex/MaterialOneOfRenderer.tsx +9 -9
- package/src/complex/MaterialTableControl.tsx +45 -37
- package/src/complex/NoBorderTableCell.tsx +10 -12
- package/src/complex/TableToolbar.tsx +10 -9
- package/src/complex/ValidationIcon.tsx +12 -19
- package/src/controls/MaterialAnyOfStringOrEnumControl.tsx +17 -14
- package/src/controls/MaterialBooleanControl.tsx +1 -1
- package/src/controls/MaterialBooleanToggleControl.tsx +1 -1
- package/src/controls/MaterialDateControl.tsx +87 -119
- package/src/controls/MaterialDateTimeControl.tsx +91 -78
- package/src/controls/MaterialEnumControl.tsx +1 -1
- package/src/controls/MaterialInputControl.tsx +65 -72
- package/src/controls/MaterialNativeControl.tsx +55 -60
- package/src/controls/MaterialOneOfEnumControl.tsx +1 -1
- package/src/controls/MaterialOneOfRadioGroupControl.tsx +4 -4
- package/src/controls/MaterialRadioGroup.tsx +73 -74
- package/src/controls/MaterialRadioGroupControl.tsx +1 -1
- package/src/controls/MaterialSliderControl.tsx +93 -89
- package/src/controls/MaterialTimeControl.tsx +133 -0
- package/src/controls/index.ts +7 -0
- package/src/extended/MuiAutocomplete.tsx +11 -9
- package/src/extended/index.ts +1 -1
- package/src/index.ts +6 -0
- package/src/layouts/ArrayToolbar.tsx +11 -7
- package/src/layouts/ExpandPanelRenderer.tsx +46 -44
- package/src/layouts/MaterialArrayLayout.tsx +73 -83
- package/src/layouts/MaterialArrayLayoutRenderer.tsx +1 -1
- package/src/layouts/MaterialCategorizationLayout.tsx +50 -67
- package/src/layouts/MaterialCategorizationStepperLayout.tsx +80 -88
- package/src/layouts/MaterialGroupLayout.tsx +1 -1
- package/src/mui-controls/MuiCheckbox.tsx +2 -3
- package/src/mui-controls/MuiInputInteger.tsx +13 -10
- package/src/mui-controls/MuiInputNumber.tsx +10 -7
- package/src/mui-controls/MuiInputNumberFormat.tsx +9 -12
- package/src/mui-controls/MuiInputText.tsx +30 -21
- package/src/mui-controls/MuiInputTime.tsx +7 -5
- package/src/mui-controls/MuiSelect.tsx +4 -5
- package/src/mui-controls/MuiToggle.tsx +2 -3
- package/src/util/datejs.ts +32 -0
- package/src/util/debounce.ts +43 -0
- package/src/util/focus.ts +32 -0
- package/src/util/index.ts +3 -0
- package/src/util/layout.tsx +7 -8
- package/src/util/theme.ts +1 -1
- package/test/renderers/MaterialAllOfRenderer.test.tsx +1 -1
- package/test/renderers/MaterialAnyOfRenderer.test.tsx +15 -9
- package/test/renderers/MaterialAnyOfStringOrEnumControl.test.tsx +1 -1
- package/test/renderers/MaterialArrayControl.test.tsx +1 -1
- package/test/renderers/MaterialArrayLayout.test.tsx +9 -9
- package/test/renderers/MaterialBooleanCell.test.tsx +1 -1
- package/test/renderers/MaterialBooleanToggleCell.test.tsx +3 -2
- package/test/renderers/MaterialBooleanToggleControl.test.tsx +3 -3
- package/test/renderers/MaterialCategorizationLayout.test.tsx +75 -2
- package/test/renderers/MaterialCategorizationStepperLayout.test.tsx +75 -2
- package/test/renderers/MaterialDateCell.test.tsx +1 -1
- package/test/renderers/MaterialDateControl.test.tsx +46 -2
- package/test/renderers/MaterialDateTimeControl.test.tsx +57 -12
- package/test/renderers/MaterialEnumArrayRenderer.test.tsx +1 -1
- package/test/renderers/MaterialEnumCell.test.tsx +1 -1
- package/test/renderers/MaterialGroupLayout.test.tsx +1 -1
- package/test/renderers/MaterialInputControl.test.tsx +4 -4
- package/test/renderers/MaterialIntegerCell.test.tsx +42 -21
- package/test/renderers/MaterialLabelRenderer.test.tsx +1 -1
- package/test/renderers/MaterialLayouts.test.tsx +1 -1
- package/test/renderers/MaterialListWithDetailRenderer.test.tsx +2 -2
- package/test/renderers/MaterialNativeControl.test.tsx +2 -2
- package/test/renderers/MaterialNumberCell.test.tsx +46 -25
- package/test/renderers/MaterialObjectControl.test.tsx +1 -1
- package/test/renderers/MaterialOneOfEnumCell.test.tsx +93 -0
- package/test/renderers/MaterialOneOfRadioGroupControl.test.tsx +1 -1
- package/test/renderers/MaterialOneOfRenderer.test.tsx +20 -14
- package/test/renderers/MaterialRadioGroupControl.test.tsx +1 -1
- package/test/renderers/MaterialSliderControl.test.tsx +2 -2
- package/test/renderers/MaterialTextCell.test.tsx +47 -33
- package/test/renderers/MaterialTextControl.test.tsx +8 -4
- package/test/renderers/MaterialTimeCell.test.tsx +42 -21
- package/test/renderers/MaterialTimeControl.test.tsx +380 -0
- package/webpack/webpack.build.js +3 -3
- package/docs/classes/materialarraylayout.html +0 -777
- package/docs/classes/materialcategorizationlayoutrenderer.html +0 -786
- package/docs/classes/materialcategorizationstepperlayoutrenderer.html +0 -762
- package/docs/classes/materialdatecontrol.html +0 -825
- package/docs/classes/materialdatetimecontrol.html +0 -825
- package/docs/classes/materialinputcontrol.html +0 -825
- package/docs/classes/materialnativecontrol.html +0 -825
- package/docs/classes/materialradiogroup.html +0 -825
- package/docs/classes/materialslidercontrol.html +0 -825
- package/docs/interfaces/datecontrol.html +0 -157
- package/docs/interfaces/materialarraylayoutstate.html +0 -157
- package/docs/interfaces/statepropsofdatecontrol.html +0 -468
- package/example/CustomAutocomplete.tsx +0 -54
|
@@ -31,17 +31,17 @@ import {
|
|
|
31
31
|
import MaterialDateTimeControl, {
|
|
32
32
|
materialDateTimeControlTester
|
|
33
33
|
} from '../../src/controls/MaterialDateTimeControl';
|
|
34
|
-
import
|
|
34
|
+
import dayjs from 'dayjs';
|
|
35
35
|
import { materialRenderers } from '../../src';
|
|
36
36
|
|
|
37
37
|
import Enzyme, { mount, ReactWrapper } from 'enzyme';
|
|
38
|
-
import Adapter from 'enzyme-adapter-react-
|
|
38
|
+
import Adapter from '@wojtekmaj/enzyme-adapter-react-17';
|
|
39
39
|
import { JsonFormsStateProvider } from '@jsonforms/react';
|
|
40
40
|
import { initCore, TestEmitter } from './util';
|
|
41
41
|
|
|
42
42
|
Enzyme.configure({ adapter: new Adapter() });
|
|
43
43
|
|
|
44
|
-
const data = { foo:
|
|
44
|
+
const data = { foo: dayjs('1980-04-04 13:37').format() };
|
|
45
45
|
const schema = {
|
|
46
46
|
type: 'object',
|
|
47
47
|
properties: {
|
|
@@ -102,6 +102,19 @@ describe('Material date time control tester', () => {
|
|
|
102
102
|
}
|
|
103
103
|
})
|
|
104
104
|
).toBe(2);
|
|
105
|
+
expect(
|
|
106
|
+
materialDateTimeControlTester(
|
|
107
|
+
{ ...uischema, options: { format: 'date-time' } },
|
|
108
|
+
{
|
|
109
|
+
type: 'object',
|
|
110
|
+
properties: {
|
|
111
|
+
foo: {
|
|
112
|
+
type: 'string'
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
)
|
|
117
|
+
).toBe(2);
|
|
105
118
|
});
|
|
106
119
|
});
|
|
107
120
|
|
|
@@ -173,7 +186,7 @@ describe('Material date time control', () => {
|
|
|
173
186
|
|
|
174
187
|
const input = wrapper.find('input').first();
|
|
175
188
|
expect(input.props().type).toBe('text');
|
|
176
|
-
expect(input.props().value).toBe('04
|
|
189
|
+
expect(input.props().value).toBe('1980-04-04 13:37');
|
|
177
190
|
});
|
|
178
191
|
|
|
179
192
|
it('should update via event', () => {
|
|
@@ -192,9 +205,10 @@ describe('Material date time control', () => {
|
|
|
192
205
|
</JsonFormsStateProvider>
|
|
193
206
|
);
|
|
194
207
|
const input = wrapper.find('input').first();
|
|
195
|
-
input.
|
|
208
|
+
(input.getDOMNode() as HTMLInputElement).value ='1961-12-94 20:15';
|
|
209
|
+
input.simulate('change', input);
|
|
196
210
|
expect(onChangeData.data.foo).toBe(
|
|
197
|
-
|
|
211
|
+
dayjs('1961-12-94 20:15').format()
|
|
198
212
|
);
|
|
199
213
|
});
|
|
200
214
|
|
|
@@ -205,11 +219,11 @@ describe('Material date time control', () => {
|
|
|
205
219
|
<MaterialDateTimeControl schema={schema} uischema={uischema} />
|
|
206
220
|
</JsonFormsStateProvider>
|
|
207
221
|
);
|
|
208
|
-
core.data = { ...core.data, foo:
|
|
222
|
+
core.data = { ...core.data, foo: dayjs('1961-12-04 20:15').format() };
|
|
209
223
|
wrapper.setProps({ initState: { renderers: materialRenderers, core }} );
|
|
210
224
|
wrapper.update();
|
|
211
225
|
const input = wrapper.find('input').first();
|
|
212
|
-
expect(input.props().value).toBe('04
|
|
226
|
+
expect(input.props().value).toBe('1961-12-04 20:15');
|
|
213
227
|
});
|
|
214
228
|
|
|
215
229
|
it('should update with null value', () => {
|
|
@@ -251,7 +265,7 @@ describe('Material date time control', () => {
|
|
|
251
265
|
wrapper.setProps({ initState: { renderers: materialRenderers, core }} );
|
|
252
266
|
wrapper.update();
|
|
253
267
|
const input = wrapper.find('input').first();
|
|
254
|
-
expect(input.props().value).toBe('04
|
|
268
|
+
expect(input.props().value).toBe('1980-04-04 13:37');
|
|
255
269
|
});
|
|
256
270
|
|
|
257
271
|
it('should not update with null ref', () => {
|
|
@@ -265,7 +279,7 @@ describe('Material date time control', () => {
|
|
|
265
279
|
wrapper.setProps({ initState: { renderers: materialRenderers, core }} );
|
|
266
280
|
wrapper.update();
|
|
267
281
|
const input = wrapper.find('input').first();
|
|
268
|
-
expect(input.props().value).toBe('04
|
|
282
|
+
expect(input.props().value).toBe('1980-04-04 13:37');
|
|
269
283
|
});
|
|
270
284
|
|
|
271
285
|
it('should not update with undefined ref', () => {
|
|
@@ -279,7 +293,7 @@ describe('Material date time control', () => {
|
|
|
279
293
|
wrapper.setProps({ initState: { renderers: materialRenderers, core }} );
|
|
280
294
|
wrapper.update();
|
|
281
295
|
const input = wrapper.find('input').first();
|
|
282
|
-
expect(input.props().value).toBe('04
|
|
296
|
+
expect(input.props().value).toBe('1980-04-04 13:37');
|
|
283
297
|
});
|
|
284
298
|
|
|
285
299
|
it('can be disabled', () => {
|
|
@@ -320,7 +334,7 @@ describe('Material date time control', () => {
|
|
|
320
334
|
</JsonFormsStateProvider>
|
|
321
335
|
);
|
|
322
336
|
const input = wrapper.find('input').first();
|
|
323
|
-
// there is only input id at the
|
|
337
|
+
// there is only input id at the dayjs
|
|
324
338
|
expect(input.props().id).toBe('#/properties/foo-input');
|
|
325
339
|
});
|
|
326
340
|
|
|
@@ -338,4 +352,35 @@ describe('Material date time control', () => {
|
|
|
338
352
|
const inputs = wrapper.find('input');
|
|
339
353
|
expect(inputs.length).toBe(0);
|
|
340
354
|
});
|
|
355
|
+
|
|
356
|
+
it('should support format customizations', () => {
|
|
357
|
+
const core = initCore(schema, uischema, {foo: dayjs('1980-04-23 13:37').format('YYYY/MM/DD h:mm a')});
|
|
358
|
+
const onChangeData: any = {
|
|
359
|
+
data: undefined
|
|
360
|
+
};
|
|
361
|
+
wrapper = mount(
|
|
362
|
+
<JsonFormsStateProvider initState={{ renderers: materialRenderers, core }}>
|
|
363
|
+
<TestEmitter
|
|
364
|
+
onChange={({ data }) => {
|
|
365
|
+
onChangeData.data = data;
|
|
366
|
+
}}
|
|
367
|
+
/>
|
|
368
|
+
<MaterialDateTimeControl
|
|
369
|
+
schema={schema}
|
|
370
|
+
uischema={{...uischema, options: {
|
|
371
|
+
dateTimeFormat: 'DD-MM-YY hh:mm:a',
|
|
372
|
+
dateTimeSaveFormat: 'YYYY/MM/DD h:mm a',
|
|
373
|
+
ampm: true
|
|
374
|
+
}}}
|
|
375
|
+
/>
|
|
376
|
+
</JsonFormsStateProvider>
|
|
377
|
+
);
|
|
378
|
+
|
|
379
|
+
const input = wrapper.find('input').first();
|
|
380
|
+
expect(input.props().value).toBe('23-04-80 01:37:pm');
|
|
381
|
+
|
|
382
|
+
(input.getDOMNode() as HTMLInputElement).value = '10-12-05 11:22:am';
|
|
383
|
+
input.simulate('change', input);
|
|
384
|
+
expect(onChangeData.data.foo).toBe('2005/12/10 11:22 am');
|
|
385
|
+
});
|
|
341
386
|
});
|
|
@@ -2,7 +2,7 @@ import './MatchMediaMock';
|
|
|
2
2
|
import { ControlElement, NOT_APPLICABLE } from '@jsonforms/core';
|
|
3
3
|
import { JsonForms } from '@jsonforms/react';
|
|
4
4
|
import Enzyme, { mount, ReactWrapper } from 'enzyme';
|
|
5
|
-
import Adapter from 'enzyme-adapter-react-
|
|
5
|
+
import Adapter from '@wojtekmaj/enzyme-adapter-react-17';
|
|
6
6
|
import React from 'react';
|
|
7
7
|
import {
|
|
8
8
|
materialEnumArrayRendererTester,
|
|
@@ -33,7 +33,7 @@ import MaterialEnumCell, {
|
|
|
33
33
|
import { materialRenderers } from '../../src';
|
|
34
34
|
|
|
35
35
|
import Enzyme, { mount } from 'enzyme';
|
|
36
|
-
import Adapter from 'enzyme-adapter-react-
|
|
36
|
+
import Adapter from '@wojtekmaj/enzyme-adapter-react-17';
|
|
37
37
|
import { JsonFormsStateProvider } from '@jsonforms/react';
|
|
38
38
|
import { initCore } from './util';
|
|
39
39
|
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
import './MatchMediaMock';
|
|
26
26
|
import * as React from 'react';
|
|
27
27
|
import Enzyme, { mount } from 'enzyme';
|
|
28
|
-
import Adapter from 'enzyme-adapter-react-
|
|
28
|
+
import Adapter from '@wojtekmaj/enzyme-adapter-react-17';
|
|
29
29
|
import MaterialGroupLayout from '../../src/layouts/MaterialGroupLayout';
|
|
30
30
|
import { MaterialLayoutRenderer } from '../../src/util/layout';
|
|
31
31
|
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
import './MatchMediaMock';
|
|
26
26
|
import Enzyme, { mount, ReactWrapper } from 'enzyme';
|
|
27
27
|
import { materialRenderers } from '../../src';
|
|
28
|
-
import Adapter from 'enzyme-adapter-react-
|
|
28
|
+
import Adapter from '@wojtekmaj/enzyme-adapter-react-17';
|
|
29
29
|
import * as React from 'react';
|
|
30
30
|
import {
|
|
31
31
|
ControlElement,
|
|
@@ -159,7 +159,7 @@ describe('Material input control', () => {
|
|
|
159
159
|
wrapper.setProps({ initState: { renderers: materialRenderers, core }} );
|
|
160
160
|
wrapper.update();
|
|
161
161
|
const validation = wrapper.find('p').first();
|
|
162
|
-
expect(validation.text()).toBe('
|
|
162
|
+
expect(validation.text()).toBe('must be string');
|
|
163
163
|
});
|
|
164
164
|
|
|
165
165
|
it('should display multiple errors', () => {
|
|
@@ -173,7 +173,7 @@ describe('Material input control', () => {
|
|
|
173
173
|
wrapper.setProps({ initState: { renderers: materialRenderers, core }} );
|
|
174
174
|
wrapper.update();
|
|
175
175
|
const validation = wrapper.find('p').first();
|
|
176
|
-
expect(validation.text()).toBe('
|
|
176
|
+
expect(validation.text()).toBe('must be string');
|
|
177
177
|
});
|
|
178
178
|
|
|
179
179
|
it('should not show any errors', () => {
|
|
@@ -283,7 +283,7 @@ describe('Material input control', () => {
|
|
|
283
283
|
</JsonFormsStateProvider>
|
|
284
284
|
);
|
|
285
285
|
const label = wrapper.find('label').first();
|
|
286
|
-
expect(label.text()).toBe('Date Cell*');
|
|
286
|
+
expect(label.text()).toBe('Date Cell *');
|
|
287
287
|
});
|
|
288
288
|
|
|
289
289
|
it('should not display a marker for a non-required prop', () => {
|
|
@@ -34,7 +34,7 @@ import IntegerCell, {
|
|
|
34
34
|
import { materialRenderers } from '../../src';
|
|
35
35
|
|
|
36
36
|
import Enzyme, { mount, ReactWrapper } from 'enzyme';
|
|
37
|
-
import Adapter from 'enzyme-adapter-react-
|
|
37
|
+
import Adapter from '@wojtekmaj/enzyme-adapter-react-17';
|
|
38
38
|
import { JsonFormsStateProvider } from '@jsonforms/react';
|
|
39
39
|
import { initCore, TestEmitter } from './util';
|
|
40
40
|
|
|
@@ -175,7 +175,7 @@ describe('Material integer cells', () => {
|
|
|
175
175
|
expect(input.props().value).toBe(0);
|
|
176
176
|
});
|
|
177
177
|
|
|
178
|
-
it('should update via input event', () => {
|
|
178
|
+
it('should update via input event', (done) => {
|
|
179
179
|
const core = initCore(schema, uischema, data);
|
|
180
180
|
const onChangeData: any = {
|
|
181
181
|
data: undefined
|
|
@@ -193,10 +193,13 @@ describe('Material integer cells', () => {
|
|
|
193
193
|
|
|
194
194
|
const input = wrapper.find('input');
|
|
195
195
|
input.simulate('change', { target: { value: 13 } });
|
|
196
|
-
|
|
196
|
+
setTimeout(() => {
|
|
197
|
+
expect(onChangeData.data.foo).toBe(13);
|
|
198
|
+
done();
|
|
199
|
+
}, 1000)
|
|
197
200
|
});
|
|
198
201
|
|
|
199
|
-
it('should update via action', () => {
|
|
202
|
+
it('should update via action', (done) => {
|
|
200
203
|
const core = initCore(schema, uischema, { foo: 13 });
|
|
201
204
|
wrapper = mount(
|
|
202
205
|
<JsonFormsStateProvider initState={{ renderers: materialRenderers, core }}>
|
|
@@ -206,11 +209,14 @@ describe('Material integer cells', () => {
|
|
|
206
209
|
core.data = { ...core.data, foo: 42 };
|
|
207
210
|
wrapper.setProps({ initState: { renderers: materialRenderers, core }} );
|
|
208
211
|
wrapper.update();
|
|
209
|
-
|
|
210
|
-
|
|
212
|
+
setTimeout(() => {
|
|
213
|
+
const input = wrapper.find('input').first();
|
|
214
|
+
expect(input.props().value).toBe(42);
|
|
215
|
+
done();
|
|
216
|
+
}, 1000);
|
|
211
217
|
});
|
|
212
218
|
|
|
213
|
-
it('should not update with undefined value', () => {
|
|
219
|
+
it('should not update with undefined value', (done) => {
|
|
214
220
|
const core = initCore(schema, uischema, data);
|
|
215
221
|
wrapper = mount(
|
|
216
222
|
<JsonFormsStateProvider initState={{ renderers: materialRenderers, core }}>
|
|
@@ -220,11 +226,14 @@ describe('Material integer cells', () => {
|
|
|
220
226
|
core.data = { ...core.data, foo: undefined };
|
|
221
227
|
wrapper.setProps({ initState: { renderers: materialRenderers, core }} );
|
|
222
228
|
wrapper.update();
|
|
223
|
-
|
|
224
|
-
|
|
229
|
+
setTimeout(() => {
|
|
230
|
+
const input = wrapper.find('input');
|
|
231
|
+
expect(input.props().value).toBe('');
|
|
232
|
+
done();
|
|
233
|
+
}, 1000);
|
|
225
234
|
});
|
|
226
235
|
|
|
227
|
-
it('should not update with null value', () => {
|
|
236
|
+
it('should not update with null value', (done) => {
|
|
228
237
|
const core = initCore(schema, uischema, data);
|
|
229
238
|
wrapper = mount(
|
|
230
239
|
<JsonFormsStateProvider initState={{ renderers: materialRenderers, core }}>
|
|
@@ -234,11 +243,14 @@ describe('Material integer cells', () => {
|
|
|
234
243
|
core.data = { ...core.data, foo: null };
|
|
235
244
|
wrapper.setProps({ initState: { renderers: materialRenderers, core }} );
|
|
236
245
|
wrapper.update();
|
|
237
|
-
|
|
238
|
-
|
|
246
|
+
setTimeout(() => {
|
|
247
|
+
const input = wrapper.find('input').first();
|
|
248
|
+
expect(input.props().value).toBe('');
|
|
249
|
+
done();
|
|
250
|
+
}, 1000);
|
|
239
251
|
});
|
|
240
252
|
|
|
241
|
-
it('should not update with wrong ref', () => {
|
|
253
|
+
it('should not update with wrong ref', (done) => {
|
|
242
254
|
const core = initCore(schema, uischema, data);
|
|
243
255
|
wrapper = mount(
|
|
244
256
|
<JsonFormsStateProvider initState={{ renderers: materialRenderers, core }}>
|
|
@@ -248,11 +260,14 @@ describe('Material integer cells', () => {
|
|
|
248
260
|
core.data = { ...core.data, bar: 11 };
|
|
249
261
|
wrapper.setProps({ initState: { renderers: materialRenderers, core }} );
|
|
250
262
|
wrapper.update();
|
|
251
|
-
|
|
252
|
-
|
|
263
|
+
setTimeout(() => {
|
|
264
|
+
const input = wrapper.find('input');
|
|
265
|
+
expect(input.props().value).toBe(42);
|
|
266
|
+
done();
|
|
267
|
+
}, 1000);
|
|
253
268
|
});
|
|
254
269
|
|
|
255
|
-
it('should not update with null ref', () => {
|
|
270
|
+
it('should not update with null ref', (done) => {
|
|
256
271
|
const core = initCore(schema, uischema, data);
|
|
257
272
|
wrapper = mount(
|
|
258
273
|
<JsonFormsStateProvider initState={{ renderers: materialRenderers, core }}>
|
|
@@ -262,11 +277,14 @@ describe('Material integer cells', () => {
|
|
|
262
277
|
core.data = { ...core.data, null: 13 };
|
|
263
278
|
wrapper.setProps({ initState: { renderers: materialRenderers, core }} );
|
|
264
279
|
wrapper.update();
|
|
265
|
-
|
|
266
|
-
|
|
280
|
+
setTimeout(() => {
|
|
281
|
+
const input = wrapper.find('input');
|
|
282
|
+
expect(input.props().value).toBe(42);
|
|
283
|
+
done();
|
|
284
|
+
}, 1000);
|
|
267
285
|
});
|
|
268
286
|
|
|
269
|
-
it('should not update with undefined ref', () => {
|
|
287
|
+
it('should not update with undefined ref', (done) => {
|
|
270
288
|
const core = initCore(schema, uischema, data);
|
|
271
289
|
wrapper = mount(
|
|
272
290
|
<JsonFormsStateProvider initState={{ renderers: materialRenderers, core }}>
|
|
@@ -276,8 +294,11 @@ describe('Material integer cells', () => {
|
|
|
276
294
|
core.data = { ...core.data, undefined: 13 };
|
|
277
295
|
wrapper.setProps({ initState: { renderers: materialRenderers, core }} );
|
|
278
296
|
wrapper.update();
|
|
279
|
-
|
|
280
|
-
|
|
297
|
+
setTimeout(() => {
|
|
298
|
+
const input = wrapper.find('input');
|
|
299
|
+
expect(input.props().value).toBe(42);
|
|
300
|
+
done();
|
|
301
|
+
}, 1000);
|
|
281
302
|
});
|
|
282
303
|
|
|
283
304
|
it('can be disabled', () => {
|
|
@@ -33,7 +33,7 @@ import MaterialLabelRenderer, {
|
|
|
33
33
|
} from '../../src/additional/MaterialLabelRenderer';
|
|
34
34
|
import { materialRenderers } from '../../src';
|
|
35
35
|
import Enzyme, { mount, ReactWrapper } from 'enzyme';
|
|
36
|
-
import Adapter from 'enzyme-adapter-react-
|
|
36
|
+
import Adapter from '@wojtekmaj/enzyme-adapter-react-17';
|
|
37
37
|
import { JsonForms, JsonFormsStateProvider } from '@jsonforms/react';
|
|
38
38
|
import { initCore } from './util';
|
|
39
39
|
|
|
@@ -32,7 +32,7 @@ import {
|
|
|
32
32
|
RuleEffect,
|
|
33
33
|
UISchemaElement
|
|
34
34
|
} from '@jsonforms/core';
|
|
35
|
-
import Adapter from 'enzyme-adapter-react-
|
|
35
|
+
import Adapter from '@wojtekmaj/enzyme-adapter-react-17';
|
|
36
36
|
import { JsonForms } from '@jsonforms/react';
|
|
37
37
|
|
|
38
38
|
Enzyme.configure({ adapter: new Adapter() });
|
|
@@ -33,9 +33,9 @@ import MaterialListWithDetailRenderer, {
|
|
|
33
33
|
materialListWithDetailTester
|
|
34
34
|
} from '../../src/additional/MaterialListWithDetailRenderer';
|
|
35
35
|
import Enzyme, { mount, ReactWrapper } from 'enzyme';
|
|
36
|
-
import Adapter from 'enzyme-adapter-react-
|
|
36
|
+
import Adapter from '@wojtekmaj/enzyme-adapter-react-17';
|
|
37
37
|
import { JsonFormsStateProvider } from '@jsonforms/react';
|
|
38
|
-
import { ListItem } from '@material
|
|
38
|
+
import { ListItem } from '@mui/material'
|
|
39
39
|
import { initCore } from './util';
|
|
40
40
|
|
|
41
41
|
Enzyme.configure({ adapter: new Adapter() });
|
|
@@ -26,8 +26,8 @@ import './MatchMediaMock';
|
|
|
26
26
|
import React from 'react';
|
|
27
27
|
import Enzyme, { mount, ReactWrapper } from 'enzyme';
|
|
28
28
|
import { MaterialNativeControl } from '../../src/controls/MaterialNativeControl';
|
|
29
|
-
import TextField from '@material
|
|
30
|
-
import Adapter from 'enzyme-adapter-react-
|
|
29
|
+
import TextField from '@mui/material/TextField';
|
|
30
|
+
import Adapter from '@wojtekmaj/enzyme-adapter-react-17';
|
|
31
31
|
import { ControlElement, ControlProps } from '@jsonforms/core';
|
|
32
32
|
|
|
33
33
|
Enzyme.configure({ adapter: new Adapter() });
|
|
@@ -34,7 +34,7 @@ import NumberCell, {
|
|
|
34
34
|
} from '../../src/cells/MaterialNumberCell';
|
|
35
35
|
import { materialRenderers } from '../../src';
|
|
36
36
|
import Enzyme, { mount, ReactWrapper } from 'enzyme';
|
|
37
|
-
import Adapter from 'enzyme-adapter-react-
|
|
37
|
+
import Adapter from '@wojtekmaj/enzyme-adapter-react-17';
|
|
38
38
|
import { JsonFormsStateProvider } from '@jsonforms/react';
|
|
39
39
|
import { initCore, TestEmitter } from './util';
|
|
40
40
|
|
|
@@ -217,7 +217,7 @@ describe('Material number cells', () => {
|
|
|
217
217
|
expect(input.props().value).toBe(0);
|
|
218
218
|
});
|
|
219
219
|
|
|
220
|
-
it('should update via input event', () => {
|
|
220
|
+
it('should update via input event', (done) => {
|
|
221
221
|
const core = initCore(schema, uischema, data);
|
|
222
222
|
const onChangeData: any = {
|
|
223
223
|
data: undefined
|
|
@@ -234,10 +234,13 @@ describe('Material number cells', () => {
|
|
|
234
234
|
);
|
|
235
235
|
const input = wrapper.find('input');
|
|
236
236
|
input.simulate('change', { target: { value: 2.72 } });
|
|
237
|
-
|
|
237
|
+
setTimeout(() => {
|
|
238
|
+
expect(onChangeData.data.foo).toBe(2.72);
|
|
239
|
+
done();
|
|
240
|
+
}, 1000);
|
|
238
241
|
});
|
|
239
242
|
|
|
240
|
-
it('should update via action', () => {
|
|
243
|
+
it('should update via action', (done) => {
|
|
241
244
|
const core = initCore(schema, uischema, { foo: 2.72 });
|
|
242
245
|
wrapper = mount(
|
|
243
246
|
<JsonFormsStateProvider initState={{ renderers: materialRenderers, core }}>
|
|
@@ -251,15 +254,18 @@ describe('Material number cells', () => {
|
|
|
251
254
|
wrapper.setProps({ initState: { renderers: materialRenderers, core }} );
|
|
252
255
|
wrapper.update();
|
|
253
256
|
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
257
|
+
setTimeout(() => {
|
|
258
|
+
expect(
|
|
259
|
+
wrapper
|
|
260
|
+
.find('input')
|
|
261
|
+
.first()
|
|
262
|
+
.props().value
|
|
263
|
+
).toBe(3.14);
|
|
264
|
+
done();
|
|
265
|
+
}, 1000);
|
|
260
266
|
});
|
|
261
267
|
|
|
262
|
-
it('should update with undefined value', () => {
|
|
268
|
+
it('should update with undefined value', (done) => {
|
|
263
269
|
const core = initCore(schema, uischema, data);
|
|
264
270
|
wrapper = mount(
|
|
265
271
|
<JsonFormsStateProvider initState={{ renderers: materialRenderers, core }}>
|
|
@@ -269,11 +275,14 @@ describe('Material number cells', () => {
|
|
|
269
275
|
core.data = { ...core.data, foo: undefined };
|
|
270
276
|
wrapper.setProps({ initState: { renderers: materialRenderers, core }} );
|
|
271
277
|
wrapper.update();
|
|
272
|
-
|
|
273
|
-
|
|
278
|
+
setTimeout(() => {
|
|
279
|
+
const input = wrapper.find('input').first();
|
|
280
|
+
expect(input.props().value).toBe('');
|
|
281
|
+
done();
|
|
282
|
+
}, 1000);
|
|
274
283
|
});
|
|
275
284
|
|
|
276
|
-
it('should not update with null value', () => {
|
|
285
|
+
it('should not update with null value', (done) => {
|
|
277
286
|
const core = initCore(schema, uischema, data);
|
|
278
287
|
wrapper = mount(
|
|
279
288
|
<JsonFormsStateProvider initState={{ renderers: materialRenderers, core }}>
|
|
@@ -283,11 +292,14 @@ describe('Material number cells', () => {
|
|
|
283
292
|
core.data = { ...core.data, foo: null };
|
|
284
293
|
wrapper.setProps({ initState: { renderers: materialRenderers, core }} );
|
|
285
294
|
wrapper.update();
|
|
286
|
-
|
|
287
|
-
|
|
295
|
+
setTimeout(() => {
|
|
296
|
+
const input = wrapper.find('input').first();
|
|
297
|
+
expect(input.props().value).toBe('');
|
|
298
|
+
done();
|
|
299
|
+
}, 1000);
|
|
288
300
|
});
|
|
289
301
|
|
|
290
|
-
it('should not update with wrong ref', () => {
|
|
302
|
+
it('should not update with wrong ref', (done) => {
|
|
291
303
|
const core = initCore(schema, uischema, data);
|
|
292
304
|
wrapper = mount(
|
|
293
305
|
<JsonFormsStateProvider initState={{ renderers: materialRenderers, core }}>
|
|
@@ -297,11 +309,14 @@ describe('Material number cells', () => {
|
|
|
297
309
|
core.data = { ...core.data, bar: 11 };
|
|
298
310
|
wrapper.setProps({ initState: { renderers: materialRenderers, core }} );
|
|
299
311
|
wrapper.update();
|
|
300
|
-
|
|
301
|
-
|
|
312
|
+
setTimeout(() => {
|
|
313
|
+
const input = wrapper.find('input').first();
|
|
314
|
+
expect(input.props().value).toBe(3.14);
|
|
315
|
+
done();
|
|
316
|
+
}, 1000);
|
|
302
317
|
});
|
|
303
318
|
|
|
304
|
-
it('should not update with null ref', () => {
|
|
319
|
+
it('should not update with null ref', (done) => {
|
|
305
320
|
const core = initCore(schema, uischema, data);
|
|
306
321
|
wrapper = mount(
|
|
307
322
|
<JsonFormsStateProvider initState={{ renderers: materialRenderers, core }}>
|
|
@@ -311,11 +326,14 @@ describe('Material number cells', () => {
|
|
|
311
326
|
core.data = { ...core.data, null: 2.72 };
|
|
312
327
|
wrapper.setProps({ initState: { renderers: materialRenderers, core }} );
|
|
313
328
|
wrapper.update();
|
|
314
|
-
|
|
315
|
-
|
|
329
|
+
setTimeout(() => {
|
|
330
|
+
const input = wrapper.find('input').first();
|
|
331
|
+
expect(input.props().value).toBe(3.14);
|
|
332
|
+
done();
|
|
333
|
+
}, 1000);
|
|
316
334
|
});
|
|
317
335
|
|
|
318
|
-
it('should not update with undefined ref', () => {
|
|
336
|
+
it('should not update with undefined ref', (done) => {
|
|
319
337
|
const core = initCore(schema, uischema, data);
|
|
320
338
|
wrapper = mount(
|
|
321
339
|
<JsonFormsStateProvider initState={{ renderers: materialRenderers, core }}>
|
|
@@ -325,8 +343,11 @@ describe('Material number cells', () => {
|
|
|
325
343
|
core.data = { ...core.data, undefined: 13 };
|
|
326
344
|
wrapper.setProps({ initState: { renderers: materialRenderers, core }} );
|
|
327
345
|
wrapper.update();
|
|
328
|
-
|
|
329
|
-
|
|
346
|
+
setTimeout(() => {
|
|
347
|
+
const input = wrapper.find('input').first();
|
|
348
|
+
expect(input.props().value).toBe(3.14);
|
|
349
|
+
done();
|
|
350
|
+
}, 1000);
|
|
330
351
|
});
|
|
331
352
|
|
|
332
353
|
it('can be disabled', () => {
|
|
@@ -33,7 +33,7 @@ import MaterialObjectRenderer, {
|
|
|
33
33
|
materialObjectControlTester
|
|
34
34
|
} from '../../src/complex/MaterialObjectRenderer';
|
|
35
35
|
import Enzyme, { mount, ReactWrapper } from 'enzyme';
|
|
36
|
-
import Adapter from 'enzyme-adapter-react-
|
|
36
|
+
import Adapter from '@wojtekmaj/enzyme-adapter-react-17';
|
|
37
37
|
import { JsonFormsStateProvider } from '@jsonforms/react';
|
|
38
38
|
import { initCore } from './util';
|
|
39
39
|
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/*
|
|
2
|
+
The MIT License
|
|
3
|
+
|
|
4
|
+
Copyright (c) 2017-2019 EclipseSource Munich
|
|
5
|
+
https://github.com/eclipsesource/jsonforms
|
|
6
|
+
|
|
7
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
8
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
9
|
+
in the Software without restriction, including without limitation the rights
|
|
10
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
11
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
12
|
+
furnished to do so, subject to the following conditions:
|
|
13
|
+
|
|
14
|
+
The above copyright notice and this permission notice shall be included in
|
|
15
|
+
all copies or substantial portions of the Software.
|
|
16
|
+
|
|
17
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
18
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
19
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
20
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
21
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
22
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
23
|
+
THE SOFTWARE.
|
|
24
|
+
*/
|
|
25
|
+
import './MatchMediaMock';
|
|
26
|
+
import * as React from 'react';
|
|
27
|
+
import {
|
|
28
|
+
ControlElement
|
|
29
|
+
} from '@jsonforms/core';
|
|
30
|
+
import MaterialOneOfEnumCell, {
|
|
31
|
+
materialOneOfEnumCellTester
|
|
32
|
+
} from '../../src/cells/MaterialOneOfEnumCell';
|
|
33
|
+
import { materialRenderers } from '../../src';
|
|
34
|
+
|
|
35
|
+
import Enzyme, { mount } from 'enzyme';
|
|
36
|
+
import Adapter from '@wojtekmaj/enzyme-adapter-react-17';
|
|
37
|
+
import { JsonFormsStateProvider } from '@jsonforms/react';
|
|
38
|
+
import { initCore } from './util';
|
|
39
|
+
|
|
40
|
+
Enzyme.configure({ adapter: new Adapter() });
|
|
41
|
+
|
|
42
|
+
const data = { country: 'AU' };
|
|
43
|
+
const schema = {
|
|
44
|
+
type: 'string',
|
|
45
|
+
oneOf: [
|
|
46
|
+
{
|
|
47
|
+
const: 'AU',
|
|
48
|
+
title: 'Australia'
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
const: 'NZ',
|
|
52
|
+
title: 'New Zealand'
|
|
53
|
+
}
|
|
54
|
+
]
|
|
55
|
+
};
|
|
56
|
+
const uischema: ControlElement = {
|
|
57
|
+
type: 'Control',
|
|
58
|
+
scope: '#/properties/country'
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
describe('Material one of enum cell tester', () => {
|
|
62
|
+
it('should succeed with matching prop type', () => {
|
|
63
|
+
const control: ControlElement = {
|
|
64
|
+
type: 'Control',
|
|
65
|
+
scope: '#/properties/country'
|
|
66
|
+
};
|
|
67
|
+
expect(
|
|
68
|
+
materialOneOfEnumCellTester(control, {
|
|
69
|
+
type: 'object',
|
|
70
|
+
properties: {
|
|
71
|
+
country: schema
|
|
72
|
+
}
|
|
73
|
+
})
|
|
74
|
+
).toBe(2);
|
|
75
|
+
});
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
describe('Material enum cell', () => {
|
|
79
|
+
it('should select an item from dropdown list', () => {
|
|
80
|
+
const core = initCore(schema, uischema, data);
|
|
81
|
+
const wrapper = mount(
|
|
82
|
+
<JsonFormsStateProvider initState={{ renderers: materialRenderers, core }}>
|
|
83
|
+
<MaterialOneOfEnumCell
|
|
84
|
+
schema={schema}
|
|
85
|
+
uischema={uischema}
|
|
86
|
+
path='country'
|
|
87
|
+
/>
|
|
88
|
+
</JsonFormsStateProvider>
|
|
89
|
+
);
|
|
90
|
+
const input = wrapper.find('input');
|
|
91
|
+
expect(input.props().value).toBe('AU');
|
|
92
|
+
});
|
|
93
|
+
});
|
|
@@ -33,7 +33,7 @@ import MaterialOneOfRadioGroupControl, {
|
|
|
33
33
|
} from '../../src/controls/MaterialOneOfRadioGroupControl';
|
|
34
34
|
import { materialRenderers } from '../../src';
|
|
35
35
|
import Enzyme, { mount, ReactWrapper } from 'enzyme';
|
|
36
|
-
import Adapter from 'enzyme-adapter-react-
|
|
36
|
+
import Adapter from '@wojtekmaj/enzyme-adapter-react-17';
|
|
37
37
|
import {
|
|
38
38
|
JsonFormsStateProvider
|
|
39
39
|
} from '@jsonforms/react';
|