@jsonforms/core 3.0.0-beta.2 → 3.0.0-beta.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.
Files changed (38) hide show
  1. package/docs/assets/js/search.json +1 -1
  2. package/docs/globals.html +122 -55
  3. package/docs/index.html +6 -0
  4. package/docs/interfaces/addcellrendereraction.html +3 -3
  5. package/docs/interfaces/addrendereraction.html +3 -3
  6. package/docs/interfaces/adduischemaaction.html +3 -3
  7. package/docs/interfaces/arraylayoutprops.html +2 -2
  8. package/docs/interfaces/combinatorrendererprops.html +6 -6
  9. package/docs/interfaces/initactionoptions.html +14 -0
  10. package/docs/interfaces/jsonformscore.html +17 -3
  11. package/docs/interfaces/registerdefaultdataaction.html +3 -3
  12. package/docs/interfaces/removecellrendereraction.html +3 -3
  13. package/docs/interfaces/removerendereraction.html +3 -3
  14. package/docs/interfaces/removeuischemaaction.html +2 -2
  15. package/docs/interfaces/setajvaction.html +2 -2
  16. package/docs/interfaces/setconfigaction.html +2 -2
  17. package/docs/interfaces/setlocaleaction.html +2 -2
  18. package/docs/interfaces/setschemaaction.html +2 -2
  19. package/docs/interfaces/settranslatoraction.html +3 -3
  20. package/docs/interfaces/setuischemaaction.html +2 -2
  21. package/docs/interfaces/setvalidationmodeaction.html +2 -2
  22. package/docs/interfaces/statepropsofarraylayout.html +2 -2
  23. package/docs/interfaces/statepropsofcombinator.html +6 -6
  24. package/docs/interfaces/unregisterdefaultdataaction.html +2 -2
  25. package/docs/interfaces/updatei18naction.html +4 -4
  26. package/lib/actions/actions.d.ts +1 -0
  27. package/lib/jsonforms-core.cjs.js +31 -12
  28. package/lib/jsonforms-core.cjs.js.map +1 -1
  29. package/lib/jsonforms-core.esm.js +32 -10
  30. package/lib/jsonforms-core.esm.js.map +1 -1
  31. package/lib/reducers/core.d.ts +1 -0
  32. package/package.json +2 -2
  33. package/src/actions/actions.ts +1 -0
  34. package/src/i18n/i18nUtil.ts +5 -5
  35. package/src/reducers/core.ts +30 -3
  36. package/src/util/renderer.ts +6 -3
  37. package/stats.html +1 -1
  38. package/test/reducers/core.test.ts +203 -1
@@ -9,6 +9,7 @@ export interface JsonFormsCore {
9
9
  schema: JsonSchema;
10
10
  uischema: UISchemaElement;
11
11
  errors?: ErrorObject[];
12
+ additionalErrors?: ErrorObject[];
12
13
  validator?: ValidateFunction;
13
14
  ajv?: Ajv;
14
15
  validationMode?: ValidationMode;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jsonforms/core",
3
- "version": "3.0.0-beta.2",
3
+ "version": "3.0.0-beta.3",
4
4
  "description": "Core module of JSON Forms",
5
5
  "repository": "https://github.com/eclipsesource/jsonforms",
6
6
  "bugs": "https://github.com/eclipsesource/jsonforms/issues",
@@ -88,5 +88,5 @@
88
88
  "typedoc": "^0.19.2",
89
89
  "typescript": "4.2.3"
90
90
  },
91
- "gitHead": "8e9c14dcf049ee4b31baf9c40a86b394cba33139"
91
+ "gitHead": "78ef46d070f9c5ac1db1f04772db1293858ce2a4"
92
92
  }
