@genesislcap/foundation-forms 14.501.0 → 15.0.0-FUI-2571-formatters.1

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":"form.d.ts","sourceRoot":"","sources":["../../src/form.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../../src/form.ts"],"names":[],"mappings":"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"}
@@ -66,6 +66,16 @@ export declare function resolveResourceOptionLabel(raw: any, options: any): Prom
66
66
  * @internal
67
67
  */
68
68
  export declare function resolveEnumLabel(raw: any, fieldName: string, schema: any): string | null;
69
+ /**
70
+ * Formats a raw value for the review panel by the same renderer type
71
+ * (`NumberControlRenderer`/`DateControlRenderer`) the form would use for this field, reusing
72
+ * `@genesislcap/foundation-utils`'s formatters rather than re-deriving display logic. Numbers
73
+ * are formatted with `getNumberFormatter`; dates/datetimes with `getDateFormatter`, adding
74
+ * hours/minutes for `GenesisType.DATETIME` fields. Returns `null` for non-number/date fields,
75
+ * or when no JSON schema is available to determine the field's type.
76
+ * @internal
77
+ */
78
+ export declare function formatValueByFieldType(raw: any, fieldName: string, schema: any): string | null;
69
79
  /**
70
80
  * Navigates a `/properties/`-separated path in data to support nested object scopes
71
81
  * such as `ADDRESS/properties/STREET` produced by Group layout UI schemas.
@@ -1 +1 @@
1
- {"version":3,"file":"review-utils.d.ts","sourceRoot":"","sources":["../../../src/utils/review-utils.ts"],"names":[],"mappings":"AAIA,cAAc;AACd,MAAM,MAAM,WAAW,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3D,cAAc;AACd,MAAM,MAAM,aAAa,GAAG;IAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,EAAE,WAAW,EAAE,CAAA;CAAE,CAAC;AAE5E;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,QAAQ,EAAE,GAAG,EACb,MAAM,EAAE,GAAG,GACV,OAAO,CAAC,aAAa,EAAE,CAAC,CAuE1B;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,aAAa,EAAE,CAc9F;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,GAAG,MAAM,GAAG,IAAI,CAMxE;AAED;;;;;;;;GAQG;AACH,wBAAsB,0BAA0B,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA8B/F;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,MAAM,GAAG,IAAI,CAiBxF;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,GAAG,GAAG,CAEpE;AAYD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,CAwBvD"}
1
+ {"version":3,"file":"review-utils.d.ts","sourceRoot":"","sources":["../../../src/utils/review-utils.ts"],"names":[],"mappings":"AAQA,cAAc;AACd,MAAM,MAAM,WAAW,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3D,cAAc;AACd,MAAM,MAAM,aAAa,GAAG;IAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,EAAE,WAAW,EAAE,CAAA;CAAE,CAAC;AAE5E;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,QAAQ,EAAE,GAAG,EACb,MAAM,EAAE,GAAG,GACV,OAAO,CAAC,aAAa,EAAE,CAAC,CAwE1B;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,aAAa,EAAE,CAc9F;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,GAAG,MAAM,GAAG,IAAI,CAMxE;AAED;;;;;;;;GAQG;AACH,wBAAsB,0BAA0B,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA8B/F;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,MAAM,GAAG,IAAI,CAaxF;AAyCD;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,MAAM,GAAG,IAAI,CAqB9F;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,GAAG,GAAG,CAEpE;AAYD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,CAwBvD"}
package/dist/esm/form.js CHANGED
@@ -393,26 +393,35 @@ let Form = class Form extends LifecycleMixin(FoundationElement) {
393
393
  this.$emit('submit', { payload, errors: this.errors });
394
394
  if (Object.entries(payload).length !== 0 && !this.hasValidationErrors() && this.resourceName) {
395
395
  this.submitting = true;
396
- const formSubmitReq = yield this.connect.commitEvent(this.resourceName, commitPayload);
397
- this.submitting = false;
398
- if (formSubmitReq.ERROR) {
399
- const approvalError = formSubmitReq.ERROR.find((err) => err.CODE === 'APPROVAL_MESSAGE_MISSING');
400
- // Only show modal if in REACTIVE mode (setApprovalMessage is false/not set)
401
- // In proactive mode, the field is already visible, so just emit error normally
402
- if (approvalError && !this.setApprovalMessage) {
403
- this.pendingPayload = payload;
404
- this.showApprovalModal();
396
+ try {
397
+ const formSubmitReq = yield this.connect.commitEvent(this.resourceName, commitPayload);
398
+ if (formSubmitReq.ERROR) {
399
+ const approvalError = formSubmitReq.ERROR.find((err) => err.CODE === 'APPROVAL_MESSAGE_MISSING');
400
+ // Only show modal if in REACTIVE mode (setApprovalMessage is false/not set)
401
+ // In proactive mode, the field is already visible, so just emit error normally
402
+ if (approvalError && !this.setApprovalMessage) {
403
+ this.pendingPayload = payload;
404
+ this.showApprovalModal();
405
+ }
406
+ else {
407
+ this.applyServerFieldErrors(formSubmitReq.ERROR);
408
+ this.$emit('submit-failure', {
409
+ payload,
410
+ errors: formSubmitReq.ERROR,
411
+ });
412
+ }
405
413
  }
406
414
  else {
407
- this.applyServerFieldErrors(formSubmitReq.ERROR);
408
- this.$emit('submit-failure', {
409
- payload,
410
- errors: formSubmitReq.ERROR,
411
- });
415
+ this.$emit('submit-success', { payload, response: formSubmitReq });
412
416
  }
413
417
  }
414
- else {
415
- this.$emit('submit-success', { payload, response: formSubmitReq });
418
+ catch (error) {
419
+ const errors = [{ CODE: 'SUBMIT_ERROR', TEXT: String(error) }];
420
+ this.applyServerFieldErrors(errors);
421
+ this.$emit('submit-failure', { payload, errors });
422
+ }
423
+ finally {
424
+ this.submitting = false;
416
425
  }
417
426
  }
418
427
  });
@@ -802,19 +811,31 @@ let Form = class Form extends LifecycleMixin(FoundationElement) {
802
811
  DETAILS: this.pendingPayload,
803
812
  APPROVAL_MESSAGE: this.approvalMessage,
804
813
  };
805
- const formSubmitReq = yield this.connect.commitEvent(this.resourceName, commitPayload);
806
- this.submitting = false;
807
- if (formSubmitReq.ERROR) {
808
- this.applyServerFieldErrors(formSubmitReq.ERROR);
814
+ try {
815
+ const formSubmitReq = yield this.connect.commitEvent(this.resourceName, commitPayload);
816
+ if (formSubmitReq.ERROR) {
817
+ this.applyServerFieldErrors(formSubmitReq.ERROR);
818
+ this.$emit('submit-failure', {
819
+ payload: this.pendingPayload,
820
+ errors: formSubmitReq.ERROR,
821
+ });
822
+ }
823
+ else {
824
+ this.$emit('submit-success', { payload: this.pendingPayload, response: formSubmitReq });
825
+ this.closeApprovalModal();
826
+ this.pendingPayload = null;
827
+ }
828
+ }
829
+ catch (error) {
830
+ const errors = [{ CODE: 'SUBMIT_ERROR', TEXT: String(error) }];
831
+ this.applyServerFieldErrors(errors);
809
832
  this.$emit('submit-failure', {
810
833
  payload: this.pendingPayload,
811
- errors: formSubmitReq.ERROR,
834
+ errors,
812
835
  });
813
836
  }
814
- else {
815
- this.$emit('submit-success', { payload: this.pendingPayload, response: formSubmitReq });
816
- this.closeApprovalModal();
817
- this.pendingPayload = null;
837
+ finally {
838
+ this.submitting = false;
818
839
  }
819
840
  });
820
841
  }
@@ -1,7 +1,11 @@
1
1
  import { __awaiter } from "tslib";
2
2
  import { getDatasource } from '@genesislcap/foundation-comms';
3
3
  import { CriteriaBuilder, ExpressionBuilder } from '@genesislcap/foundation-criteria';
4
+ import { getDateFormatter, getNumberFormatter } from '@genesislcap/foundation-utils';
4
5
  import { capitalCase } from 'change-case';
6
+ import { isOneOfDate } from '../jsonforms/testers/isDate';
7
+ import { isOneOfNumber } from '../jsonforms/testers/isOneOfNumber';
8
+ import { GenesisType } from './types';
5
9
  /**
6
10
  * Builds the review panel's fields grouped into sections by their nearest `Group` layout.
7
11
  * Sections are formed from consecutive runs of the same group title as fields are
@@ -39,8 +43,8 @@ export function buildReviewSections(data, uiSchema, schema) {
39
43
  }
40
44
  };
41
45
  const resolveDisplayValue = (raw, fieldName, options) => __awaiter(this, void 0, void 0, function* () {
42
- var _a, _b, _c;
43
- const displayValue = (_c = (_b = (_a = resolveOptionLabel(raw, options)) !== null && _a !== void 0 ? _a : (yield resolveResourceOptionLabel(raw, options))) !== null && _b !== void 0 ? _b : resolveEnumLabel(raw, fieldName, schema)) !== null && _c !== void 0 ? _c : raw;
46
+ var _a, _b, _c, _d;
47
+ const displayValue = (_d = (_c = (_b = (_a = resolveOptionLabel(raw, options)) !== null && _a !== void 0 ? _a : (yield resolveResourceOptionLabel(raw, options))) !== null && _b !== void 0 ? _b : resolveEnumLabel(raw, fieldName, schema)) !== null && _c !== void 0 ? _c : formatValueByFieldType(raw, fieldName, schema)) !== null && _d !== void 0 ? _d : raw;
44
48
  return formatValueForReview(displayValue);
45
49
  });
46
50
  const collect = (element, groupTitle) => {
@@ -170,21 +174,73 @@ export function resolveResourceOptionLabel(raw, options) {
170
174
  * @internal
171
175
  */
