@genesislcap/foundation-forms 14.344.2 → 14.344.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.
@@ -1 +1 @@
1
- {"version":3,"file":"json-forms.d.ts","sourceRoot":"","sources":["../../../src/jsonforms/json-forms.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,WAAW,EAOX,8BAA8B,EAE9B,aAAa,EAEb,eAAe,EACf,cAAc,EACf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAIL,WAAW,EAIZ,MAAM,yBAAyB,CAAC;AACjC,OAAO,GAAG,EAAE,EAAE,WAAW,EAAE,MAAM,KAAK,CAAC;AAmCvC,qBASa,SAAU,SAAQ,WAAW;IACb,SAAS,EAAE,OAAO,CAAC;IAElC,MAAM,MAAC;IACnB,aAAa;IAGD,SAAS,MAAC;IACV,IAAI,MAAC;IACL,YAAY,MAAC;IAEb,MAAM,MAAC;IACnB,aAAa;IAiDD,QAAQ,EAAE,eAAe,CAAC;IACtC,eAAe;IAIH,IAAI,MAAC;IACjB,WAAW;IAIC,SAAS,EAAE,8BAA8B,EAAE,CAAC;IACxD,gBAAgB;IAIJ,cAAc,EAAE,cAAc,CAAC;IAC3C,qBAAqB;IAIT,GAAG,EAAE,GAAG,CAAiD;IACrE,UAAU;IAIiB,QAAQ,EAAE,OAAO,CAAC;IAC7C,eAAe;IAIH,MAAM,EAAE,GAAG,CAAC;IACxB,aAAa;IAIb,IAAI,KAAK,IAAI,aAAa,CAuBzB;IAED,QAAQ,GAAI,QAAQ,WAAW,UAW7B;IAEF;;;;OAIG;IACH,QAAQ,GAAI,aAAQ,KAAG,WAAW,EAAE,CAiBlC;IAEI,uBAAuB;CAQ9B"}
1
+ {"version":3,"file":"json-forms.d.ts","sourceRoot":"","sources":["../../../src/jsonforms/json-forms.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,WAAW,EAOX,8BAA8B,EAE9B,aAAa,EAEb,eAAe,EACf,cAAc,EACf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAIL,WAAW,EAIZ,MAAM,yBAAyB,CAAC;AACjC,OAAO,GAAG,EAAE,EAAE,WAAW,EAAE,MAAM,KAAK,CAAC;AAmCvC,qBASa,SAAU,SAAQ,WAAW;IACb,SAAS,EAAE,OAAO,CAAC;IAElC,MAAM,MAAC;IACnB,aAAa;IAGD,SAAS,MAAC;IACV,IAAI,MAAC;IACL,YAAY,MAAC;IAEb,MAAM,MAAC;IACnB,aAAa;IAiDD,QAAQ,EAAE,eAAe,CAAC;IACtC,eAAe;IAIH,IAAI,MAAC;IACjB,WAAW;IAIC,SAAS,EAAE,8BAA8B,EAAE,CAAC;IACxD,gBAAgB;IAIJ,cAAc,EAAE,cAAc,CAAC;IAC3C,qBAAqB;IAIT,GAAG,EAAE,GAAG,CAAiD;IACrE,UAAU;IAIiB,QAAQ,EAAE,OAAO,CAAC;IAC7C,eAAe;IAIH,MAAM,EAAE,GAAG,CAAC;IACxB,aAAa;IAIb,IAAI,KAAK,IAAI,aAAa,CAuBzB;IAED,QAAQ,GAAI,QAAQ,WAAW,UAW7B;IAEF;;;;OAIG;IACH,QAAQ,GAAI,aAAQ,KAAG,WAAW,EAAE,CAwClC;IAEI,uBAAuB;CAQ9B"}
@@ -47,19 +47,37 @@ let JSONForms = class JSONForms extends FASTElement {
47
47
  var _a, _b, _c;
48
48
  const data = (_b = (_a = this.jsonforms) === null || _a === void 0 ? void 0 : _a.core) === null || _b === void 0 ? void 0 : _b.data;
49
49
  const errors = [];
50
- (_c = uischema === null || uischema === void 0 ? void 0 : uischema.elements) === null || _c === void 0 ? void 0 : _c.forEach((e) => {
51
- var _a, _b, _c, _d;
52
- const validator = (_a = e === null || e === void 0 ? void 0 : e.options) === null || _a === void 0 ? void 0 : _a.validateFn;
53
- if (typeof validator !== 'function')
54
- return;
55
- const path = (_c = (_b = e === null || e === void 0 ? void 0 : e.scope) === null || _b === void 0 ? void 0 : _b.split('/')) === null || _c === void 0 ? void 0 : _c.pop();
56
- const label = e === null || e === void 0 ? void 0 : e.label;
57
- let newErrors = (_d = validator(data, path, label)) !== null && _d !== void 0 ? _d : [];
58
- // the validator function is supposed to return an array of errors but let's not explode if it returns a single one
59
- if (!Array.isArray(newErrors)) {
60
- newErrors = [newErrors];
50
+ // Recursive function to traverse all elements in the UI schema
51
+ const validateElement = (element) => {
52
+ var _a, _b, _c, _d, _e;
53
+ // Check if this element has a validateFn
54
+ const validator = (_a = element === null || element === void 0 ? void 0 : element.options) === null || _a === void 0 ? void 0 : _a.validateFn;
55
+ if (typeof validator === 'function') {
56
+ const path = (_c = (_b = element === null || element === void 0 ? void 0 : element.scope) === null || _b === void 0 ? void 0 : _b.split('/')) === null || _c === void 0 ? void 0 : _c.pop();
57
+ const label = element === null || element === void 0 ? void 0 : element.label;
58
+ let newErrors = (_d = validator(data, path, label)) !== null && _d !== void 0 ? _d : [];
59
+ // the validator function is supposed to return an array of errors but let's not explode if it returns a single one
60
+ if (!Array.isArray(newErrors)) {
61
+ newErrors = [newErrors];
62
+ }
63
+ errors.push(...newErrors);
61
64
  }
62
- errors.push(...newErrors);
65
+ // Recursively check child elements
66
+ if (element === null || element === void 0 ? void 0 : element.elements) {
67
+ element.elements.forEach((childElement) => {
68
+ validateElement(childElement);
69
+ });
70
+ }
71
+ // Check childElements for Group renderers
72
+ if ((_e = element === null || element === void 0 ? void 0 : element.options) === null || _e === void 0 ? void 0 : _e.childElements) {
73
+ element.options.childElements.forEach((childElement) => {
74
+ validateElement(childElement);
75
+ });
76
+ }
77
+ };
78
+ // Start validation from the root elements
79
+ (_c = uischema === null || uischema === void 0 ? void 0 : uischema.elements) === null || _c === void 0 ? void 0 : _c.forEach((element) => {
80
+ validateElement(element);
63
81
  });
64
82
  return errors;
65
83
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@genesislcap/foundation-forms",
3
3
  "description": "Genesis Foundation Forms",
4
- "version": "14.344.2",
4
+ "version": "14.344.3",
5
5
  "sideEffects": false,
6
6
  "license": "SEE LICENSE IN license.txt",
7
7
  "main": "dist/esm/index.js",
@@ -48,22 +48,22 @@
48
48
  }
49
49
  },
50
50
  "devDependencies": {
51
- "@genesislcap/foundation-testing": "14.344.2",
52
- "@genesislcap/genx": "14.344.2",
53
- "@genesislcap/rollup-builder": "14.344.2",
54
- "@genesislcap/ts-builder": "14.344.2",
55
- "@genesislcap/uvu-playwright-builder": "14.344.2",
56
- "@genesislcap/vite-builder": "14.344.2",
57
- "@genesislcap/webpack-builder": "14.344.2",
51
+ "@genesislcap/foundation-testing": "14.344.3",
52
+ "@genesislcap/genx": "14.344.3",
53
+ "@genesislcap/rollup-builder": "14.344.3",
54
+ "@genesislcap/ts-builder": "14.344.3",
55
+ "@genesislcap/uvu-playwright-builder": "14.344.3",
56
+ "@genesislcap/vite-builder": "14.344.3",
57
+ "@genesislcap/webpack-builder": "14.344.3",
58
58
  "@types/json-schema": "^7.0.11"
59
59
  },
60
60
  "dependencies": {
61
- "@genesislcap/foundation-comms": "14.344.2",
62
- "@genesislcap/foundation-criteria": "14.344.2",
63
- "@genesislcap/foundation-logger": "14.344.2",
64
- "@genesislcap/foundation-notifications": "14.344.2",
65
- "@genesislcap/foundation-ui": "14.344.2",
66
- "@genesislcap/foundation-utils": "14.344.2",
61
+ "@genesislcap/foundation-comms": "14.344.3",
62
+ "@genesislcap/foundation-criteria": "14.344.3",
63
+ "@genesislcap/foundation-logger": "14.344.3",
64
+ "@genesislcap/foundation-notifications": "14.344.3",
65
+ "@genesislcap/foundation-ui": "14.344.3",
66
+ "@genesislcap/foundation-utils": "14.344.3",
67
67
  "@json-schema-tools/dereferencer": "^1.6.1",
68
68
  "@jsonforms/core": "^3.2.1",
69
69
  "@microsoft/fast-components": "2.30.6",
@@ -84,5 +84,5 @@
84
84
  "access": "public"
85
85
  },
86
86
  "customElements": "dist/custom-elements.json",
87
- "gitHead": "c068c4dbbcf5825a18286c682c719263b454727b"
87
+ "gitHead": "3bcfeb287038cf141948489834c5cb8aa574cb53"
88
88
  }