@jsonforms/material-renderers 3.0.0-beta.1 → 3.0.0-beta.4
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 +71 -13
- package/docs/globals.html +55 -85
- package/docs/index.html +70 -13
- 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/lib/additional/MaterialListWithDetailRenderer.d.ts +1 -1
- package/lib/jsonforms-react-material.cjs.js +20 -28
- package/lib/jsonforms-react-material.cjs.js.map +1 -1
- package/lib/jsonforms-react-material.esm.js +19 -27
- package/lib/jsonforms-react-material.esm.js.map +1 -1
- package/lib/layouts/MaterialArrayLayoutRenderer.d.ts +1 -1
- package/package.json +8 -6
- package/src/additional/MaterialListWithDetailRenderer.tsx +5 -3
- package/src/complex/MaterialAllOfRenderer.tsx +3 -5
- package/src/complex/MaterialAnyOfRenderer.tsx +3 -5
- package/src/complex/MaterialEnumArrayRenderer.tsx +1 -2
- package/src/complex/MaterialObjectRenderer.tsx +3 -8
- package/src/complex/MaterialOneOfRenderer.tsx +3 -5
- package/src/complex/MaterialTableControl.tsx +6 -6
- package/src/layouts/ExpandPanelRenderer.tsx +2 -1
- package/src/layouts/MaterialArrayLayoutRenderer.tsx +3 -25
- package/stats.html +1 -1
- package/test/renderers/MaterialAnyOfStringOrEnumControl.test.tsx +7 -7
- package/test/renderers/MaterialArrayLayout.test.tsx +66 -8
- 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 +12 -12
- package/test/renderers/MaterialCategorizationStepperLayout.test.tsx +12 -12
- 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 +9 -7
- 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
|
@@ -68,14 +68,14 @@ const uischema2: ControlElement = {
|
|
|
68
68
|
|
|
69
69
|
describe('Material object renderer tester', () => {
|
|
70
70
|
test('should fail', () => {
|
|
71
|
-
expect(materialObjectControlTester(undefined, undefined)).toBe(
|
|
71
|
+
expect(materialObjectControlTester(undefined, undefined, undefined)).toBe(
|
|
72
72
|
NOT_APPLICABLE
|
|
73
73
|
);
|
|
74
|
-
expect(materialObjectControlTester(null, undefined)).toBe(NOT_APPLICABLE);
|
|
75
|
-
expect(materialObjectControlTester({ type: 'Foo' }, undefined)).toBe(
|
|
74
|
+
expect(materialObjectControlTester(null, undefined, undefined)).toBe(NOT_APPLICABLE);
|
|
75
|
+
expect(materialObjectControlTester({ type: 'Foo' }, undefined, undefined)).toBe(
|
|
76
76
|
NOT_APPLICABLE
|
|
77
77
|
);
|
|
78
|
-
expect(materialObjectControlTester({ type: 'Control' }, undefined)).toBe(
|
|
78
|
+
expect(materialObjectControlTester({ type: 'Control' }, undefined, undefined)).toBe(
|
|
79
79
|
NOT_APPLICABLE
|
|
80
80
|
);
|
|
81
81
|
expect(
|
|
@@ -84,7 +84,8 @@ describe('Material object renderer tester', () => {
|
|
|
84
84
|
properties: {
|
|
85
85
|
foo: { type: 'string' }
|
|
86
86
|
}
|
|
87
|
-
}
|
|
87
|
+
},
|
|
88
|
+
undefined)
|
|
88
89
|
).toBe(NOT_APPLICABLE);
|
|
89
90
|
expect(
|
|
90
91
|
materialObjectControlTester(uischema2, {
|
|
@@ -93,7 +94,8 @@ describe('Material object renderer tester', () => {
|
|
|
93
94
|
foo: { type: 'string' },
|
|
94
95
|
bar: schema.properties.bar
|
|
95
96
|
}
|
|
96
|
-
}
|
|
97
|
+
},
|
|
98
|
+
undefined)
|
|
97
99
|
).toBe(NOT_APPLICABLE);
|
|
98
100
|
});
|
|
99
101
|
|
|
@@ -104,7 +106,8 @@ describe('Material object renderer tester', () => {
|
|
|
104
106
|
properties: {
|
|
105
107
|
foo: schema.properties.foo
|
|
106
108
|
}
|
|
107
|
-
}
|
|
109
|
+
},
|
|
110
|
+
undefined)
|
|
108
111
|
).toBe(2);
|
|
109
112
|
});
|
|
110
113
|
});
|
|
@@ -63,7 +63,7 @@ const uischema: ControlElement = {
|
|
|
63
63
|
|
|
64
64
|
describe('Material oneof radio group tester', () => {
|
|
65
65
|
it('should return valid rank for oneof enums with radio format', () => {
|
|
66
|
-
const rank = materialOneOfRadioGroupControlTester(uischema, oneOfSchema);
|
|
66
|
+
const rank = materialOneOfRadioGroupControlTester(uischema, oneOfSchema, undefined);
|
|
67
67
|
expect(rank).not.toBe(NOT_APPLICABLE);
|
|
68
68
|
});
|
|
69
69
|
|
|
@@ -74,7 +74,8 @@ describe('Material oneof radio group tester', () => {
|
|
|
74
74
|
};
|
|
75
75
|
const rank = materialOneOfRadioGroupControlTester(
|
|
76
76
|
uiSchemaNoRadio,
|
|
77
|
-
oneOfSchema
|
|
77
|
+
oneOfSchema,
|
|
78
|
+
undefined
|
|
78
79
|
);
|
|
79
80
|
expect(rank).toBe(NOT_APPLICABLE);
|
|
80
81
|
});
|
|
@@ -309,7 +309,7 @@ describe('Material oneOf renderer', () => {
|
|
|
309
309
|
}, 1000);
|
|
310
310
|
});
|
|
311
311
|
|
|
312
|
-
it
|
|
312
|
+
it('should add an item within an array', async () => {
|
|
313
313
|
const schema = {
|
|
314
314
|
type: 'object',
|
|
315
315
|
properties: {
|
|
@@ -366,7 +366,7 @@ describe('Material oneOf renderer', () => {
|
|
|
366
366
|
expect(nrOfRowsAfterAdd.length).toBe(3);
|
|
367
367
|
});
|
|
368
368
|
|
|
369
|
-
it
|
|
369
|
+
it('should add an object within an array', async () => {
|
|
370
370
|
const schema = {
|
|
371
371
|
type: 'object',
|
|
372
372
|
properties: {
|
|
@@ -424,7 +424,6 @@ describe('Material oneOf renderer', () => {
|
|
|
424
424
|
|
|
425
425
|
await waitForAsync();
|
|
426
426
|
|
|
427
|
-
// expect(wrapper.state())
|
|
428
427
|
wrapper.update();
|
|
429
428
|
|
|
430
429
|
selectOneOfTab(wrapper, 1, false);
|
|
@@ -441,7 +440,7 @@ describe('Material oneOf renderer', () => {
|
|
|
441
440
|
});
|
|
442
441
|
});
|
|
443
442
|
|
|
444
|
-
it
|
|
443
|
+
it('should switch to array based oneOf subschema, then switch back, then edit', async (done) => {
|
|
445
444
|
const schema = {
|
|
446
445
|
type: 'object',
|
|
447
446
|
properties: {
|
|
@@ -511,9 +510,15 @@ describe('Material oneOf renderer', () => {
|
|
|
511
510
|
const input = wrapper.find('input').first();
|
|
512
511
|
input.simulate('change', { target: { value: 'test' } });
|
|
513
512
|
wrapper.update();
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
513
|
+
|
|
514
|
+
setTimeout(() => {
|
|
515
|
+
expect(onChangeData.data).toEqual({
|
|
516
|
+
thingOrThings: { thing: 'test' }
|
|
517
|
+
});
|
|
518
|
+
done();
|
|
519
|
+
}, 1000);
|
|
520
|
+
|
|
521
|
+
|
|
517
522
|
});
|
|
518
523
|
|
|
519
524
|
it('should show confirm dialog when data is not an empty object', async () => {
|
|
@@ -56,7 +56,7 @@ const uischema: ControlElement = {
|
|
|
56
56
|
|
|
57
57
|
describe('Material radio group tester', () => {
|
|
58
58
|
it('should return valid rank for enums with radio format', () => {
|
|
59
|
-
const rank = materialRadioGroupControlTester(uischema, schema);
|
|
59
|
+
const rank = materialRadioGroupControlTester(uischema, schema, undefined);
|
|
60
60
|
expect(rank).not.toBe(NOT_APPLICABLE);
|
|
61
61
|
});
|
|
62
62
|
|
|
@@ -65,7 +65,7 @@ describe('Material radio group tester', () => {
|
|
|
65
65
|
type: 'Control',
|
|
66
66
|
scope: '#/properties/foo'
|
|
67
67
|
};
|
|
68
|
-
const rank = materialRadioGroupControlTester(uiSchemaNoRadio, schema);
|
|
68
|
+
const rank = materialRadioGroupControlTester(uiSchemaNoRadio, schema, undefined);
|
|
69
69
|
expect(rank).toBe(NOT_APPLICABLE);
|
|
70
70
|
});
|
|
71
71
|
});
|
|
@@ -64,14 +64,14 @@ const uischema: ControlElement = {
|
|
|
64
64
|
|
|
65
65
|
describe('Material slider tester', () => {
|
|
66
66
|
it('should fail', () => {
|
|
67
|
-
expect(materialSliderControlTester(undefined, undefined)).toBe(
|
|
67
|
+
expect(materialSliderControlTester(undefined, undefined, undefined)).toBe(
|
|
68
68
|
NOT_APPLICABLE
|
|
69
69
|
);
|
|
70
|
-
expect(materialSliderControlTester(null, undefined)).toBe(NOT_APPLICABLE);
|
|
71
|
-
expect(materialSliderControlTester({ type: 'Foo' }, undefined)).toBe(
|
|
70
|
+
expect(materialSliderControlTester(null, undefined, undefined)).toBe(NOT_APPLICABLE);
|
|
71
|
+
expect(materialSliderControlTester({ type: 'Foo' }, undefined, undefined)).toBe(
|
|
72
72
|
NOT_APPLICABLE
|
|
73
73
|
);
|
|
74
|
-
expect(materialSliderControlTester({ type: 'Control' }, undefined)).toBe(
|
|
74
|
+
expect(materialSliderControlTester({ type: 'Control' }, undefined, undefined)).toBe(
|
|
75
75
|
NOT_APPLICABLE
|
|
76
76
|
);
|
|
77
77
|
});
|
|
@@ -83,7 +83,8 @@ describe('Material slider tester', () => {
|
|
|
83
83
|
properties: {
|
|
84
84
|
foo: { type: 'string' }
|
|
85
85
|
}
|
|
86
|
-
}
|
|
86
|
+
},
|
|
87
|
+
undefined)
|
|
87
88
|
).toBe(NOT_APPLICABLE);
|
|
88
89
|
});
|
|
89
90
|
|
|
@@ -95,7 +96,8 @@ describe('Material slider tester', () => {
|
|
|
95
96
|
foo: { type: 'string' },
|
|
96
97
|
bar: { type: 'number' }
|
|
97
98
|
}
|
|
98
|
-
}
|
|
99
|
+
},
|
|
100
|
+
undefined)
|
|
99
101
|
).toBe(NOT_APPLICABLE);
|
|
100
102
|
});
|
|
101
103
|
|
|
@@ -106,7 +108,8 @@ describe('Material slider tester', () => {
|
|
|
106
108
|
properties: {
|
|
107
109
|
foo: { type: 'number' }
|
|
108
110
|
}
|
|
109
|
-
}
|
|
111
|
+
},
|
|
112
|
+
undefined)
|
|
110
113
|
).toBe(NOT_APPLICABLE);
|
|
111
114
|
});
|
|
112
115
|
|
|
@@ -120,7 +123,8 @@ describe('Material slider tester', () => {
|
|
|
120
123
|
minimum: 2
|
|
121
124
|
}
|
|
122
125
|
}
|
|
123
|
-
}
|
|
126
|
+
},
|
|
127
|
+
undefined)
|
|
124
128
|
).toBe(NOT_APPLICABLE);
|
|
125
129
|
});
|
|
126
130
|
|
|
@@ -134,7 +138,8 @@ describe('Material slider tester', () => {
|
|
|
134
138
|
maximum: 10
|
|
135
139
|
}
|
|
136
140
|
}
|
|
137
|
-
}
|
|
141
|
+
},
|
|
142
|
+
undefined)
|
|
138
143
|
).toBe(NOT_APPLICABLE);
|
|
139
144
|
});
|
|
140
145
|
|
|
@@ -149,7 +154,8 @@ describe('Material slider tester', () => {
|
|
|
149
154
|
minimum: 2
|
|
150
155
|
}
|
|
151
156
|
}
|
|
152
|
-
}
|
|
157
|
+
},
|
|
158
|
+
undefined)
|
|
153
159
|
).toBe(NOT_APPLICABLE);
|
|
154
160
|
});
|
|
155
161
|
|
|
@@ -165,7 +171,8 @@ describe('Material slider tester', () => {
|
|
|
165
171
|
default: 6
|
|
166
172
|
}
|
|
167
173
|
}
|
|
168
|
-
}
|
|
174
|
+
},
|
|
175
|
+
undefined)
|
|
169
176
|
).toBe(4);
|
|
170
177
|
});
|
|
171
178
|
|
|
@@ -181,7 +188,8 @@ describe('Material slider tester', () => {
|
|
|
181
188
|
default: 6
|
|
182
189
|
}
|
|
183
190
|
}
|
|
184
|
-
}
|
|
191
|
+
},
|
|
192
|
+
undefined)
|
|
185
193
|
).toBe(4);
|
|
186
194
|
});
|
|
187
195
|
});
|
|
@@ -62,12 +62,12 @@ const uischema: ControlElement = {
|
|
|
62
62
|
|
|
63
63
|
describe('Material text cell tester', () => {
|
|
64
64
|
it('should fail', () => {
|
|
65
|
-
expect(materialTextCellTester(undefined, undefined)).toBe(NOT_APPLICABLE);
|
|
66
|
-
expect(materialTextCellTester(null, undefined)).toBe(NOT_APPLICABLE);
|
|
67
|
-
expect(materialTextCellTester({ type: 'Foo' }, undefined)).toBe(
|
|
65
|
+
expect(materialTextCellTester(undefined, undefined, undefined)).toBe(NOT_APPLICABLE);
|
|
66
|
+
expect(materialTextCellTester(null, undefined, undefined)).toBe(NOT_APPLICABLE);
|
|
67
|
+
expect(materialTextCellTester({ type: 'Foo' }, undefined, undefined)).toBe(
|
|
68
68
|
NOT_APPLICABLE
|
|
69
69
|
);
|
|
70
|
-
expect(materialTextCellTester({ type: 'Control' }, undefined)).toBe(
|
|
70
|
+
expect(materialTextCellTester({ type: 'Control' }, undefined, undefined)).toBe(
|
|
71
71
|
NOT_APPLICABLE
|
|
72
72
|
);
|
|
73
73
|
});
|
|
@@ -84,7 +84,8 @@ describe('Material text cell tester', () => {
|
|
|
84
84
|
type: 'number'
|
|
85
85
|
}
|
|
86
86
|
}
|
|
87
|
-
}
|
|
87
|
+
},
|
|
88
|
+
undefined)
|
|
88
89
|
).toBe(NOT_APPLICABLE);
|
|
89
90
|
});
|
|
90
91
|
|
|
@@ -104,7 +105,8 @@ describe('Material text cell tester', () => {
|
|
|
104
105
|
type: 'string'
|
|
105
106
|
}
|
|
106
107
|
}
|
|
107
|
-
}
|
|
108
|
+
},
|
|
109
|
+
undefined)
|
|
108
110
|
).toBe(NOT_APPLICABLE);
|
|
109
111
|
});
|
|
110
112
|
|
|
@@ -121,7 +123,8 @@ describe('Material text cell tester', () => {
|
|
|
121
123
|
type: 'string'
|
|
122
124
|
}
|
|
123
125
|
}
|
|
124
|
-
}
|
|
126
|
+
},
|
|
127
|
+
undefined)
|
|
125
128
|
).toBe(1);
|
|
126
129
|
});
|
|
127
130
|
});
|
|
@@ -54,12 +54,12 @@ const uischema: ControlElement = {
|
|
|
54
54
|
|
|
55
55
|
describe('Material time cell tester', () => {
|
|
56
56
|
it('should fail', () => {
|
|
57
|
-
expect(materialTimeCellTester(undefined, undefined)).toBe(NOT_APPLICABLE);
|
|
58
|
-
expect(materialTimeCellTester(null, undefined)).toBe(NOT_APPLICABLE);
|
|
59
|
-
expect(materialTimeCellTester({ type: 'Foo' }, undefined)).toBe(
|
|
57
|
+
expect(materialTimeCellTester(undefined, undefined, undefined)).toBe(NOT_APPLICABLE);
|
|
58
|
+
expect(materialTimeCellTester(null, undefined, undefined)).toBe(NOT_APPLICABLE);
|
|
59
|
+
expect(materialTimeCellTester({ type: 'Foo' }, undefined, undefined)).toBe(
|
|
60
60
|
NOT_APPLICABLE
|
|
61
61
|
);
|
|
62
|
-
expect(materialTimeCellTester({ type: 'Control' }, undefined)).toBe(
|
|
62
|
+
expect(materialTimeCellTester({ type: 'Control' }, undefined, undefined)).toBe(
|
|
63
63
|
NOT_APPLICABLE
|
|
64
64
|
);
|
|
65
65
|
});
|
|
@@ -71,7 +71,8 @@ describe('Material time cell tester', () => {
|
|
|
71
71
|
properties: {
|
|
72
72
|
foo: { type: 'string' }
|
|
73
73
|
}
|
|
74
|
-
}
|
|
74
|
+
},
|
|
75
|
+
undefined)
|
|
75
76
|
).toBe(NOT_APPLICABLE);
|
|
76
77
|
});
|
|
77
78
|
|
|
@@ -86,7 +87,8 @@ describe('Material time cell tester', () => {
|
|
|
86
87
|
format: 'time'
|
|
87
88
|
}
|
|
88
89
|
}
|
|
89
|
-
}
|
|
90
|
+
},
|
|
91
|
+
undefined)
|
|
90
92
|
).toBe(NOT_APPLICABLE);
|
|
91
93
|
});
|
|
92
94
|
|
|
@@ -100,7 +102,8 @@ describe('Material time cell tester', () => {
|
|
|
100
102
|
format: 'time'
|
|
101
103
|
}
|
|
102
104
|
}
|
|
103
|
-
}
|
|
105
|
+
},
|
|
106
|
+
undefined)
|
|
104
107
|
).toBe(2);
|
|
105
108
|
});
|
|
106
109
|
});
|
|
@@ -57,14 +57,14 @@ const uischema: ControlElement = {
|
|
|
57
57
|
|
|
58
58
|
describe('Material time control tester', () => {
|
|
59
59
|
test('should fail', () => {
|
|
60
|
-
expect(materialTimeControlTester(undefined, undefined)).toBe(
|
|
60
|
+
expect(materialTimeControlTester(undefined, undefined, undefined)).toBe(
|
|
61
61
|
NOT_APPLICABLE
|
|
62
62
|
);
|
|
63
|
-
expect(materialTimeControlTester(null, undefined)).toBe(NOT_APPLICABLE);
|
|
64
|
-
expect(materialTimeControlTester({ type: 'Foo' }, undefined)).toBe(
|
|
63
|
+
expect(materialTimeControlTester(null, undefined, undefined)).toBe(NOT_APPLICABLE);
|
|
64
|
+
expect(materialTimeControlTester({ type: 'Foo' }, undefined, undefined)).toBe(
|
|
65
65
|
NOT_APPLICABLE
|
|
66
66
|
);
|
|
67
|
-
expect(materialTimeControlTester({ type: 'Control' }, undefined)).toBe(
|
|
67
|
+
expect(materialTimeControlTester({ type: 'Control' }, undefined, undefined)).toBe(
|
|
68
68
|
NOT_APPLICABLE
|
|
69
69
|
);
|
|
70
70
|
expect(
|
|
@@ -73,7 +73,8 @@ describe('Material time control tester', () => {
|
|
|
73
73
|
properties: {
|
|
74
74
|
foo: { type: 'string' }
|
|
75
75
|
}
|
|
76
|
-
}
|
|
76
|
+
},
|
|
77
|
+
undefined)
|
|
77
78
|
).toBe(NOT_APPLICABLE);
|
|
78
79
|
expect(
|
|
79
80
|
materialTimeControlTester(uischema, {
|
|
@@ -85,7 +86,8 @@ describe('Material time control tester', () => {
|
|
|
85
86
|
format: 'time'
|
|
86
87
|
}
|
|
87
88
|
}
|
|
88
|
-
}
|
|
89
|
+
},
|
|
90
|
+
undefined)
|
|
89
91
|
).toBe(NOT_APPLICABLE);
|
|
90
92
|
});
|
|
91
93
|
|
|
@@ -99,7 +101,8 @@ describe('Material time control tester', () => {
|
|
|
99
101
|
format: 'time'
|
|
100
102
|
}
|
|
101
103
|
}
|
|
102
|
-
}
|
|
104
|
+
},
|
|
105
|
+
undefined)
|
|
103
106
|
).toBe(4);
|
|
104
107
|
expect(
|
|
105
108
|
materialTimeControlTester(
|
|
@@ -111,7 +114,8 @@ describe('Material time control tester', () => {
|
|
|
111
114
|
type: 'string'
|
|
112
115
|
}
|
|
113
116
|
}
|
|
114
|
-
}
|
|
117
|
+
},
|
|
118
|
+
undefined
|
|
115
119
|
)
|
|
116
120
|
).toBe(4);
|
|
117
121
|
});
|