172
176
  export function resolveEnumLabel(raw, fieldName, schema) {
173
- var _a, _b, _c, _d;
177
+ var _a, _b, _c;
174
178
  if (typeof raw !== 'string')
175
179
  return null;
180
+ const fieldSchema = resolveFieldSchema(fieldName, schema);
181
+ if (!fieldSchema)
182
+ return null;
183
+ // Matches plain `enum: [...]` or nullable `oneOf: [{ enum: [...] }, { type: 'null' }]`
184
+ const enumValues = (_a = fieldSchema.enum) !== null && _a !== void 0 ? _a : (_c = (_b = fieldSchema.oneOf) === null || _b === void 0 ? void 0 : _b.find((x) => x.enum)) === null || _c === void 0 ? void 0 : _c.enum;
185
+ if (Array.isArray(enumValues) && enumValues.includes(raw)) {
186
+ return capitalCase(raw);
187
+ }
188
+ return null;
189
+ }
190
+ /**
191
+ * Navigates a `/properties/`-separated field name through `schema.properties` to find the
192
+ * JSON schema describing that field, honoring nested Group scopes
193
+ * (`ADDRESS/properties/STREET`). Returns `null` when `schema` has no `properties` (e.g. no
194
+ * JSON schema is available) or the path doesn't resolve.
195
+ * @internal
196
+ */
197
+ function resolveFieldSchema(fieldName, schema) {
198
+ var _a;
176
199
  if (!(schema === null || schema === void 0 ? void 0 : schema.properties))
177
200
  return null;
178
201
  let fieldSchema = schema;
179
202
  for (const part of fieldName.split('/properties/')) {
180
203
  fieldSchema = (_a = fieldSchema === null || fieldSchema === void 0 ? void 0 : fieldSchema.properties) === null || _a === void 0 ? void 0 : _a[part];
181
204
  }
205
+ return fieldSchema !== null && fieldSchema !== void 0 ? fieldSchema : null;
206
+ }
207
+ /** Minimal `Control` uischema used to drive the `isOneOfNumber`/`isOneOfDate` testers directly
208
+ * against an already-resolved field schema — `schemaMatches` only needs `scope` to be a
209
+ * non-empty string here, since a non-object field schema is tested as-is rather than resolved
210
+ * further via that scope. @internal */
211
+ const FIELD_SCHEMA_TESTER_CONTROL = { type: 'Control', scope: '#' };
212
+ const FIELD_SCHEMA_TESTER_CONTEXT = { config: {}, rootSchema: {} };
213
+ const REVIEW_NUMBER_FORMAT = '0,0.[000]';
214
+ const REVIEW_DATE_OPTIONS = {
215
+ year: 'numeric',
216
+ month: '2-digit',
217
+ day: '2-digit',
218
+ timeZone: 'UTC',
219
+ };
220
+ const REVIEW_DATETIME_OPTIONS = Object.assign(Object.assign({}, REVIEW_DATE_OPTIONS), { hour: '2-digit', minute: '2-digit' });
221
+ /**
222
+ * Formats a raw value for the review panel by the same renderer type
223
+ * (`NumberControlRenderer`/`DateControlRenderer`) the form would use for this field, reusing
224
+ * `@genesislcap/foundation-utils`'s formatters rather than re-deriving display logic. Numbers
225
+ * are formatted with `getNumberFormatter`; dates/datetimes with `getDateFormatter`, adding
226
+ * hours/minutes for `GenesisType.DATETIME` fields. Returns `null` for non-number/date fields,
227
+ * or when no JSON schema is available to determine the field's type.
228
+ * @internal
229
+ */
230
+ export function formatValueByFieldType(raw, fieldName, schema) {
231
+ var _a;
232
+ const fieldSchema = resolveFieldSchema(fieldName, schema);
182
233
  if (!fieldSchema)
183
234
  return null;
184
- // Matches plain `enum: [...]` or nullable `oneOf: [{ enum: [...] }, { type: 'null' }]`
185
- const enumValues = (_b = fieldSchema.enum) !== null && _b !== void 0 ? _b : (_d = (_c = fieldSchema.oneOf) === null || _c === void 0 ? void 0 : _c.find((x) => x.enum)) === null || _d === void 0 ? void 0 : _d.enum;
186
- if (Array.isArray(enumValues) && enumValues.includes(raw)) {
187
- return capitalCase(raw);
235
+ if (isOneOfDate(FIELD_SCHEMA_TESTER_CONTROL, fieldSchema, FIELD_SCHEMA_TESTER_CONTEXT)) {
236
+ const isDatetime = fieldSchema.genesisType === GenesisType.DATETIME ||
237
+ ((_a = fieldSchema.oneOf) === null || _a === void 0 ? void 0 : _a.some((branch) => branch.genesisType === GenesisType.DATETIME));
238
+ const formatted = getDateFormatter(undefined, isDatetime ? REVIEW_DATETIME_OPTIONS : REVIEW_DATE_OPTIONS)({ value: raw });
239
+ return formatted || null;
240
+ }
241
+ if (isOneOfNumber(FIELD_SCHEMA_TESTER_CONTROL, fieldSchema, FIELD_SCHEMA_TESTER_CONTEXT)) {
242
+ const formatted = getNumberFormatter(REVIEW_NUMBER_FORMAT)({ value: raw });
243
+ return formatted || null;
188
244
  }
189
245
  return null;
190
246
  }
@@ -1970,6 +1970,17 @@ declare const Form_base: (new (...args: any[]) => {
1970
1970
  focus(options?: FocusOptions): void;
1971
1971
  }) & typeof FoundationElement;
1972
1972
 
1973
+ /**
1974
+ * Formats a raw value for the review panel by the same renderer type
1975
+ * (`NumberControlRenderer`/`DateControlRenderer`) the form would use for this field, reusing
1976
+ * `@genesislcap/foundation-utils`'s formatters rather than re-deriving display logic. Numbers
1977
+ * are formatted with `getNumberFormatter`; dates/datetimes with `getDateFormatter`, adding
1978
+ * hours/minutes for `GenesisType.DATETIME` fields. Returns `null` for non-number/date fields,
1979
+ * or when no JSON schema is available to determine the field's type.
1980
+ * @internal
1981
+ */
1982
+ export declare function formatValueByFieldType(raw: any, fieldName: string, schema: any): string | null;
1983
+
1973
1984
  /**
1974
1985
  * Converts a raw field value to a display string for the review panel.
1975
1986
  * Arrays of primitives are comma-joined; arrays of objects and plain objects
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.501.0",
4
+ "version": "15.0.0-FUI-2571-formatters.1",
5
5
  "sideEffects": false,
6
6
  "license": "SEE LICENSE IN license.txt",
7
7
  "main": "dist/esm/index.js",
@@ -59,13 +59,13 @@
59
59
  }
60
60
  },
61
61
  "devDependencies": {
62
- "@genesislcap/foundation-testing": "14.501.0",
63
- "@genesislcap/genx": "14.501.0",
64
- "@genesislcap/rollup-builder": "14.501.0",
65
- "@genesislcap/ts-builder": "14.501.0",
66
- "@genesislcap/uvu-playwright-builder": "14.501.0",
67
- "@genesislcap/vite-builder": "14.501.0",
68
- "@genesislcap/webpack-builder": "14.501.0",
62
+ "@genesislcap/foundation-testing": "15.0.0-FUI-2571-formatters.1",
63
+ "@genesislcap/genx": "15.0.0-FUI-2571-formatters.1",
64
+ "@genesislcap/rollup-builder": "15.0.0-FUI-2571-formatters.1",
65
+ "@genesislcap/ts-builder": "15.0.0-FUI-2571-formatters.1",
66
+ "@genesislcap/uvu-playwright-builder": "15.0.0-FUI-2571-formatters.1",
67
+ "@genesislcap/vite-builder": "15.0.0-FUI-2571-formatters.1",
68
+ "@genesislcap/webpack-builder": "15.0.0-FUI-2571-formatters.1",
69
69
  "@types/json-schema": "^7.0.11",
70
70
  "@types/papaparse": "^5.3.14"
71
71
  },
@@ -82,12 +82,12 @@
82
82
  }
83
83
  },
84
84
  "dependencies": {
85
- "@genesislcap/foundation-comms": "14.501.0",
86
- "@genesislcap/foundation-criteria": "14.501.0",
87
- "@genesislcap/foundation-logger": "14.501.0",
88
- "@genesislcap/foundation-notifications": "14.501.0",
89
- "@genesislcap/foundation-ui": "14.501.0",
90
- "@genesislcap/foundation-utils": "14.501.0",
85
+ "@genesislcap/foundation-comms": "15.0.0-FUI-2571-formatters.1",
86
+ "@genesislcap/foundation-criteria": "15.0.0-FUI-2571-formatters.1",
87
+ "@genesislcap/foundation-logger": "15.0.0-FUI-2571-formatters.1",
88
+ "@genesislcap/foundation-notifications": "15.0.0-FUI-2571-formatters.1",
89
+ "@genesislcap/foundation-ui": "15.0.0-FUI-2571-formatters.1",
90
+ "@genesislcap/foundation-utils": "15.0.0-FUI-2571-formatters.1",
91
91
  "@json-schema-tools/dereferencer": "^1.6.1",
92
92
  "@jsonforms/core": "^3.2.1",
93
93
  "@microsoft/fast-components": "2.30.6",
@@ -109,5 +109,5 @@
109
109
  "access": "public"
110
110
  },
111
111
  "customElements": "dist/custom-elements.json",
112
- "gitHead": "4fccf90855cbd10b0289566a75a95120a2be4384"
112
+ "gitHead": "1fb4e0f61551cdc8dae073ce584869216efbfe9d"
113
113
  }