@@ -100,6 +100,7 @@ export interface UpdateCoreAction {
100
100
  export interface InitActionOptions {
101
101
  ajv?: AJV;
102
102
  validationMode?: ValidationMode;
103
+ additionalErrors?: ErrorObject[];
103
104
  }
104
105
 
105
106
  export interface SetValidationModeAction {
@@ -54,26 +54,26 @@ export const defaultErrorTranslator: ErrorTranslator = (error, t, uischema) => {
54
54
  getControlPath(error),
55
55
  `error.${error.keyword}`
56
56
  );
57
- const specializedKeywordMessage = t(i18nKey, undefined);
57
+ const specializedKeywordMessage = t(i18nKey, undefined, { error } );
58
58
  if (specializedKeywordMessage !== undefined) {
59
59
  return specializedKeywordMessage;
60
60
  }
61
61
 
62
62
  // check whether there is a generic keyword message
63
- const genericKeywordMessage = t(`error.${error.keyword}`, undefined);
63
+ const genericKeywordMessage = t(`error.${error.keyword}`, undefined, { error });
64
64
  if (genericKeywordMessage !== undefined) {
65
65
  return genericKeywordMessage;
66
66
  }
67
67
 
68
68
  // check whether there is a customization for the default message
69
- const messageCustomization = t(error.message, undefined);
69
+ const messageCustomization = t(error.message, undefined, { error });
70
70
  if (messageCustomization !== undefined) {
71
71
  return messageCustomization;
72
72
  }
73
73
 
74
74
  // rewrite required property messages (if they were not customized) as we place them next to the respective input
75
75
  if (error.keyword === 'required' && error.message?.startsWith('must have required property')) {
76
- return t('is a required property', 'is a required property');
76
+ return t('is a required property', 'is a required property', { error });
77
77
  }
78
78
 
79
79
  return error.message;
@@ -94,7 +94,7 @@ export const getCombinedErrorMessage = (
94
94
  if (errors.length > 0 && t) {
95
95
  // check whether there is a special message which overwrites all others
96
96
  const customErrorKey = getI18nKey(schema, uischema, path, 'error.custom');
97
- const specializedErrorMessage = t(customErrorKey, undefined);
97
+ const specializedErrorMessage = t(customErrorKey, undefined, {schema, uischema, path, errors});
98
98
  if (specializedErrorMessage !== undefined) {
99
99
  return specializedErrorMessage;
100
100
  }
@@ -65,6 +65,7 @@ export interface JsonFormsCore {
65
65
  schema: JsonSchema;
66
66
  uischema: UISchemaElement;
67
67
  errors?: ErrorObject[];
68
+ additionalErrors?: ErrorObject[];
68
69
  validator?: ValidateFunction;
69
70
  ajv?: Ajv;
70
71
  validationMode?: ValidationMode;
@@ -78,6 +79,7 @@ const initState: JsonFormsCore = {
78
79
  validator: undefined,
79
80
  ajv: undefined,
80
81
  validationMode: 'ValidateAndShow',
82
+ additionalErrors: []
81
83
  };
82
84
 
83
85
  const reuseAjvForSchema = (ajv: Ajv, schema: JsonSchema): Ajv => {
@@ -133,6 +135,23 @@ const hasValidationModeOption = (option: any): option is InitActionOptions => {
133
135
  return false;
134
136
  };
135
137
 
138
+ const hasAdditionalErrorsOption = (option: any): option is InitActionOptions => {
139
+ if (option) {
140
+ return option.additionalErrors !== undefined;
141
+ }
142
+ return false;
143
+ };
144
+
145
+ const getAdditionalErrors = (
146
+ state: JsonFormsCore,
147
+ action?: InitAction | UpdateCoreAction
148
+ ): ErrorObject[] => {
149
+ if (action && hasAdditionalErrorsOption(action.options)) {
150
+ return action.options.additionalErrors;
151
+ }
152
+ return state.additionalErrors;
153
+ };
154
+
136
155
  // tslint:disable-next-line: cyclomatic-complexity
137
156
  export const coreReducer: Reducer<JsonFormsCore, CoreActions> = (
138
157
  state = initState,
@@ -145,12 +164,14 @@ export const coreReducer: Reducer<JsonFormsCore, CoreActions> = (
145
164
  const validationMode = getValidationMode(state, action);
146
165
  const v = validationMode === 'NoValidation' ? undefined : thisAjv.compile(action.schema);
147
166
  const e = validate(v, action.data);
167
+ const additionalErrors = getAdditionalErrors(state, action);
148
168
 
149
169
  return {
150
170
  ...state,
151
171
  data: action.data,
152
172
  schema: action.schema,
153
173
  uischema: action.uischema,
174
+ additionalErrors,
154
175
  errors: e,
155
176
  validator: v,
156
177
  ajv: thisAjv,
@@ -176,6 +197,7 @@ export const coreReducer: Reducer<JsonFormsCore, CoreActions> = (
176
197
  } else if (state.data !== action.data) {
177
198
  errors = validate(validator, action.data);
178
199
  }
200
+ const additionalErrors = getAdditionalErrors(state, action);
179
201
 
180
202
  const stateChanged =
181
203
  state.data !== action.data ||
@@ -184,7 +206,8 @@ export const coreReducer: Reducer<JsonFormsCore, CoreActions> = (
184
206
  state.ajv !== thisAjv ||
185
207
  state.errors !== errors ||
186
208
  state.validator !== validator ||
187
- state.validationMode !== validationMode
209
+ state.validationMode !== validationMode ||
210
+ state.additionalErrors !== additionalErrors
188
211
  return stateChanged
189
212
  ? {
190
213
  ...state,
@@ -195,6 +218,7 @@ export const coreReducer: Reducer<JsonFormsCore, CoreActions> = (
195
218
  errors: isEqual(errors, state.errors) ? state.errors : errors,
196
219
  validator: validator,
197
220
  validationMode: validationMode,
221
+ additionalErrors
198
222
  }
199
223
  : state;
200
224
  }
@@ -391,8 +415,11 @@ const getErrorsAt = (
391
415
  instancePath: string,
392
416
  schema: JsonSchema,
393
417
  matchPath: (path: string) => boolean
394
- ) => (state: JsonFormsCore): ErrorObject[] =>
395
- errorsAt(instancePath, schema, matchPath)(state.validationMode === 'ValidateAndHide' ? [] : state.errors);
418
+ ) => (state: JsonFormsCore): ErrorObject[] => {
419
+ const errors = state.errors ?? [];
420
+ const additionalErrors = state.additionalErrors ?? [];
421
+ return errorsAt(instancePath, schema, matchPath)(state.validationMode === 'ValidateAndHide' ? additionalErrors : [...errors, ...additionalErrors]);
422
+ }
396
423
 
397
424
  export const errorAt = (instancePath: string, schema: JsonSchema) =>
398
425
  getErrorsAt(instancePath, schema, path => path === instancePath);
@@ -465,8 +465,8 @@ export const mapStateToControlProps = (
465
465
  const schema = resolvedSchema ?? rootSchema;
466
466
  const t = getTranslator()(state);
467
467
  const te = getErrorTranslator()(state);
468
- const i18nLabel = t(getI18nKey(schema, uischema, path, 'label'), label);
469
- const i18nDescription = t(getI18nKey(schema, uischema, path, 'description'), description);
468
+ const i18nLabel = t(getI18nKey(schema, uischema, path, 'label'), label, {schema, uischema, path, errors} );
469
+ const i18nDescription = t(getI18nKey(schema, uischema, path, 'description'), description, {schema, uischema, path, errors});
470
470
  const i18nErrorMessage = getCombinedErrorMessage(errors, te, t, schema, uischema, path);
471
471
 
472
472
  return {
@@ -894,7 +894,10 @@ export const mapStateToJsonFormsRendererProps = (
894
894
  state.jsonforms.uischemas,
895
895
  ownProps.schema,
896
896
  undefined,
897
- ownProps.path
897
+ ownProps.path,
898
+ undefined,
899
+ undefined,
900
+ state.jsonforms.core.schema
898
901
  );
899
902
  } else {
900
903
  uischema = getUiSchema(state);
package/stats.html CHANGED
@@ -3259,7 +3259,7 @@ var drawChart = (function (exports) {
3259
3259
  </script>
3260
3260
  <script>
3261
3261
  /*<!--*/
3262
- const data = {"version":2,"tree":{"name":"root","children":[{"name":"jsonforms-core.esm.js","children":[{"name":"src","children":[{"name":"generators","children":[{"uid":"410c-1","name":"schema.ts"},{"uid":"410c-59","name":"uischema.ts"},{"uid":"410c-61","name":"Generate.ts"}]},{"name":"models","children":[{"uid":"410c-3","name":"draft4.ts"},{"uid":"410c-5","name":"uischema.ts"}]},{"name":"util","children":[{"uid":"410c-7","name":"array.ts"},{"uid":"410c-35","name":"path.ts"},{"uid":"410c-37","name":"resolvers.ts"},{"uid":"410c-39","name":"runtime.ts"},{"uid":"410c-41","name":"util.ts"},{"uid":"410c-43","name":"label.ts"},{"uid":"410c-45","name":"renderer.ts"},{"uid":"410c-47","name":"cell.ts"},{"uid":"410c-49","name":"combinators.ts"},{"uid":"410c-51","name":"ids.ts"},{"uid":"410c-53","name":"schema.ts"},{"uid":"410c-55","name":"uischema.ts"},{"uid":"410c-57","name":"validator.ts"}]},{"name":"reducers","children":[{"uid":"410c-9","name":"cells.ts"},{"uid":"410c-13","name":"config.ts"},{"uid":"410c-15","name":"core.ts"},{"uid":"410c-17","name":"default-data.ts"},{"uid":"410c-21","name":"i18n.ts"},{"uid":"410c-23","name":"renderers.ts"},{"uid":"410c-29","name":"uischemas.ts"},{"uid":"410c-31","name":"reducers.ts"},{"uid":"410c-33","name":"selectors.ts"}]},{"uid":"410c-11","name":"configDefault.ts"},{"name":"i18n/i18nUtil.ts","uid":"410c-19"},{"name":"testers","children":[{"uid":"410c-25","name":"testers.ts"},{"uid":"410c-27","name":"index.ts"}]},{"name":"actions","children":[{"uid":"410c-63","name":"actions.ts"},{"uid":"410c-65","name":"index.ts"}]},{"uid":"410c-67","name":"Helpers.ts"},{"uid":"410c-69","name":"index.ts"}]}]}],"isRoot":true},"nodeParts":{"410c-1":{"renderedLength":3843,"gzipLength":0,"brotliLength":0,"mainUid":"410c-0"},"410c-3":{"renderedLength":4050,"gzipLength":0,"brotliLength":0,"mainUid":"410c-2"},"410c-5":{"renderedLength":336,"gzipLength":0,"brotliLength":0,"mainUid":"410c-4"},"410c-7":{"renderedLength":421,"gzipLength":0,"brotliLength":0,"mainUid":"410c-6"},"410c-9":{"renderedLength":294,"gzipLength":0,"brotliLength":0,"mainUid":"410c-8"},"410c-11":{"renderedLength":133,"gzipLength":0,"brotliLength":0,"mainUid":"410c-10"},"410c-13":{"renderedLength":322,"gzipLength":0,"brotliLength":0,"mainUid":"410c-12"},"410c-15":{"renderedLength":9352,"gzipLength":0,"brotliLength":0,"mainUid":"410c-14"},"410c-17":{"renderedLength":434,"gzipLength":0,"brotliLength":0,"mainUid":"410c-16"},"410c-19":{"renderedLength":1945,"gzipLength":0,"brotliLength":0,"mainUid":"410c-18"},"410c-21":{"renderedLength":1754,"gzipLength":0,"brotliLength":0,"mainUid":"410c-20"},"410c-23":{"renderedLength":370,"gzipLength":0,"brotliLength":0,"mainUid":"410c-22"},"410c-25":{"renderedLength":8507,"gzipLength":0,"brotliLength":0,"mainUid":"410c-24"},"410c-27":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"mainUid":"410c-26"},"410c-29":{"renderedLength":783,"gzipLength":0,"brotliLength":0,"mainUid":"410c-28"},"410c-31":{"renderedLength":1846,"gzipLength":0,"brotliLength":0,"mainUid":"410c-30"},"410c-33":{"renderedLength":573,"gzipLength":0,"brotliLength":0,"mainUid":"410c-32"},"410c-35":{"renderedLength":1308,"gzipLength":0,"brotliLength":0,"mainUid":"410c-34"},"410c-37":{"renderedLength":3040,"gzipLength":0,"brotliLength":0,"mainUid":"410c-36"},"410c-39":{"renderedLength":3621,"gzipLength":0,"brotliLength":0,"mainUid":"410c-38"},"410c-41":{"renderedLength":1502,"gzipLength":0,"brotliLength":0,"mainUid":"410c-40"},"410c-43":{"renderedLength":1289,"gzipLength":0,"brotliLength":0,"mainUid":"410c-42"},"410c-45":{"renderedLength":13161,"gzipLength":0,"brotliLength":0,"mainUid":"410c-44"},"410c-47":{"renderedLength":2622,"gzipLength":0,"brotliLength":0,"mainUid":"410c-46"},"410c-49":{"renderedLength":671,"gzipLength":0,"brotliLength":0,"mainUid":"410c-48"},"410c-51":{"renderedLength":621,"gzipLength":0,"brotliLength":0,"mainUid":"410c-50"},"410c-53":{"renderedLength":365,"gzipLength":0,"brotliLength":0,"mainUid":"410c-52"},"410c-55":{"renderedLength":609,"gzipLength":0,"brotliLength":0,"mainUid":"410c-54"},"410c-57":{"renderedLength":196,"gzipLength":0,"brotliLength":0,"mainUid":"410c-56"},"410c-59":{"renderedLength":3310,"gzipLength":0,"brotliLength":0,"mainUid":"410c-58"},"410c-61":{"renderedLength":137,"gzipLength":0,"brotliLength":0,"mainUid":"410c-60"},"410c-63":{"renderedLength":3051,"gzipLength":0,"brotliLength":0,"mainUid":"410c-62"},"410c-65":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"mainUid":"410c-64"},"410c-67":{"renderedLength":80,"gzipLength":0,"brotliLength":0,"mainUid":"410c-66"},"410c-69":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"mainUid":"410c-68"}},"nodeMetas":{"410c-0":{"id":"/src/generators/schema.ts","moduleParts":{"jsonforms-core.esm.js":"410c-1"},"imported":[],"importedBy":[{"uid":"410c-70"},{"uid":"410c-60"}]},"410c-2":{"id":"/src/models/draft4.ts","moduleParts":{"jsonforms-core.esm.js":"410c-3"},"imported":[],"importedBy":[{"uid":"410c-71"}]},"410c-4":{"id":"/src/models/uischema.ts","moduleParts":{"jsonforms-core.esm.js":"410c-5"},"imported":[],"importedBy":[{"uid":"410c-71"}]},"410c-6":{"id":"/src/util/array.ts","moduleParts":{"jsonforms-core.esm.js":"410c-7"},"imported":[],"importedBy":[{"uid":"410c-73"},{"uid":"410c-44"}]},"410c-8":{"id":"/src/reducers/cells.ts","moduleParts":{"jsonforms-core.esm.js":"410c-9"},"imported":[{"uid":"410c-64"}],"importedBy":[{"uid":"410c-72"},{"uid":"410c-30"}]},"410c-10":{"id":"/src/configDefault.ts","moduleParts":{"jsonforms-core.esm.js":"410c-11"},"imported":[],"importedBy":[{"uid":"410c-12"}]},"410c-12":{"id":"/src/reducers/config.ts","moduleParts":{"jsonforms-core.esm.js":"410c-13"},"imported":[{"uid":"410c-85"},{"uid":"410c-64"},{"uid":"410c-10"}],"importedBy":[{"uid":"410c-72"},{"uid":"410c-30"}]},"410c-14":{"id":"/src/reducers/core.ts","moduleParts":{"jsonforms-core.esm.js":"410c-15"},"imported":[{"uid":"410c-86"},{"uid":"410c-87"},{"uid":"410c-88"},{"uid":"410c-89"},{"uid":"410c-90"},{"uid":"410c-91"},{"uid":"410c-64"},{"uid":"410c-73"}],"importedBy":[{"uid":"410c-72"},{"uid":"410c-30"},{"uid":"410c-32"}]},"410c-16":{"id":"/src/reducers/default-data.ts","moduleParts":{"jsonforms-core.esm.js":"410c-17"},"imported":[{"uid":"410c-64"}],"importedBy":[{"uid":"410c-72"},{"uid":"410c-30"},{"uid":"410c-32"}]},"410c-18":{"id":"/src/i18n/i18nUtil.ts","moduleParts":{"jsonforms-core.esm.js":"410c-19"},"imported":[{"uid":"410c-72"},{"uid":"410c-73"}],"importedBy":[{"uid":"410c-75"}]},"410c-20":{"id":"/src/reducers/i18n.ts","moduleParts":{"jsonforms-core.esm.js":"410c-21"},"imported":[{"uid":"410c-75"},{"uid":"410c-64"}],"importedBy":[{"uid":"410c-72"},{"uid":"410c-30"}]},"410c-22":{"id":"/src/reducers/renderers.ts","moduleParts":{"jsonforms-core.esm.js":"410c-23"},"imported":[{"uid":"410c-64"}],"importedBy":[{"uid":"410c-72"},{"uid":"410c-30"}]},"410c-24":{"id":"/src/testers/testers.ts","moduleParts":{"jsonforms-core.esm.js":"410c-25"},"imported":[{"uid":"410c-82"},{"uid":"410c-88"},{"uid":"410c-94"},{"uid":"410c-95"},{"uid":"410c-96"},{"uid":"410c-97"},{"uid":"410c-98"},{"uid":"410c-99"},{"uid":"410c-73"}],"importedBy":[{"uid":"410c-26"}]},"410c-26":{"id":"/src/testers/index.ts","moduleParts":{"jsonforms-core.esm.js":"410c-27"},"imported":[{"uid":"410c-24"}],"importedBy":[{"uid":"410c-68"},{"uid":"410c-28"}]},"410c-28":{"id":"/src/reducers/uischemas.ts","moduleParts":{"jsonforms-core.esm.js":"410c-29"},"imported":[{"uid":"410c-92"},{"uid":"410c-93"},{"uid":"410c-64"},{"uid":"410c-26"}],"importedBy":[{"uid":"410c-72"},{"uid":"410c-30"}]},"410c-30":{"id":"/src/reducers/reducers.ts","moduleParts":{"jsonforms-core.esm.js":"410c-31"},"imported":[{"uid":"410c-14"},{"uid":"410c-16"},{"uid":"410c-22"},{"uid":"410c-28"},{"uid":"410c-20"},{"uid":"410c-70"},{"uid":"410c-8"},{"uid":"410c-12"},{"uid":"410c-88"},{"uid":"410c-72"}],"importedBy":[{"uid":"410c-72"}]},"410c-32":{"id":"/src/reducers/selectors.ts","moduleParts":{"jsonforms-core.esm.js":"410c-33"},"imported":[{"uid":"410c-88"},{"uid":"410c-14"},{"uid":"410c-16"}],"importedBy":[{"uid":"410c-72"}]},"410c-34":{"id":"/src/util/path.ts","moduleParts":{"jsonforms-core.esm.js":"410c-35"},"imported":[{"uid":"410c-82"},{"uid":"410c-101"}],"importedBy":[{"uid":"410c-73"},{"uid":"410c-42"},{"uid":"410c-44"},{"uid":"410c-36"},{"uid":"410c-38"},{"uid":"410c-40"}]},"410c-36":{"id":"/src/util/resolvers.ts","moduleParts":{"jsonforms-core.esm.js":"410c-37"},"imported":[{"uid":"410c-82"},{"uid":"410c-88"},{"uid":"410c-34"}],"importedBy":[{"uid":"410c-73"},{"uid":"410c-38"},{"uid":"410c-40"}]},"410c-38":{"id":"/src/util/runtime.ts","moduleParts":{"jsonforms-core.esm.js":"410c-39"},"imported":[{"uid":"410c-103"},{"uid":"410c-71"},{"uid":"410c-36"},{"uid":"410c-34"},{"uid":"410c-72"}],"importedBy":[{"uid":"410c-73"},{"uid":"410c-46"},{"uid":"410c-44"},{"uid":"410c-40"}]},"410c-40":{"id":"/src/util/util.ts","moduleParts":{"jsonforms-core.esm.js":"410c-41"},"imported":[{"uid":"410c-82"},{"uid":"410c-96"},{"uid":"410c-99"},{"uid":"410c-102"},{"uid":"410c-36"},{"uid":"410c-34"},{"uid":"410c-38"}],"importedBy":[{"uid":"410c-73"},{"uid":"410c-46"},{"uid":"410c-48"},{"uid":"410c-44"}]},"410c-42":{"id":"/src/util/label.ts","moduleParts":{"jsonforms-core.esm.js":"410c-43"},"imported":[{"uid":"410c-83"},{"uid":"410c-34"}],"importedBy":[{"uid":"410c-73"},{"uid":"410c-44"}]},"410c-44":{"id":"/src/util/renderer.ts","moduleParts":{"jsonforms-core.esm.js":"410c-45"},"imported":[{"uid":"410c-88"},{"uid":"410c-102"},{"uid":"410c-72"},{"uid":"410c-38"},{"uid":"410c-42"},{"uid":"410c-6"},{"uid":"410c-40"},{"uid":"410c-34"},{"uid":"410c-64"},{"uid":"410c-75"}],"importedBy":[{"uid":"410c-73"},{"uid":"410c-46"}]},"410c-46":{"id":"/src/util/cell.ts","moduleParts":{"jsonforms-core.esm.js":"410c-47"},"imported":[{"uid":"410c-82"},{"uid":"410c-100"},{"uid":"410c-72"},{"uid":"410c-40"},{"uid":"410c-38"},{"uid":"410c-44"},{"uid":"410c-75"}],"importedBy":[{"uid":"410c-73"}]},"410c-48":{"id":"/src/util/combinators.ts","moduleParts":{"jsonforms-core.esm.js":"410c-49"},"imported":[{"uid":"410c-72"},{"uid":"410c-40"}],"importedBy":[{"uid":"410c-73"}]},"410c-50":{"id":"/src/util/ids.ts","moduleParts":{"jsonforms-core.esm.js":"410c-51"},"imported":[],"importedBy":[{"uid":"410c-73"}]},"410c-52":{"id":"/src/util/schema.ts","moduleParts":{"jsonforms-core.esm.js":"410c-53"},"imported":[{"uid":"410c-102"}],"importedBy":[{"uid":"410c-73"}]},"410c-54":{"id":"/src/util/uischema.ts","moduleParts":{"jsonforms-core.esm.js":"410c-55"},"imported":[{"uid":"410c-82"},{"uid":"410c-71"}],"importedBy":[{"uid":"410c-73"}]},"410c-56":{"id":"/src/util/validator.ts","moduleParts":{"jsonforms-core.esm.js":"410c-57"},"imported":[{"uid":"410c-104"},{"uid":"410c-105"}],"importedBy":[{"uid":"410c-73"}]},"410c-58":{"id":"/src/generators/uischema.ts","moduleParts":{"jsonforms-core.esm.js":"410c-59"},"imported":[{"uid":"410c-82"},{"uid":"410c-83"},{"uid":"410c-84"},{"uid":"410c-71"},{"uid":"410c-73"}],"importedBy":[{"uid":"410c-70"},{"uid":"410c-60"}]},"410c-60":{"id":"/src/generators/Generate.ts","moduleParts":{"jsonforms-core.esm.js":"410c-61"},"imported":[{"uid":"410c-0"},{"uid":"410c-58"}],"importedBy":[{"uid":"410c-70"}]},"410c-62":{"id":"/src/actions/actions.ts","moduleParts":{"jsonforms-core.esm.js":"410c-63"},"imported":[{"uid":"410c-70"}],"importedBy":[{"uid":"410c-64"}]},"410c-64":{"id":"/src/actions/index.ts","moduleParts":{"jsonforms-core.esm.js":"410c-65"},"imported":[{"uid":"410c-62"}],"importedBy":[{"uid":"410c-68"},{"uid":"410c-8"},{"uid":"410c-12"},{"uid":"410c-14"},{"uid":"410c-16"},{"uid":"410c-20"},{"uid":"410c-22"},{"uid":"410c-28"},{"uid":"410c-44"}]},"410c-66":{"id":"/src/Helpers.ts","moduleParts":{"jsonforms-core.esm.js":"410c-67"},"imported":[{"uid":"410c-73"}],"importedBy":[{"uid":"410c-68"}]},"410c-68":{"id":"/src/index.ts","moduleParts":{"jsonforms-core.esm.js":"410c-69"},"imported":[{"uid":"410c-64"},{"uid":"410c-70"},{"uid":"410c-71"},{"uid":"410c-72"},{"uid":"410c-26"},{"uid":"410c-73"},{"uid":"410c-66"},{"uid":"410c-74"},{"uid":"410c-75"}],"importedBy":[],"isEntry":true},"410c-70":{"id":"/src/generators/index.ts","moduleParts":{},"imported":[{"uid":"410c-60"},{"uid":"410c-0"},{"uid":"410c-58"}],"importedBy":[{"uid":"410c-68"},{"uid":"410c-62"},{"uid":"410c-30"}]},"410c-71":{"id":"/src/models/index.ts","moduleParts":{},"imported":[{"uid":"410c-2"},{"uid":"410c-76"},{"uid":"410c-77"},{"uid":"410c-78"},{"uid":"410c-4"}],"importedBy":[{"uid":"410c-68"},{"uid":"410c-58"},{"uid":"410c-38"},{"uid":"410c-54"}]},"410c-72":{"id":"/src/reducers/index.ts","moduleParts":{},"imported":[{"uid":"410c-8"},{"uid":"410c-12"},{"uid":"410c-14"},{"uid":"410c-16"},{"uid":"410c-20"},{"uid":"410c-30"},{"uid":"410c-22"},{"uid":"410c-32"},{"uid":"410c-28"}],"importedBy":[{"uid":"410c-68"},{"uid":"410c-30"},{"uid":"410c-46"},{"uid":"410c-48"},{"uid":"410c-44"},{"uid":"410c-38"},{"uid":"410c-18"}]},"410c-73":{"id":"/src/util/index.ts","moduleParts":{},"imported":[{"uid":"410c-6"},{"uid":"410c-46"},{"uid":"410c-48"},{"uid":"410c-79"},{"uid":"410c-50"},{"uid":"410c-42"},{"uid":"410c-34"},{"uid":"410c-44"},{"uid":"410c-36"},{"uid":"410c-38"},{"uid":"410c-52"},{"uid":"410c-80"},{"uid":"410c-54"},{"uid":"410c-40"},{"uid":"410c-56"}],"importedBy":[{"uid":"410c-68"},{"uid":"410c-66"},{"uid":"410c-58"},{"uid":"410c-14"},{"uid":"410c-24"},{"uid":"410c-18"}]},"410c-74":{"id":"/src/store.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"410c-68"}]},"410c-75":{"id":"/src/i18n/index.ts","moduleParts":{},"imported":[{"uid":"410c-81"},{"uid":"410c-18"}],"importedBy":[{"uid":"410c-68"},{"uid":"410c-20"},{"uid":"410c-46"},{"uid":"410c-44"}]},"410c-76":{"id":"/src/models/jsonSchema.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"410c-71"}]},"410c-77":{"id":"/src/models/jsonSchema4.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"410c-71"}]},"410c-78":{"id":"/src/models/jsonSchema7.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"410c-71"}]},"410c-79":{"id":"/src/util/Formatted.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"410c-73"}]},"410c-80":{"id":"/src/util/type.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"410c-73"}]},"410c-81":{"id":"/src/i18n/i18nTypes.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"410c-75"}]},"410c-82":{"id":"lodash/isEmpty","moduleParts":{},"imported":[],"importedBy":[{"uid":"410c-58"},{"uid":"410c-24"},{"uid":"410c-46"},{"uid":"410c-34"},{"uid":"410c-36"},{"uid":"410c-54"},{"uid":"410c-40"}],"isExternal":true},"410c-83":{"id":"lodash/startCase","moduleParts":{},"imported":[],"importedBy":[{"uid":"410c-58"},{"uid":"410c-42"}],"isExternal":true},"410c-84":{"id":"lodash/keys","moduleParts":{},"imported":[],"importedBy":[{"uid":"410c-58"}],"isExternal":true},"410c-85":{"id":"lodash/merge","moduleParts":{},"imported":[],"importedBy":[{"uid":"410c-12"}],"isExternal":true},"410c-86":{"id":"lodash/cloneDeep","moduleParts":{},"imported":[],"importedBy":[{"uid":"410c-14"}],"isExternal":true},"410c-87":{"id":"lodash/fp/set","moduleParts":{},"imported":[],"importedBy":[{"uid":"410c-14"}],"isExternal":true},"410c-88":{"id":"lodash/get","moduleParts":{},"imported":[],"importedBy":[{"uid":"410c-14"},{"uid":"410c-30"},{"uid":"410c-32"},{"uid":"410c-24"},{"uid":"410c-44"},{"uid":"410c-36"}],"isExternal":true},"410c-89":{"id":"lodash/filter","moduleParts":{},"imported":[],"importedBy":[{"uid":"410c-14"}],"isExternal":true},"410c-90":{"id":"lodash/isEqual","moduleParts":{},"imported":[],"importedBy":[{"uid":"410c-14"}],"isExternal":true},"410c-91":{"id":"lodash/isFunction","moduleParts":{},"imported":[],"importedBy":[{"uid":"410c-14"}],"isExternal":true},"410c-92":{"id":"lodash/maxBy","moduleParts":{},"imported":[],"importedBy":[{"uid":"410c-28"}],"isExternal":true},"410c-93":{"id":"lodash/remove","moduleParts":{},"imported":[],"importedBy":[{"uid":"410c-28"}],"isExternal":true},"410c-94":{"id":"lodash/endsWith","moduleParts":{},"imported":[],"importedBy":[{"uid":"410c-24"}],"isExternal":true},"410c-95":{"id":"lodash/last","moduleParts":{},"imported":[],"importedBy":[{"uid":"410c-24"}],"isExternal":true},"410c-96":{"id":"lodash/isArray","moduleParts":{},"imported":[],"importedBy":[{"uid":"410c-24"},{"uid":"410c-40"}],"isExternal":true},"410c-97":{"id":"lodash/reduce","moduleParts":{},"imported":[],"importedBy":[{"uid":"410c-24"}],"isExternal":true},"410c-98":{"id":"lodash/toPairs","moduleParts":{},"imported":[],"importedBy":[{"uid":"410c-24"}],"isExternal":true},"410c-99":{"id":"lodash/includes","moduleParts":{},"imported":[],"importedBy":[{"uid":"410c-24"},{"uid":"410c-40"}],"isExternal":true},"410c-100":{"id":"lodash/union","moduleParts":{},"imported":[],"importedBy":[{"uid":"410c-46"}],"isExternal":true},"410c-101":{"id":"lodash/range","moduleParts":{},"imported":[],"importedBy":[{"uid":"410c-34"}],"isExternal":true},"410c-102":{"id":"lodash/find","moduleParts":{},"imported":[],"importedBy":[{"uid":"410c-44"},{"uid":"410c-52"},{"uid":"410c-40"}],"isExternal":true},"410c-103":{"id":"lodash/has","moduleParts":{},"imported":[],"importedBy":[{"uid":"410c-38"}],"isExternal":true},"410c-104":{"id":"ajv","moduleParts":{},"imported":[],"importedBy":[{"uid":"410c-56"}],"isExternal":true},"410c-105":{"id":"ajv-formats","moduleParts":{},"imported":[],"importedBy":[{"uid":"410c-56"}],"isExternal":true}},"env":{"rollup":"2.61.1"},"options":{"gzip":false,"brotli":false,"sourcemap":false}};
3262
+ const data = {"version":2,"tree":{"name":"root","children":[{"name":"jsonforms-core.esm.js","children":[{"name":"src","children":[{"name":"generators","children":[{"uid":"40e6-1","name":"schema.ts"},{"uid":"40e6-59","name":"uischema.ts"},{"uid":"40e6-61","name":"Generate.ts"}]},{"name":"models","children":[{"uid":"40e6-3","name":"draft4.ts"},{"uid":"40e6-5","name":"uischema.ts"}]},{"name":"util","children":[{"uid":"40e6-7","name":"array.ts"},{"uid":"40e6-35","name":"path.ts"},{"uid":"40e6-37","name":"resolvers.ts"},{"uid":"40e6-39","name":"runtime.ts"},{"uid":"40e6-41","name":"util.ts"},{"uid":"40e6-43","name":"label.ts"},{"uid":"40e6-45","name":"renderer.ts"},{"uid":"40e6-47","name":"cell.ts"},{"uid":"40e6-49","name":"combinators.ts"},{"uid":"40e6-51","name":"ids.ts"},{"uid":"40e6-53","name":"schema.ts"},{"uid":"40e6-55","name":"uischema.ts"},{"uid":"40e6-57","name":"validator.ts"}]},{"name":"reducers","children":[{"uid":"40e6-9","name":"cells.ts"},{"uid":"40e6-13","name":"config.ts"},{"uid":"40e6-15","name":"core.ts"},{"uid":"40e6-17","name":"default-data.ts"},{"uid":"40e6-21","name":"i18n.ts"},{"uid":"40e6-23","name":"renderers.ts"},{"uid":"40e6-29","name":"uischemas.ts"},{"uid":"40e6-31","name":"reducers.ts"},{"uid":"40e6-33","name":"selectors.ts"}]},{"uid":"40e6-11","name":"configDefault.ts"},{"name":"i18n/i18nUtil.ts","uid":"40e6-19"},{"name":"testers","children":[{"uid":"40e6-25","name":"testers.ts"},{"uid":"40e6-27","name":"index.ts"}]},{"name":"actions","children":[{"uid":"40e6-63","name":"actions.ts"},{"uid":"40e6-65","name":"index.ts"}]},{"uid":"40e6-67","name":"Helpers.ts"},{"uid":"40e6-69","name":"index.ts"}]}]}],"isRoot":true},"nodeParts":{"40e6-1":{"renderedLength":3843,"gzipLength":0,"brotliLength":0,"mainUid":"40e6-0"},"40e6-3":{"renderedLength":4050,"gzipLength":0,"brotliLength":0,"mainUid":"40e6-2"},"40e6-5":{"renderedLength":336,"gzipLength":0,"brotliLength":0,"mainUid":"40e6-4"},"40e6-7":{"renderedLength":421,"gzipLength":0,"brotliLength":0,"mainUid":"40e6-6"},"40e6-9":{"renderedLength":294,"gzipLength":0,"brotliLength":0,"mainUid":"40e6-8"},"40e6-11":{"renderedLength":133,"gzipLength":0,"brotliLength":0,"mainUid":"40e6-10"},"40e6-13":{"renderedLength":322,"gzipLength":0,"brotliLength":0,"mainUid":"40e6-12"},"40e6-15":{"renderedLength":10156,"gzipLength":0,"brotliLength":0,"mainUid":"40e6-14"},"40e6-17":{"renderedLength":434,"gzipLength":0,"brotliLength":0,"mainUid":"40e6-16"},"40e6-19":{"renderedLength":2025,"gzipLength":0,"brotliLength":0,"mainUid":"40e6-18"},"40e6-21":{"renderedLength":1754,"gzipLength":0,"brotliLength":0,"mainUid":"40e6-20"},"40e6-23":{"renderedLength":370,"gzipLength":0,"brotliLength":0,"mainUid":"40e6-22"},"40e6-25":{"renderedLength":8507,"gzipLength":0,"brotliLength":0,"mainUid":"40e6-24"},"40e6-27":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"mainUid":"40e6-26"},"40e6-29":{"renderedLength":783,"gzipLength":0,"brotliLength":0,"mainUid":"40e6-28"},"40e6-31":{"renderedLength":1846,"gzipLength":0,"brotliLength":0,"mainUid":"40e6-30"},"40e6-33":{"renderedLength":573,"gzipLength":0,"brotliLength":0,"mainUid":"40e6-32"},"40e6-35":{"renderedLength":1308,"gzipLength":0,"brotliLength":0,"mainUid":"40e6-34"},"40e6-37":{"renderedLength":3040,"gzipLength":0,"brotliLength":0,"mainUid":"40e6-36"},"40e6-39":{"renderedLength":3621,"gzipLength":0,"brotliLength":0,"mainUid":"40e6-38"},"40e6-41":{"renderedLength":1502,"gzipLength":0,"brotliLength":0,"mainUid":"40e6-40"},"40e6-43":{"renderedLength":1289,"gzipLength":0,"brotliLength":0,"mainUid":"40e6-42"},"40e6-45":{"renderedLength":13284,"gzipLength":0,"brotliLength":0,"mainUid":"40e6-44"},"40e6-47":{"renderedLength":2622,"gzipLength":0,"brotliLength":0,"mainUid":"40e6-46"},"40e6-49":{"renderedLength":671,"gzipLength":0,"brotliLength":0,"mainUid":"40e6-48"},"40e6-51":{"renderedLength":621,"gzipLength":0,"brotliLength":0,"mainUid":"40e6-50"},"40e6-53":{"renderedLength":365,"gzipLength":0,"brotliLength":0,"mainUid":"40e6-52"},"40e6-55":{"renderedLength":609,"gzipLength":0,"brotliLength":0,"mainUid":"40e6-54"},"40e6-57":{"renderedLength":196,"gzipLength":0,"brotliLength":0,"mainUid":"40e6-56"},"40e6-59":{"renderedLength":3310,"gzipLength":0,"brotliLength":0,"mainUid":"40e6-58"},"40e6-61":{"renderedLength":137,"gzipLength":0,"brotliLength":0,"mainUid":"40e6-60"},"40e6-63":{"renderedLength":3051,"gzipLength":0,"brotliLength":0,"mainUid":"40e6-62"},"40e6-65":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"mainUid":"40e6-64"},"40e6-67":{"renderedLength":80,"gzipLength":0,"brotliLength":0,"mainUid":"40e6-66"},"40e6-69":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"mainUid":"40e6-68"}},"nodeMetas":{"40e6-0":{"id":"/src/generators/schema.ts","moduleParts":{"jsonforms-core.esm.js":"40e6-1"},"imported":[],"importedBy":[{"uid":"40e6-70"},{"uid":"40e6-60"}]},"40e6-2":{"id":"/src/models/draft4.ts","moduleParts":{"jsonforms-core.esm.js":"40e6-3"},"imported":[],"importedBy":[{"uid":"40e6-71"}]},"40e6-4":{"id":"/src/models/uischema.ts","moduleParts":{"jsonforms-core.esm.js":"40e6-5"},"imported":[],"importedBy":[{"uid":"40e6-71"}]},"40e6-6":{"id":"/src/util/array.ts","moduleParts":{"jsonforms-core.esm.js":"40e6-7"},"imported":[],"importedBy":[{"uid":"40e6-73"},{"uid":"40e6-44"}]},"40e6-8":{"id":"/src/reducers/cells.ts","moduleParts":{"jsonforms-core.esm.js":"40e6-9"},"imported":[{"uid":"40e6-64"}],"importedBy":[{"uid":"40e6-72"},{"uid":"40e6-30"}]},"40e6-10":{"id":"/src/configDefault.ts","moduleParts":{"jsonforms-core.esm.js":"40e6-11"},"imported":[],"importedBy":[{"uid":"40e6-12"}]},"40e6-12":{"id":"/src/reducers/config.ts","moduleParts":{"jsonforms-core.esm.js":"40e6-13"},"imported":[{"uid":"40e6-85"},{"uid":"40e6-64"},{"uid":"40e6-10"}],"importedBy":[{"uid":"40e6-72"},{"uid":"40e6-30"}]},"40e6-14":{"id":"/src/reducers/core.ts","moduleParts":{"jsonforms-core.esm.js":"40e6-15"},"imported":[{"uid":"40e6-86"},{"uid":"40e6-87"},{"uid":"40e6-88"},{"uid":"40e6-89"},{"uid":"40e6-90"},{"uid":"40e6-91"},{"uid":"40e6-64"},{"uid":"40e6-73"}],"importedBy":[{"uid":"40e6-72"},{"uid":"40e6-30"},{"uid":"40e6-32"}]},"40e6-16":{"id":"/src/reducers/default-data.ts","moduleParts":{"jsonforms-core.esm.js":"40e6-17"},"imported":[{"uid":"40e6-64"}],"importedBy":[{"uid":"40e6-72"},{"uid":"40e6-30"},{"uid":"40e6-32"}]},"40e6-18":{"id":"/src/i18n/i18nUtil.ts","moduleParts":{"jsonforms-core.esm.js":"40e6-19"},"imported":[{"uid":"40e6-72"},{"uid":"40e6-73"}],"importedBy":[{"uid":"40e6-75"}]},"40e6-20":{"id":"/src/reducers/i18n.ts","moduleParts":{"jsonforms-core.esm.js":"40e6-21"},"imported":[{"uid":"40e6-75"},{"uid":"40e6-64"}],"importedBy":[{"uid":"40e6-72"},{"uid":"40e6-30"}]},"40e6-22":{"id":"/src/reducers/renderers.ts","moduleParts":{"jsonforms-core.esm.js":"40e6-23"},"imported":[{"uid":"40e6-64"}],"importedBy":[{"uid":"40e6-72"},{"uid":"40e6-30"}]},"40e6-24":{"id":"/src/testers/testers.ts","moduleParts":{"jsonforms-core.esm.js":"40e6-25"},"imported":[{"uid":"40e6-82"},{"uid":"40e6-88"},{"uid":"40e6-94"},{"uid":"40e6-95"},{"uid":"40e6-96"},{"uid":"40e6-97"},{"uid":"40e6-98"},{"uid":"40e6-99"},{"uid":"40e6-73"}],"importedBy":[{"uid":"40e6-26"}]},"40e6-26":{"id":"/src/testers/index.ts","moduleParts":{"jsonforms-core.esm.js":"40e6-27"},"imported":[{"uid":"40e6-24"}],"importedBy":[{"uid":"40e6-68"},{"uid":"40e6-28"}]},"40e6-28":{"id":"/src/reducers/uischemas.ts","moduleParts":{"jsonforms-core.esm.js":"40e6-29"},"imported":[{"uid":"40e6-92"},{"uid":"40e6-93"},{"uid":"40e6-64"},{"uid":"40e6-26"}],"importedBy":[{"uid":"40e6-72"},{"uid":"40e6-30"}]},"40e6-30":{"id":"/src/reducers/reducers.ts","moduleParts":{"jsonforms-core.esm.js":"40e6-31"},"imported":[{"uid":"40e6-14"},{"uid":"40e6-16"},{"uid":"40e6-22"},{"uid":"40e6-28"},{"uid":"40e6-20"},{"uid":"40e6-70"},{"uid":"40e6-8"},{"uid":"40e6-12"},{"uid":"40e6-88"},{"uid":"40e6-72"}],"importedBy":[{"uid":"40e6-72"}]},"40e6-32":{"id":"/src/reducers/selectors.ts","moduleParts":{"jsonforms-core.esm.js":"40e6-33"},"imported":[{"uid":"40e6-88"},{"uid":"40e6-14"},{"uid":"40e6-16"}],"importedBy":[{"uid":"40e6-72"}]},"40e6-34":{"id":"/src/util/path.ts","moduleParts":{"jsonforms-core.esm.js":"40e6-35"},"imported":[{"uid":"40e6-82"},{"uid":"40e6-101"}],"importedBy":[{"uid":"40e6-73"},{"uid":"40e6-42"},{"uid":"40e6-44"},{"uid":"40e6-36"},{"uid":"40e6-38"},{"uid":"40e6-40"}]},"40e6-36":{"id":"/src/util/resolvers.ts","moduleParts":{"jsonforms-core.esm.js":"40e6-37"},"imported":[{"uid":"40e6-82"},{"uid":"40e6-88"},{"uid":"40e6-34"}],"importedBy":[{"uid":"40e6-73"},{"uid":"40e6-38"},{"uid":"40e6-40"}]},"40e6-38":{"id":"/src/util/runtime.ts","moduleParts":{"jsonforms-core.esm.js":"40e6-39"},"imported":[{"uid":"40e6-103"},{"uid":"40e6-71"},{"uid":"40e6-36"},{"uid":"40e6-34"},{"uid":"40e6-72"}],"importedBy":[{"uid":"40e6-73"},{"uid":"40e6-46"},{"uid":"40e6-44"},{"uid":"40e6-40"}]},"40e6-40":{"id":"/src/util/util.ts","moduleParts":{"jsonforms-core.esm.js":"40e6-41"},"imported":[{"uid":"40e6-82"},{"uid":"40e6-96"},{"uid":"40e6-99"},{"uid":"40e6-102"},{"uid":"40e6-36"},{"uid":"40e6-34"},{"uid":"40e6-38"}],"importedBy":[{"uid":"40e6-73"},{"uid":"40e6-46"},{"uid":"40e6-48"},{"uid":"40e6-44"}]},"40e6-42":{"id":"/src/util/label.ts","moduleParts":{"jsonforms-core.esm.js":"40e6-43"},"imported":[{"uid":"40e6-83"},{"uid":"40e6-34"}],"importedBy":[{"uid":"40e6-73"},{"uid":"40e6-44"}]},"40e6-44":{"id":"/src/util/renderer.ts","moduleParts":{"jsonforms-core.esm.js":"40e6-45"},"imported":[{"uid":"40e6-88"},{"uid":"40e6-102"},{"uid":"40e6-72"},{"uid":"40e6-38"},{"uid":"40e6-42"},{"uid":"40e6-6"},{"uid":"40e6-40"},{"uid":"40e6-34"},{"uid":"40e6-64"},{"uid":"40e6-75"}],"importedBy":[{"uid":"40e6-73"},{"uid":"40e6-46"}]},"40e6-46":{"id":"/src/util/cell.ts","moduleParts":{"jsonforms-core.esm.js":"40e6-47"},"imported":[{"uid":"40e6-82"},{"uid":"40e6-100"},{"uid":"40e6-72"},{"uid":"40e6-40"},{"uid":"40e6-38"},{"uid":"40e6-44"},{"uid":"40e6-75"}],"importedBy":[{"uid":"40e6-73"}]},"40e6-48":{"id":"/src/util/combinators.ts","moduleParts":{"jsonforms-core.esm.js":"40e6-49"},"imported":[{"uid":"40e6-72"},{"uid":"40e6-40"}],"importedBy":[{"uid":"40e6-73"}]},"40e6-50":{"id":"/src/util/ids.ts","moduleParts":{"jsonforms-core.esm.js":"40e6-51"},"imported":[],"importedBy":[{"uid":"40e6-73"}]},"40e6-52":{"id":"/src/util/schema.ts","moduleParts":{"jsonforms-core.esm.js":"40e6-53"},"imported":[{"uid":"40e6-102"}],"importedBy":[{"uid":"40e6-73"}]},"40e6-54":{"id":"/src/util/uischema.ts","moduleParts":{"jsonforms-core.esm.js":"40e6-55"},"imported":[{"uid":"40e6-82"},{"uid":"40e6-71"}],"importedBy":[{"uid":"40e6-73"}]},"40e6-56":{"id":"/src/util/validator.ts","moduleParts":{"jsonforms-core.esm.js":"40e6-57"},"imported":[{"uid":"40e6-104"},{"uid":"40e6-105"}],"importedBy":[{"uid":"40e6-73"}]},"40e6-58":{"id":"/src/generators/uischema.ts","moduleParts":{"jsonforms-core.esm.js":"40e6-59"},"imported":[{"uid":"40e6-82"},{"uid":"40e6-83"},{"uid":"40e6-84"},{"uid":"40e6-71"},{"uid":"40e6-73"}],"importedBy":[{"uid":"40e6-70"},{"uid":"40e6-60"}]},"40e6-60":{"id":"/src/generators/Generate.ts","moduleParts":{"jsonforms-core.esm.js":"40e6-61"},"imported":[{"uid":"40e6-0"},{"uid":"40e6-58"}],"importedBy":[{"uid":"40e6-70"}]},"40e6-62":{"id":"/src/actions/actions.ts","moduleParts":{"jsonforms-core.esm.js":"40e6-63"},"imported":[{"uid":"40e6-70"}],"importedBy":[{"uid":"40e6-64"}]},"40e6-64":{"id":"/src/actions/index.ts","moduleParts":{"jsonforms-core.esm.js":"40e6-65"},"imported":[{"uid":"40e6-62"}],"importedBy":[{"uid":"40e6-68"},{"uid":"40e6-8"},{"uid":"40e6-12"},{"uid":"40e6-14"},{"uid":"40e6-16"},{"uid":"40e6-20"},{"uid":"40e6-22"},{"uid":"40e6-28"},{"uid":"40e6-44"}]},"40e6-66":{"id":"/src/Helpers.ts","moduleParts":{"jsonforms-core.esm.js":"40e6-67"},"imported":[{"uid":"40e6-73"}],"importedBy":[{"uid":"40e6-68"}]},"40e6-68":{"id":"/src/index.ts","moduleParts":{"jsonforms-core.esm.js":"40e6-69"},"imported":[{"uid":"40e6-64"},{"uid":"40e6-70"},{"uid":"40e6-71"},{"uid":"40e6-72"},{"uid":"40e6-26"},{"uid":"40e6-73"},{"uid":"40e6-66"},{"uid":"40e6-74"},{"uid":"40e6-75"}],"importedBy":[],"isEntry":true},"40e6-70":{"id":"/src/generators/index.ts","moduleParts":{},"imported":[{"uid":"40e6-60"},{"uid":"40e6-0"},{"uid":"40e6-58"}],"importedBy":[{"uid":"40e6-68"},{"uid":"40e6-62"},{"uid":"40e6-30"}]},"40e6-71":{"id":"/src/models/index.ts","moduleParts":{},"imported":[{"uid":"40e6-2"},{"uid":"40e6-76"},{"uid":"40e6-77"},{"uid":"40e6-78"},{"uid":"40e6-4"}],"importedBy":[{"uid":"40e6-68"},{"uid":"40e6-58"},{"uid":"40e6-38"},{"uid":"40e6-54"}]},"40e6-72":{"id":"/src/reducers/index.ts","moduleParts":{},"imported":[{"uid":"40e6-8"},{"uid":"40e6-12"},{"uid":"40e6-14"},{"uid":"40e6-16"},{"uid":"40e6-20"},{"uid":"40e6-30"},{"uid":"40e6-22"},{"uid":"40e6-32"},{"uid":"40e6-28"}],"importedBy":[{"uid":"40e6-68"},{"uid":"40e6-30"},{"uid":"40e6-46"},{"uid":"40e6-48"},{"uid":"40e6-44"},{"uid":"40e6-38"},{"uid":"40e6-18"}]},"40e6-73":{"id":"/src/util/index.ts","moduleParts":{},"imported":[{"uid":"40e6-6"},{"uid":"40e6-46"},{"uid":"40e6-48"},{"uid":"40e6-79"},{"uid":"40e6-50"},{"uid":"40e6-42"},{"uid":"40e6-34"},{"uid":"40e6-44"},{"uid":"40e6-36"},{"uid":"40e6-38"},{"uid":"40e6-52"},{"uid":"40e6-80"},{"uid":"40e6-54"},{"uid":"40e6-40"},{"uid":"40e6-56"}],"importedBy":[{"uid":"40e6-68"},{"uid":"40e6-66"},{"uid":"40e6-58"},{"uid":"40e6-14"},{"uid":"40e6-24"},{"uid":"40e6-18"}]},"40e6-74":{"id":"/src/store.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"40e6-68"}]},"40e6-75":{"id":"/src/i18n/index.ts","moduleParts":{},"imported":[{"uid":"40e6-81"},{"uid":"40e6-18"}],"importedBy":[{"uid":"40e6-68"},{"uid":"40e6-20"},{"uid":"40e6-46"},{"uid":"40e6-44"}]},"40e6-76":{"id":"/src/models/jsonSchema.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"40e6-71"}]},"40e6-77":{"id":"/src/models/jsonSchema4.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"40e6-71"}]},"40e6-78":{"id":"/src/models/jsonSchema7.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"40e6-71"}]},"40e6-79":{"id":"/src/util/Formatted.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"40e6-73"}]},"40e6-80":{"id":"/src/util/type.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"40e6-73"}]},"40e6-81":{"id":"/src/i18n/i18nTypes.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"40e6-75"}]},"40e6-82":{"id":"lodash/isEmpty","moduleParts":{},"imported":[],"importedBy":[{"uid":"40e6-58"},{"uid":"40e6-24"},{"uid":"40e6-46"},{"uid":"40e6-34"},{"uid":"40e6-36"},{"uid":"40e6-54"},{"uid":"40e6-40"}],"isExternal":true},"40e6-83":{"id":"lodash/startCase","moduleParts":{},"imported":[],"importedBy":[{"uid":"40e6-58"},{"uid":"40e6-42"}],"isExternal":true},"40e6-84":{"id":"lodash/keys","moduleParts":{},"imported":[],"importedBy":[{"uid":"40e6-58"}],"isExternal":true},"40e6-85":{"id":"lodash/merge","moduleParts":{},"imported":[],"importedBy":[{"uid":"40e6-12"}],"isExternal":true},"40e6-86":{"id":"lodash/cloneDeep","moduleParts":{},"imported":[],"importedBy":[{"uid":"40e6-14"}],"isExternal":true},"40e6-87":{"id":"lodash/fp/set","moduleParts":{},"imported":[],"importedBy":[{"uid":"40e6-14"}],"isExternal":true},"40e6-88":{"id":"lodash/get","moduleParts":{},"imported":[],"importedBy":[{"uid":"40e6-14"},{"uid":"40e6-30"},{"uid":"40e6-32"},{"uid":"40e6-24"},{"uid":"40e6-44"},{"uid":"40e6-36"}],"isExternal":true},"40e6-89":{"id":"lodash/filter","moduleParts":{},"imported":[],"importedBy":[{"uid":"40e6-14"}],"isExternal":true},"40e6-90":{"id":"lodash/isEqual","moduleParts":{},"imported":[],"importedBy":[{"uid":"40e6-14"}],"isExternal":true},"40e6-91":{"id":"lodash/isFunction","moduleParts":{},"imported":[],"importedBy":[{"uid":"40e6-14"}],"isExternal":true},"40e6-92":{"id":"lodash/maxBy","moduleParts":{},"imported":[],"importedBy":[{"uid":"40e6-28"}],"isExternal":true},"40e6-93":{"id":"lodash/remove","moduleParts":{},"imported":[],"importedBy":[{"uid":"40e6-28"}],"isExternal":true},"40e6-94":{"id":"lodash/endsWith","moduleParts":{},"imported":[],"importedBy":[{"uid":"40e6-24"}],"isExternal":true},"40e6-95":{"id":"lodash/last","moduleParts":{},"imported":[],"importedBy":[{"uid":"40e6-24"}],"isExternal":true},"40e6-96":{"id":"lodash/isArray","moduleParts":{},"imported":[],"importedBy":[{"uid":"40e6-24"},{"uid":"40e6-40"}],"isExternal":true},"40e6-97":{"id":"lodash/reduce","moduleParts":{},"imported":[],"importedBy":[{"uid":"40e6-24"}],"isExternal":true},"40e6-98":{"id":"lodash/toPairs","moduleParts":{},"imported":[],"importedBy":[{"uid":"40e6-24"}],"isExternal":true},"40e6-99":{"id":"lodash/includes","moduleParts":{},"imported":[],"importedBy":[{"uid":"40e6-24"},{"uid":"40e6-40"}],"isExternal":true},"40e6-100":{"id":"lodash/union","moduleParts":{},"imported":[],"importedBy":[{"uid":"40e6-46"}],"isExternal":true},"40e6-101":{"id":"lodash/range","moduleParts":{},"imported":[],"importedBy":[{"uid":"40e6-34"}],"isExternal":true},"40e6-102":{"id":"lodash/find","moduleParts":{},"imported":[],"importedBy":[{"uid":"40e6-44"},{"uid":"40e6-52"},{"uid":"40e6-40"}],"isExternal":true},"40e6-103":{"id":"lodash/has","moduleParts":{},"imported":[],"importedBy":[{"uid":"40e6-38"}],"isExternal":true},"40e6-104":{"id":"ajv","moduleParts":{},"imported":[],"importedBy":[{"uid":"40e6-56"}],"isExternal":true},"40e6-105":{"id":"ajv-formats","moduleParts":{},"imported":[],"importedBy":[{"uid":"40e6-56"}],"isExternal":true}},"env":{"rollup":"2.61.1"},"options":{"gzip":false,"brotli":false,"sourcemap":false}};
3263
3263
 
3264
3264
  const run = () => {
3265
3265
  const width = window.innerWidth;
@@ -133,6 +133,15 @@ test('core reducer - previous state - init without options should keep previous
133
133
  }
134
134
  };
135
135
  const myAjv = new Ajv();
136
+ const additionalErrors = [{
137
+ instancePath: '',
138
+ dataPath: '',
139
+ schemaPath: '#/required',
140
+ keyword: 'required',
141
+ params: {
142
+ missingProperty: 'foo'
143
+ },
144
+ }];
136
145
  const after = coreReducer(
137
146
  {
138
147
  data: {},
@@ -141,10 +150,12 @@ test('core reducer - previous state - init without options should keep previous
141
150
  type: 'Label'
142
151
  },
143
152
  ajv: myAjv,
153
+ additionalErrors
144
154
  },
145
155
  init({}, schema)
146
156
  );
147
157
  t.deepEqual(after.ajv, myAjv);
158
+ t.deepEqual(after.additionalErrors, additionalErrors);
148
159
  });
149
160
 
150
161
  test('core reducer - previous state - init with ajv options object should overwrite ajv', t => {
@@ -173,6 +184,49 @@ test('core reducer - previous state - init with ajv options object should overwr
173
184
  t.deepEqual(after.ajv, newAjv);
174
185
  });
175
186
 
187
+ test('core reducer - previous state - init with additionalErrors option object should overwrite additionalErrors', t => {
188
+ const schema: JsonSchema = {
189
+ type: 'object',
190
+ properties: {
191
+ foo: {
192
+ type: 'string',
193
+ const: 'bar'
194
+ }
195
+ }
196
+ };
197
+
198
+ const prevAdditionalErrors = [{
199
+ instancePath: '',
200
+ dataPath: '',
201
+ schemaPath: '#/required',
202
+ keyword: 'required',
203
+ params: {
204
+ missingProperty: 'foo'
205
+ },
206
+ }];
207
+ const currentAdditionalErrors = [{
208
+ instancePath: '',
209
+ dataPath: '',
210
+ schemaPath: '#/required',
211
+ keyword: 'required',
212
+ params: {
213
+ missingProperty: 'bar'
214
+ },
215
+ }];
216
+ const after = coreReducer(
217
+ {
218
+ data: {},
219
+ schema: {},
220
+ uischema: {
221
+ type: 'Label'
222
+ },
223
+ additionalErrors: prevAdditionalErrors
224
+ },
225
+ init({}, schema, undefined, { additionalErrors: currentAdditionalErrors })
226
+ );
227
+ t.deepEqual(after.additionalErrors, currentAdditionalErrors);
228
+ });
229
+
176
230
  test('core reducer - previous state - init with empty options should not overwrite', t => {
177
231
  const schema: JsonSchema = {
178
232
  type: 'object',
@@ -184,6 +238,15 @@ test('core reducer - previous state - init with empty options should not overwri
184
238
  }
185
239
  };
186
240
  const myAjv = new Ajv();
241
+ const additionalErrors = [{
242
+ instancePath: '',
243
+ dataPath: '',
244
+ schemaPath: '#/required',
245
+ keyword: 'required',
246
+ params: {
247
+ missingProperty: 'foo'
248
+ },
249
+ }];
187
250
  const after = coreReducer(
188
251
  {
189
252
  data: {},
@@ -192,10 +255,12 @@ test('core reducer - previous state - init with empty options should not overwri
192
255
  type: 'Label'
193
256
  },
194
257
  ajv: myAjv,
258
+ additionalErrors
195
259
  },
196
260
  init({}, schema, undefined, {})
197
261
  );
198
262
  t.deepEqual(after.ajv, myAjv);
263
+ t.deepEqual(after.additionalErrors, additionalErrors);
199
264
  });
200
265
 
201
266
  test('core reducer - previous state - init with undefined data should not change data', t => {
@@ -1181,6 +1246,108 @@ test('errorAt respects hide validation mode', t => {
1181
1246
  t.is(errorAt('animal', schema)(core).length, 0);
1182
1247
  })
1183
1248
 
1249
+ test('errorAt contains additionalErrors', t => {
1250
+ const schema = {
1251
+ type: 'object',
1252
+ properties: {
1253
+ animal: {
1254
+ type: 'string'
1255
+ }
1256
+ }
1257
+ };
1258
+
1259
+ const data = {
1260
+ animal: 100
1261
+ };
1262
+
1263
+ const additionalErrors = [{
1264
+ instancePath: '',
1265
+ dataPath: '',
1266
+ schemaPath: '#/required',
1267
+ keyword: 'required',
1268
+ params: {
1269
+ missingProperty: 'animal'
1270
+ },
1271
+ }];
1272
+ const core: JsonFormsCore = coreReducer(
1273
+ undefined,
1274
+ init(data, schema, undefined, { additionalErrors })
1275
+ );
1276
+ t.is(core.errors.length, 1);
1277
+ t.is(core.additionalErrors.length, 1);
1278
+ const errorsAt = errorAt('animal', schema)(core);
1279
+ t.is(errorsAt.length, 2);
1280
+ t.true(errorsAt.indexOf(additionalErrors[0]) > -1);
1281
+ });
1282
+
1283
+ test('errorAt contains additionalErrors for validation mode NoValidation ', t => {
1284
+ const schema = {
1285
+ type: 'object',
1286
+ properties: {
1287
+ animal: {
1288
+ type: 'string'
1289
+ }
1290
+ }
1291
+ };
1292
+
1293
+ const data = {
1294
+ animal: 100
1295
+ };
1296
+
1297
+ const additionalErrors = [{
1298
+ instancePath: '',
1299
+ dataPath: '',
1300
+ schemaPath: '#/required',
1301
+ keyword: 'required',
1302
+ params: {
1303
+ missingProperty: 'animal'
1304
+ },
1305
+ }];
1306
+ const core: JsonFormsCore = coreReducer(
1307
+ undefined,
1308
+ init(data, schema, undefined, { additionalErrors, validationMode: 'NoValidation' })
1309
+ );
1310
+ t.is(core.errors.length, 0);
1311
+ t.is(core.additionalErrors.length, 1);
1312
+ const errorsAt = errorAt('animal', schema)(core);
1313
+ t.is(errorsAt.length, 1);
1314
+ t.is(errorsAt.indexOf(additionalErrors[0]), 0);
1315
+ });
1316
+
1317
+ test('errorAt contains additionalErrors for validation mode ValidateAndHide ', t => {
1318
+ const schema = {
1319
+ type: 'object',
1320
+ properties: {
1321
+ animal: {
1322
+ type: 'string'
1323
+ }
1324
+ }
1325
+ };
1326
+
1327
+ const data = {
1328
+ animal: 100
1329
+ };
1330
+
1331
+ const additionalErrors = [{
1332
+ instancePath: '',
1333
+ dataPath: '',
1334
+ schemaPath: '#/required',
1335
+ keyword: 'required',
1336
+ params: {
1337
+ missingProperty: 'animal'
1338
+ },
1339
+ }];
1340
+ const core: JsonFormsCore = coreReducer(
1341
+ undefined,
1342
+ init(data, schema, undefined, { additionalErrors, validationMode: 'ValidateAndHide' })
1343
+ );
1344
+ t.is(core.errors.length, 1);
1345
+ t.is(core.additionalErrors.length, 1);
1346
+ const errorsAt = errorAt('animal', schema)(core);
1347
+ t.is(errorsAt.length, 1);
1348
+ t.is(errorsAt.indexOf(additionalErrors[0]), 0);
1349
+ });
1350
+
1184
1351
  test('core reducer - setValidationMode - No validation should not produce errors', t => {
1185
1352
  const schema = {
1186
1353
  type: 'object',
@@ -1424,7 +1591,7 @@ test('core reducer - update core - unchanged state properties should be unchange
1424
1591
  before,
1425
1592
  updateCore({
1426
1593
  animal: 'cat'
1427
- }, before.schema, before.uischema, before.ajv)
1594
+ }, before.schema, before.uischema, { ajv: before.ajv, additionalErrors: before.additionalErrors })
1428
1595
  );
1429
1596
  t.true(before.schema === afterDataUpdate.schema);
1430
1597
  t.true(before.ajv === afterDataUpdate.ajv);
@@ -1432,6 +1599,7 @@ test('core reducer - update core - unchanged state properties should be unchange
1432
1599
  t.true(before.uischema === afterDataUpdate.uischema);
1433
1600
  t.true(before.validationMode === afterDataUpdate.validationMode);
1434
1601
  t.true(before.validator === afterDataUpdate.validator);
1602
+ t.true(before.additionalErrors === afterDataUpdate.additionalErrors);
1435
1603
 
1436
1604
  const updatedSchema = {
1437
1605
  type: 'object',
@@ -1452,6 +1620,40 @@ test('core reducer - update core - unchanged state properties should be unchange
1452
1620
  t.true(before.data === afterSchemaUpdate.data);
1453
1621
  });
1454
1622
 
1623
+ test('core reducer - update core - additionalErrors should update', t => {
1624
+ const schema = {
1625
+ type: 'object',
1626
+ properties: {
1627
+ animal: {
1628
+ type: 'string'
1629
+ }
1630
+ }
1631
+ };
1632
+
1633
+ const data = {
1634
+ animal: 'dog'
1635
+ };
1636
+ const before: JsonFormsCore = coreReducer(
1637
+ undefined,
1638
+ init(data, schema, undefined, { additionalErrors: [] })
1639
+ );
1640
+
1641
+ const additionalErrors = [{
1642
+ instancePath: '',
1643
+ dataPath: '',
1644
+ schemaPath: '#/required',
1645
+ keyword: 'required',
1646
+ params: {
1647
+ missingProperty: 'animal'
1648
+ },
1649
+ }];
1650
+ const after: JsonFormsCore = coreReducer(
1651
+ before,
1652
+ updateCore(before.data, before.schema, before.uischema, { additionalErrors })
1653
+ );
1654
+ t.true(after.additionalErrors === additionalErrors);
1655
+ });
1656
+
1455
1657
  test('core reducer - setSchema - schema with id', t => {
1456
1658
  const schema: JsonSchema = {
1457
1659
  $id: 'https://www.jsonforms.io/example.json',