@researchdatabox/sails-ng-common 0.0.1-beta.10300 → 0.0.1-beta.10760

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.
@@ -4,9 +4,9 @@ import { FormConfigVisitorOutline } from "../visitor/base.outline";
4
4
  import { FieldComponentConfig, FieldComponentDefinition } from "../field-component.model";
5
5
  import { AvailableFieldLayoutDefinitionOutlines } from "../dictionary.outline";
6
6
  import type { HistoricalVocabMode } from "./dropdown-input.outline";
7
- import { TypeaheadInputFieldComponentConfigOutline, TypeaheadInputFieldComponentDefinitionOutline, TypeaheadInputFieldModelConfigOutline, TypeaheadInputFieldModelDefinitionOutline, TypeaheadInputFormComponentDefinitionOutline, TypeaheadInputModelValueType, TypeaheadOption } from "./typeahead-input.outline";
8
- export declare class TypeaheadInputFieldComponentConfig extends FieldComponentConfig implements TypeaheadInputFieldComponentConfigOutline {
9
- sourceType: "static" | "vocabulary" | "namedQuery" | "external" | "service";
7
+ import { TypeaheadInputFieldComponentConfigOutline, TypeaheadInputFieldComponentDefinitionOutline, TypeaheadInputFieldModelConfigOutline, TypeaheadInputFieldModelDefinitionOutline, TypeaheadInputFormComponentDefinitionOutline, TypeaheadInputPermissiveFieldComponentConfigOutline, TypeaheadInputModelValueType, TypeaheadOption, TypeaheadSourceType, TypeaheadValueMode } from "./typeahead-input.outline";
8
+ export declare class TypeaheadInputFieldComponentConfig extends FieldComponentConfig implements TypeaheadInputPermissiveFieldComponentConfigOutline {
9
+ sourceType: TypeaheadSourceType;
10
10
  staticOptions: TypeaheadOption[];
11
11
  vocabRef?: string;
12
12
  queryId?: string;
@@ -20,7 +20,8 @@ export declare class TypeaheadInputFieldComponentConfig extends FieldComponentCo
20
20
  debounceMs: number;
21
21
  maxResults: number;
22
22
  requireSelection: boolean;
23
- valueMode: "value" | "optionObject";
23
+ valueMode: TypeaheadValueMode;
24
+ optionObjectFields?: Record<string, string>;
24
25
  cacheResults: boolean;
25
26
  multiSelect: boolean;
26
27
  placeholder?: string;
@@ -23,6 +23,9 @@ class TypeaheadInputFieldComponentConfig extends field_component_model_1.FieldCo
23
23
  maxResults = 25;
24
24
  requireSelection = false;
25
25
  valueMode = "value";
26
+ // Optional projection used by optionObject mode when forms need a custom
27
+ // stored object instead of label/value/sourceType.
28
+ optionObjectFields;
26
29
  cacheResults = true;
27
30
  multiSelect = false;
28
31
  placeholder;
@@ -90,4 +93,4 @@ exports.TypeaheadInputDefaults = {
90
93
  },
91
94
  },
92
95
  };
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZWFoZWFkLWlucHV0Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbmZpZy9jb21wb25lbnQvdHlwZWFoZWFkLWlucHV0Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDREQUE4RTtBQUM5RSxrRUFBa0U7QUFFbEUsc0RBTTJCO0FBQzNCLG9FQUEwRjtBQUcxRix1RUFVbUM7QUFFbkMsK0JBQStCO0FBRS9CLE1BQWEsa0NBQW1DLFNBQVEsNENBQW9CO0lBQ3hFLFVBQVUsR0FBb0UsUUFBUSxDQUFDO0lBQ3ZGLGFBQWEsR0FBc0IsRUFBRSxDQUFDO0lBQ3RDLFFBQVEsQ0FBVTtJQUNsQixPQUFPLENBQVU7SUFDakIsU0FBUyxDQUFVO0lBQ25CLFFBQVEsQ0FBVTtJQUNsQixtQkFBbUIsQ0FBVTtJQUM3QixVQUFVLENBQVU7SUFDcEIsYUFBYSxDQUFVO0lBQ3ZCLFVBQVUsQ0FBVTtJQUNwQixRQUFRLEdBQUcsQ0FBQyxDQUFDO0lBQ2IsVUFBVSxHQUFHLEdBQUcsQ0FBQztJQUNqQixVQUFVLEdBQUcsRUFBRSxDQUFDO0lBQ2hCLGdCQUFnQixHQUFHLEtBQUssQ0FBQztJQUN6QixTQUFTLEdBQTZCLE9BQU8sQ0FBQztJQUM5QyxZQUFZLEdBQUcsSUFBSSxDQUFDO0lBQ3BCLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDcEIsV0FBVyxDQUFVO0lBQ3JCLG1CQUFtQixDQUFXO0lBQzlCLG1CQUFtQixDQUF1QjtJQUUxQztRQUNJLEtBQUssRUFBRSxDQUFDO0lBQ1osQ0FBQztDQUNKO0FBekJELGdGQXlCQztBQUVELE1BQWEsc0NBQXVDLFNBQVEsZ0RBQXdCO0lBQ2hGLEtBQUssR0FBRyxxREFBMkIsQ0FBQztJQUNwQyxNQUFNLENBQTZDO0lBRW5EO1FBQ0ksS0FBSyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFpQztRQUMxQyxNQUFNLE9BQU8sQ0FBQywyQ0FBMkMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwRSxDQUFDO0NBQ0o7QUFYRCx3RkFXQztBQUVELDJCQUEyQjtBQUUzQixNQUFhLDhCQUErQixTQUFRLG9DQUE4QztJQUM5RjtRQUNJLEtBQUssRUFBRSxDQUFDO0lBQ1osQ0FBQztDQUNKO0FBSkQsd0VBSUM7QUFFRCxNQUFhLGtDQUFtQyxTQUFRLHdDQUFrRDtJQUN0RyxLQUFLLEdBQUcsaURBQXVCLENBQUM7SUFDaEMsTUFBTSxDQUF5QztJQUUvQztRQUNJLEtBQUssRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBaUM7UUFDMUMsTUFBTSxPQUFPLENBQUMsdUNBQXVDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEUsQ0FBQztDQUNKO0FBWEQsZ0ZBV0M7QUFFRCxvQ0FBb0M7QUFFcEMsTUFBYSxxQ0FBc0MsU0FBUSw4Q0FBdUI7SUFDdkUsU0FBUyxDQUFpRDtJQUMxRCxLQUFLLENBQTZDO0lBQ2xELE1BQU0sQ0FBMEM7SUFFdkQ7UUFDSSxLQUFLLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQWlDO1FBQzFDLE1BQU0sT0FBTyxDQUFDLDBDQUEwQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25FLENBQUM7Q0FDSjtBQVpELHNGQVlDO0FBRVksUUFBQSxpQkFBaUIsR0FBRztJQUM3QixFQUFFLElBQUksRUFBRSx5Q0FBd0IsRUFBRSxHQUFHLEVBQUUsa0NBQWtDLEVBQUU7SUFDM0UsRUFBRSxJQUFJLEVBQUUsNkNBQTRCLEVBQUUsR0FBRyxFQUFFLHNDQUFzQyxFQUFFLEtBQUssRUFBRSxxREFBMkIsRUFBRTtJQUN2SCxFQUFFLElBQUksRUFBRSxxQ0FBb0IsRUFBRSxHQUFHLEVBQUUsOEJBQThCLEVBQUU7SUFDbkUsRUFBRSxJQUFJLEVBQUUseUNBQXdCLEVBQUUsR0FBRyxFQUFFLGtDQUFrQyxFQUFFLEtBQUssRUFBRSxpREFBdUIsRUFBRTtJQUMzRyxFQUFFLElBQUksRUFBRSw0Q0FBMkIsRUFBRSxHQUFHLEVBQUUscUNBQXFDLEVBQUUsS0FBSyxFQUFFLHFEQUEyQixFQUFFO0NBQ3hILENBQUM7QUFFVyxRQUFBLHNCQUFzQixHQUFHO0lBQ2xDLENBQUMsNENBQTJCLENBQUMsRUFBRTtRQUMzQixDQUFDLHFEQUEyQixDQUFDLEVBQUU7WUFDM0IsQ0FBQyw2Q0FBNEIsQ0FBQyxFQUFFLHFEQUEyQjtZQUMzRCxDQUFDLHlDQUF3QixDQUFDLEVBQUUsaURBQXVCO1NBQ3REO0tBQ0o7Q0FDSixDQUFDIn0=
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZWFoZWFkLWlucHV0Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbmZpZy9jb21wb25lbnQvdHlwZWFoZWFkLWlucHV0Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDREQUE4RTtBQUM5RSxrRUFBa0U7QUFFbEUsc0RBTTJCO0FBQzNCLG9FQUEwRjtBQUcxRix1RUFhbUM7QUFFbkMsK0JBQStCO0FBRS9CLE1BQWEsa0NBQW1DLFNBQVEsNENBQW9CO0lBQ3hFLFVBQVUsR0FBd0IsUUFBUSxDQUFDO0lBQzNDLGFBQWEsR0FBc0IsRUFBRSxDQUFDO0lBQ3RDLFFBQVEsQ0FBVTtJQUNsQixPQUFPLENBQVU7SUFDakIsU0FBUyxDQUFVO0lBQ25CLFFBQVEsQ0FBVTtJQUNsQixtQkFBbUIsQ0FBVTtJQUM3QixVQUFVLENBQVU7SUFDcEIsYUFBYSxDQUFVO0lBQ3ZCLFVBQVUsQ0FBVTtJQUNwQixRQUFRLEdBQUcsQ0FBQyxDQUFDO0lBQ2IsVUFBVSxHQUFHLEdBQUcsQ0FBQztJQUNqQixVQUFVLEdBQUcsRUFBRSxDQUFDO0lBQ2hCLGdCQUFnQixHQUFHLEtBQUssQ0FBQztJQUN6QixTQUFTLEdBQXVCLE9BQU8sQ0FBQztJQUN4Qyx5RUFBeUU7SUFDekUsbURBQW1EO0lBQ25ELGtCQUFrQixDQUEwQjtJQUM1QyxZQUFZLEdBQUcsSUFBSSxDQUFDO0lBQ3BCLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDcEIsV0FBVyxDQUFVO0lBQ3JCLG1CQUFtQixDQUFXO0lBQzlCLG1CQUFtQixDQUF1QjtJQUUxQztRQUNJLEtBQUssRUFBRSxDQUFDO0lBQ1osQ0FBQztDQUNKO0FBNUJELGdGQTRCQztBQUVELE1BQWEsc0NBQXVDLFNBQVEsZ0RBQXdCO0lBQ2hGLEtBQUssR0FBRyxxREFBMkIsQ0FBQztJQUNwQyxNQUFNLENBQTZDO0lBRW5EO1FBQ0ksS0FBSyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFpQztRQUMxQyxNQUFNLE9BQU8sQ0FBQywyQ0FBMkMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwRSxDQUFDO0NBQ0o7QUFYRCx3RkFXQztBQUVELDJCQUEyQjtBQUUzQixNQUFhLDhCQUErQixTQUFRLG9DQUE4QztJQUM5RjtRQUNJLEtBQUssRUFBRSxDQUFDO0lBQ1osQ0FBQztDQUNKO0FBSkQsd0VBSUM7QUFFRCxNQUFhLGtDQUFtQyxTQUFRLHdDQUFrRDtJQUN0RyxLQUFLLEdBQUcsaURBQXVCLENBQUM7SUFDaEMsTUFBTSxDQUF5QztJQUUvQztRQUNJLEtBQUssRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBaUM7UUFDMUMsTUFBTSxPQUFPLENBQUMsdUNBQXVDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEUsQ0FBQztDQUNKO0FBWEQsZ0ZBV0M7QUFFRCxvQ0FBb0M7QUFFcEMsTUFBYSxxQ0FBc0MsU0FBUSw4Q0FBdUI7SUFDdkUsU0FBUyxDQUFpRDtJQUMxRCxLQUFLLENBQTZDO0lBQ2xELE1BQU0sQ0FBMEM7SUFFdkQ7UUFDSSxLQUFLLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQWlDO1FBQzFDLE1BQU0sT0FBTyxDQUFDLDBDQUEwQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25FLENBQUM7Q0FDSjtBQVpELHNGQVlDO0FBRVksUUFBQSxpQkFBaUIsR0FBRztJQUM3QixFQUFFLElBQUksRUFBRSx5Q0FBd0IsRUFBRSxHQUFHLEVBQUUsa0NBQWtDLEVBQUU7SUFDM0UsRUFBRSxJQUFJLEVBQUUsNkNBQTRCLEVBQUUsR0FBRyxFQUFFLHNDQUFzQyxFQUFFLEtBQUssRUFBRSxxREFBMkIsRUFBRTtJQUN2SCxFQUFFLElBQUksRUFBRSxxQ0FBb0IsRUFBRSxHQUFHLEVBQUUsOEJBQThCLEVBQUU7SUFDbkUsRUFBRSxJQUFJLEVBQUUseUNBQXdCLEVBQUUsR0FBRyxFQUFFLGtDQUFrQyxFQUFFLEtBQUssRUFBRSxpREFBdUIsRUFBRTtJQUMzRyxFQUFFLElBQUksRUFBRSw0Q0FBMkIsRUFBRSxHQUFHLEVBQUUscUNBQXFDLEVBQUUsS0FBSyxFQUFFLHFEQUEyQixFQUFFO0NBQ3hILENBQUM7QUFFVyxRQUFBLHNCQUFzQixHQUFHO0lBQ2xDLENBQUMsNENBQTJCLENBQUMsRUFBRTtRQUMzQixDQUFDLHFEQUEyQixDQUFDLEVBQUU7WUFDM0IsQ0FBQyw2Q0FBNEIsQ0FBQyxFQUFFLHFEQUEyQjtZQUMzRCxDQUFDLHlDQUF3QixDQUFDLEVBQUUsaURBQXVCO1NBQ3REO0tBQ0o7Q0FDSixDQUFDIn0=
@@ -6,9 +6,17 @@ import { AvailableFieldLayoutDefinitionFrames, AvailableFieldLayoutDefinitionOut
6
6
  import type { HistoricalVocabMode } from "./dropdown-input.outline";
7
7
  export declare const TypeaheadInputComponentName: "TypeaheadInputComponent";
8
8
  export type TypeaheadInputComponentNameType = typeof TypeaheadInputComponentName;
9
- export type TypeaheadSourceType = "static" | "vocabulary" | "namedQuery" | "external" | "service";
9
+ export declare const TypeaheadSourceTypes: readonly ["static", "vocabulary", "namedQuery", "external", "service"];
10
+ export type TypeaheadSourceType = typeof TypeaheadSourceTypes[number];
10
11
  export type TypeaheadValueMode = "value" | "optionObject";
11
12
  export type TypeaheadStoredSourceType = TypeaheadSourceType | "freeText";
13
+ /**
14
+ * Maps stored object property names to paths on the selected option/raw result.
15
+ * Use this only with valueMode: "optionObject" when a form needs a domain-specific
16
+ * stored object, for example { dc_title: "dc_title", grant_number: "grant_number" }.
17
+ * When omitted, optionObject mode keeps the legacy label/value/sourceType shape.
18
+ */
19
+ export type TypeaheadOptionObjectFields = Record<string, string>;
12
20
  export interface TypeaheadOption {
13
21
  label: string;
14
22
  value: string;
@@ -26,14 +34,12 @@ export interface TypeaheadOption {
26
34
  disabled?: boolean;
27
35
  raw?: unknown;
28
36
  }
29
- export interface TypeaheadInputFieldComponentConfigFrame extends FieldComponentConfigFrame {
30
- sourceType?: TypeaheadSourceType;
37
+ export interface TypeaheadInputFieldComponentConfigCommonFrame extends FieldComponentConfigFrame {
38
+ /**
39
+ * Static options are required for sourceType: "static"; remote configs may
40
+ * still carry an empty array from older defaults, so this remains common.
41
+ */
31
42
  staticOptions?: TypeaheadOption[];
32
- vocabRef?: string;
33
- queryId?: string;
34
- serviceId?: string;
35
- provider?: string;
36
- resultArrayProperty?: string;
37
43
  labelField?: string;
38
44
  labelTemplate?: string;
39
45
  valueField?: string;
@@ -41,14 +47,69 @@ export interface TypeaheadInputFieldComponentConfigFrame extends FieldComponentC
41
47
  debounceMs?: number;
42
48
  maxResults?: number;
43
49
  requireSelection?: boolean;
50
+ /**
51
+ * "value" stores the selected option value as a string.
52
+ * "optionObject" stores an object. Without optionObjectFields that object is
53
+ * { label, value, sourceType }; with optionObjectFields it uses the configured
54
+ * persisted property names and source paths.
55
+ */
44
56
  valueMode?: TypeaheadValueMode;
57
+ optionObjectFields?: TypeaheadOptionObjectFields;
45
58
  cacheResults?: boolean;
46
59
  multiSelect?: boolean;
47
60
  placeholder?: string;
48
61
  readOnlyAfterSelect?: boolean;
49
62
  historicalVocabMode?: HistoricalVocabMode;
50
63
  }
51
- export interface TypeaheadInputFieldComponentConfigOutline extends TypeaheadInputFieldComponentConfigFrame, FieldComponentConfigOutline {
64
+ export interface TypeaheadStaticSourceConfigFrame extends TypeaheadInputFieldComponentConfigCommonFrame {
65
+ sourceType?: "static";
66
+ }
67
+ export interface TypeaheadVocabularySourceConfigFrame extends TypeaheadInputFieldComponentConfigCommonFrame {
68
+ sourceType: "vocabulary";
69
+ vocabRef?: string;
70
+ }
71
+ export interface TypeaheadNamedQuerySourceConfigFrame extends TypeaheadInputFieldComponentConfigCommonFrame {
72
+ sourceType: "namedQuery";
73
+ queryId?: string;
74
+ /**
75
+ * Some existing hooks use vocabRef as the domain identifier for namedQuery
76
+ * typeaheads, for example ROR-backed lookups. Runtime validation still keys
77
+ * namedQuery sources from queryId, but the frame accepts vocabRef so those
78
+ * configs remain type-safe and can be migrated without blocking compilation.
79
+ */
80
+ vocabRef?: string;
81
+ }
82
+ export interface TypeaheadExternalSourceConfigFrame extends TypeaheadInputFieldComponentConfigCommonFrame {
83
+ sourceType: "external";
84
+ provider?: string;
85
+ resultArrayProperty?: string;
86
+ }
87
+ export interface TypeaheadServiceSourceConfigFrame extends TypeaheadInputFieldComponentConfigCommonFrame {
88
+ sourceType: "service";
89
+ serviceId?: string;
90
+ }
91
+ /**
92
+ * Source-specific config shape for TypeScript-authored forms. The source-specific
93
+ * IDs remain optional so runtime validator tests can still exercise missing config.
94
+ */
95
+ export type TypeaheadInputSourceConfigFrame = TypeaheadStaticSourceConfigFrame | TypeaheadVocabularySourceConfigFrame | TypeaheadNamedQuerySourceConfigFrame | TypeaheadExternalSourceConfigFrame | TypeaheadServiceSourceConfigFrame;
96
+ /**
97
+ * The public config frame uses sourceType as a discriminant while keeping required
98
+ * source values runtime-validated for JSON, migrated, and intentionally invalid forms.
99
+ */
100
+ export type TypeaheadInputFieldComponentConfigFrame = TypeaheadInputSourceConfigFrame;
101
+ export type TypeaheadInputFieldComponentConfigOutline = TypeaheadInputFieldComponentConfigFrame & FieldComponentConfigOutline;
102
+ /**
103
+ * Runtime defaults stay permissive because the constructed config class has to
104
+ * carry every possible source property before a concrete sourceType is known.
105
+ */
106
+ export interface TypeaheadInputPermissiveFieldComponentConfigOutline extends TypeaheadInputFieldComponentConfigCommonFrame, FieldComponentConfigOutline {
107
+ sourceType?: TypeaheadSourceType;
108
+ vocabRef?: string;
109
+ queryId?: string;
110
+ serviceId?: string;
111
+ provider?: string;
112
+ resultArrayProperty?: string;
52
113
  }
53
114
  export interface TypeaheadInputFieldComponentDefinitionFrame extends FieldComponentDefinitionFrame {
54
115
  class: TypeaheadInputComponentNameType;
@@ -61,9 +122,14 @@ export interface TypeaheadInputFieldComponentDefinitionOutline extends Typeahead
61
122
  export declare const TypeaheadInputModelName: "TypeaheadInputModel";
62
123
  export type TypeaheadInputModelNameType = typeof TypeaheadInputModelName;
63
124
  export interface TypeaheadInputModelOptionValue {
64
- label: string;
65
- value: string;
125
+ label?: string;
126
+ value?: string;
66
127
  sourceType?: TypeaheadStoredSourceType;
128
+ /**
129
+ * Allows configured object-mode fields such as dc_title/grant_number while
130
+ * keeping backwards compatibility with legacy label/value/sourceType objects.
131
+ */
132
+ [key: string]: unknown;
67
133
  }
68
134
  export type TypeaheadInputModelValueType = string | TypeaheadInputModelOptionValue | null;
69
135
  export interface TypeaheadInputFieldModelConfigFrame extends FieldModelConfigFrame<TypeaheadInputModelValueType> {
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TypeaheadInputModelName = exports.TypeaheadInputComponentName = void 0;
3
+ exports.TypeaheadInputModelName = exports.TypeaheadSourceTypes = exports.TypeaheadInputComponentName = void 0;
4
4
  /* Typeahead Input Component */
5
5
  exports.TypeaheadInputComponentName = "TypeaheadInputComponent";
6
+ exports.TypeaheadSourceTypes = ["static", "vocabulary", "namedQuery", "external", "service"];
6
7
  /* Typeahead Input Model */
7
8
  exports.TypeaheadInputModelName = "TypeaheadInputModel";
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZWFoZWFkLWlucHV0Lm91dGxpbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29uZmlnL2NvbXBvbmVudC90eXBlYWhlYWQtaW5wdXQub3V0bGluZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUE0QkEsK0JBQStCO0FBQ2xCLFFBQUEsMkJBQTJCLEdBQUcseUJBQWtDLENBQUM7QUE2RDlFLDJCQUEyQjtBQUNkLFFBQUEsdUJBQXVCLEdBQUcscUJBQThCLENBQUMifQ==
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZWFoZWFkLWlucHV0Lm91dGxpbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29uZmlnL2NvbXBvbmVudC90eXBlYWhlYWQtaW5wdXQub3V0bGluZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUE0QkEsK0JBQStCO0FBQ2xCLFFBQUEsMkJBQTJCLEdBQUcseUJBQWtDLENBQUM7QUFHakUsUUFBQSxvQkFBb0IsR0FBRyxDQUFDLFFBQVEsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxTQUFTLENBQVUsQ0FBQztBQXFJM0csMkJBQTJCO0FBQ2QsUUFBQSx1QkFBdUIsR0FBRyxxQkFBOEIsQ0FBQyJ9
@@ -223,6 +223,14 @@ export type FormOverrideModeClassesConfig = {
223
223
  component?: ComponentClassNamesType;
224
224
  model?: ModelClassNamesType;
225
225
  layout?: LayoutClassNamesType;
226
+ /**
227
+ * When the mode's transform produces a ContentComponent, this Handlebars template replaces the generated one.
228
+ * It renders with the client content-component context (`content` = the field's pruned value, plus `formData`,
229
+ * `branding`, `portal`, `oid`, `workflow`). The transformed component is made visible so edit-mode visibility
230
+ * defaults do not suppress the custom view. A layout hidden for edit mode is shown when transformed content is
231
+ * non-empty and remains hidden when it is empty. It is ignored when no transform to ContentComponent occurs.
232
+ */
233
+ template?: string;
226
234
  };
227
235
  /**
228
236
  * The form mode to class name mapping.
@@ -11,6 +11,7 @@ export declare class FormOverride {
11
11
  private activeReusableFormDefs;
12
12
  private readonly reusableFragmentSlotNames;
13
13
  private readonly reusableViewTemplateKeys;
14
+ private readonly linkLeafFallbackTemplate;
14
15
  private readonly dataLocationLeafFallbackTemplate;
15
16
  private readonly pdfListLeafFallbackTemplate;
16
17
  private readonly publishDataLocationSelectorLeafFallbackTemplate;
@@ -29,6 +30,7 @@ export declare class FormOverride {
29
30
  */
30
31
  private defaultTransforms;
31
32
  private readonly tableCompatibleLeafComponentNames;
33
+ hasDefaultViewTransform(className: string | undefined): boolean;
32
34
  /**
33
35
  * Apply any reusable form configs in the form component definitions.
34
36
  * @param items The form component definitions.
@@ -47,11 +49,16 @@ export declare class FormOverride {
47
49
  * Apply any overrides that transform a component into another component.
48
50
  * @param source The original component.
49
51
  * @param formMode The current form mode.
52
+ * @param options Additional options for applying override transforms.
53
+ * @param options.phase The phase of the form config processing to run.
54
+ * @param options.reusableFormDefs The available reusable form definitions.
55
+ * @param options.removeOverrides True to remove all overrides, false to retain the overrides that the client visitor might use.
50
56
  * @returns The transformed form component.
51
57
  */
52
58
  applyOverrideTransform(source: AllFormComponentDefinitionOutlines, formMode: FormModesConfig, options?: {
53
59
  phase?: 'construct' | 'client';
54
60
  reusableFormDefs?: ReusableFormDefinitions;
61
+ removeOverrides?: boolean;
55
62
  }): AllFormComponentDefinitionOutlines;
56
63
  /**
57
64
  * Create reusable components from the question tree questions DSL.
@@ -77,7 +84,14 @@ export declare class FormOverride {
77
84
  private sourceRadioInputComponentTargetContentComponent;
78
85
  private sourceDateInputComponentTargetContentComponent;
79
86
  private sourceTypeaheadInputComponentTargetContentComponent;
87
+ private resolveTypeaheadContentValue;
88
+ private getConfiguredTypeaheadStoredValue;
89
+ private getTypeaheadOptionObjectFields;
90
+ private isConfiguredTypeaheadLabelField;
91
+ private isConfiguredTypeaheadValueField;
80
92
  private sourceRichTextEditorComponentTargetContentComponent;
93
+ private resolveDateInputFormat;
94
+ private resolveRichTextOutputFormat;
81
95
  private sourceFileUploadComponentTargetContentComponent;
82
96
  private sourceDataLocationComponentTargetContentComponent;
83
97
  private sourcePDFListComponentTargetContentComponent;
@@ -92,15 +106,19 @@ export declare class FormOverride {
92
106
  private resolveQuestionTreeAnswerLabelFromConfig;
93
107
  private sourceRepeatableComponentTargetContentComponent;
94
108
  private extractDescendantValues;
109
+ private pruneGroupValue;
95
110
  private sourceGroupComponentTargetContentComponent;
96
111
  private generateTemplateForComponent;
97
112
  private generateRepeatableTemplate;
98
113
  private generateGroupTemplate;
99
114
  private renderRepeatableTable;
100
115
  private renderRepeatableFallback;
116
+ private effectiveViewTargetsContentComponent;
101
117
  private renderComponentBody;
102
118
  private renderLabelValueRow;
103
119
  private renderLeafValue;
120
+ private renderDateInputValue;
121
+ private renderRichTextEditorValue;
104
122
  private renderTypeaheadValue;
105
123
  private renderTypeaheadScalarValue;
106
124
  private renderDisplayValue;
@@ -40,6 +40,7 @@ class FormOverride {
40
40
  'cellsHtml',
41
41
  'rowsHtml',
42
42
  'itemBodyHtml',
43
+ 'itemClass',
43
44
  'labelHtml',
44
45
  'valueHtml',
45
46
  'valueExpr',
@@ -62,12 +63,14 @@ class FormOverride {
62
63
  leafDataLocation: 'view-template-leaf-data-location',
63
64
  leafPublishDataLocationSelector: 'view-template-leaf-publish-data-location-selector',
64
65
  leafCheckboxTree: 'view-template-leaf-checkbox-tree',
66
+ leafLink: 'view-template-leaf-link',
65
67
  groupContainer: 'view-template-group-container',
66
68
  groupRowWithLabel: 'view-template-group-row-with-label',
67
69
  groupRowNoLabel: 'view-template-group-row-no-label',
68
70
  repeatableTable: 'view-template-repeatable-table',
69
71
  repeatableList: 'view-template-repeatable-list',
70
72
  };
73
+ linkLeafFallbackTemplate = `{{#if [[valueExpr]]}}<a href="{{default [[valueExpr]] ""}}" target="_blank" rel="noopener noreferrer">{{default [[valueExpr]] ""}}</a>{{/if}}`;
71
74
  dataLocationLeafFallbackTemplate = `{{#if [[valueExpr]]}}<div class="table-responsive mt-2"><table class="table table-bordered table-striped table-hover mb-0 rb-view-data-location"><thead><tr><th width="15%">[[typeHeaderHtml]]</th><th width="40%">[[locationHeaderHtml]]</th>[[notesHeaderCellHtml]][[iscHeaderCellHtml]]</tr></thead><tbody>{{#each [[valueExpr]]}}<tr><td>{{default this.typeLabel this.type}}</td><td>{{#if (or (eq this.type "url") (eq this.type "attachment"))}}<a href="{{default this.url this.location}}" target="_blank" rel="noopener noreferrer">{{default this.name this.location}}</a>{{else}}<span>{{default this.name this.location}}</span>{{/if}}</td>[[notesCellHtml]][[iscCellHtml]]</tr>{{/each}}</tbody></table></div>{{/if}}`;
72
75
  pdfListLeafFallbackTemplate = `{{#if [[valueExpr]]}}<ul class="rb-view-pdf-list">{{#each [[valueExpr]]}}<li>{{default this.fileName this.label}}</li>{{/each}}</ul>{{/if}}`;
73
76
  publishDataLocationSelectorLeafFallbackTemplate = `{{#if [[valueExpr]]}}<div class="table-responsive mt-2"><table class="table table-bordered table-striped table-hover mb-0 rb-view-publish-data-location-selector"><thead><tr><th width="15%">[[typeHeaderHtml]]</th><th width="35%">[[locationHeaderHtml]]</th>[[notesHeaderCellHtml]][[iscHeaderCellHtml]]</tr></thead><tbody>{{#each [[valueExpr]]}}{{#if this.selected}}<tr><td>{{default this.typeLabel this.type}}</td><td>{{#if (or (eq this.type "url") (eq this.type "attachment"))}}<a href="{{default this.url this.location}}" target="_blank" rel="noopener noreferrer">{{default this.name this.location}}</a>{{else}}<span>{{default this.name this.location}}</span>{{/if}}</td>[[notesCellHtml]][[iscCellHtml]]</tr>{{/if}}{{/each}}</tbody></table></div>{{/if}}`;
@@ -244,6 +247,12 @@ class FormOverride {
244
247
  data_location_outline_1.DataLocationComponentName,
245
248
  publish_data_location_selector_outline_1.PublishDataLocationSelectorComponentName,
246
249
  ]);
250
+ hasDefaultViewTransform(className) {
251
+ if (!className || !(className in this.defaultTransforms)) {
252
+ return false;
253
+ }
254
+ return !!this.defaultTransforms[className]?.view;
255
+ }
247
256
  /**
248
257
  * Apply any reusable form configs in the form component definitions.
249
258
  * @param items The form component definitions.
@@ -360,6 +369,10 @@ class FormOverride {
360
369
  * Apply any overrides that transform a component into another component.
361
370
  * @param source The original component.
362
371
  * @param formMode The current form mode.
372
+ * @param options Additional options for applying override transforms.
373
+ * @param options.phase The phase of the form config processing to run.
374
+ * @param options.reusableFormDefs The available reusable form definitions.
375
+ * @param options.removeOverrides True to remove all overrides, false to retain the overrides that the client visitor might use.
363
376
  * @returns The transformed form component.
364
377
  */
365
378
  applyOverrideTransform(source, formMode, options) {
@@ -378,9 +391,10 @@ class FormOverride {
378
391
  const skipAutomaticViewTransform = formMode === 'view' &&
379
392
  !shouldForceViewTransform &&
380
393
  this.hasExplicitAllowedMode(original?.constraints, 'view');
394
+ const hasExplicitTemplate = typeof transforms.template === 'string' && transforms.template.trim().length > 0;
381
395
  if (originalComponentClassName in this.defaultTransforms &&
382
396
  !deferViewModeContentFlatteningAtConstruct &&
383
- !skipAutomaticViewTransform) {
397
+ (!skipAutomaticViewTransform || hasExplicitTemplate)) {
384
398
  const defaultTransform = this.defaultTransforms[originalComponentClassName] ?? {};
385
399
  if (formMode in defaultTransform) {
386
400
  const defaultTransformClasses = defaultTransform[formMode] ?? {};
@@ -416,13 +430,33 @@ class FormOverride {
416
430
  // Apply the transform.
417
431
  const hasTransform = !!transformComponentClassName && !!transformFunc;
418
432
  const result = hasTransform ? transformFunc.call(this, original, formMode) : original;
433
+ if (formMode === 'view' &&
434
+ hasTransform &&
435
+ result?.component?.class === content_outline_1.ContentComponentName &&
436
+ typeof transforms.template === 'string' &&
437
+ transforms.template.trim().length > 0 &&
438
+ result.component.config !== undefined) {
439
+ result.component.config.template = transforms.template;
440
+ result.component.config.visible = true;
441
+ if (original.layout?.config?.visible === false && result.layout?.config !== undefined) {
442
+ result.layout.config.visible = !this.isDeepEmpty(result.component.config.content);
443
+ }
444
+ }
419
445
  // Use 'replaceName' to update the form component name.
420
446
  if (original.overrides?.replaceName !== undefined) {
421
447
  result.name = original.overrides?.replaceName;
422
448
  }
423
449
  // Remove the 'overrides' property, as it has been applied and so should not be present in the form config.
424
- if ('overrides' in result) {
425
- delete result['overrides'];
450
+ if ('overrides' in result && (phase === 'client' || options?.removeOverrides === true || formMode !== 'view')) {
451
+ // In the client phase or if the formMode is not 'view', the overrides have already been applied.
452
+ // The 'options.removeOverrides' setting provides a way to obtain the 'construct' phase with the overrides removed.
453
+ delete result.overrides;
454
+ }
455
+ else if ('overrides' in result && phase === 'construct') {
456
+ // The client visitor might use the overrides.formModeClasses[formMode] properties.
457
+ // Keep them in the construct phase, unless options?.removeOverrides is true.
458
+ delete result.overrides?.replaceName;
459
+ delete result.overrides?.reusableFormName;
426
460
  }
427
461
  if (isTransformExpected) {
428
462
  this.logger.info(`Component '${source?.name}' ${hasTransform ? 'transformed' : 'unmodified'} ` +
@@ -537,6 +571,10 @@ class FormOverride {
537
571
  const target = this.commonContentComponent(source, formMode);
538
572
  this.commonContentPlain(source, target);
539
573
  const sourceConfig = source.component?.config;
574
+ if (sourceConfig?.type === 'url' && target.component.config !== undefined) {
575
+ const template = this.resolveReusableViewTemplate(this.reusableViewTemplateKeys.leafLink, this.linkLeafFallbackTemplate);
576
+ target.component.config.template = this.substituteReusableTemplateSlots(template, { valueExpr: 'content' });
577
+ }
540
578
  if (sourceConfig?.type === 'hidden') {
541
579
  if (target.component.config) {
542
580
  target.component.config.visible = false;
@@ -603,7 +641,7 @@ class FormOverride {
603
641
  sourceDateInputComponentTargetContentComponent(source, formMode) {
604
642
  const target = this.commonContentComponent(source, formMode);
605
643
  if (target.component.config !== undefined && source.model?.config?.value !== undefined) {
606
- const configuredDateFormat = source.component?.config?.dateFormat?.trim?.() || 'YYYY/MM/DD';
644
+ const configuredDateFormat = this.resolveDateInputFormat(source);
607
645
  target.component.config.content = source.model.config.value;
608
646
  target.component.config.template = `<span data-value="{{content}}">{{formatDate content "${configuredDateFormat}"}}</span>`;
609
647
  }
@@ -614,19 +652,63 @@ class FormOverride {
614
652
  if (!target.component.config || source.model?.config?.value === undefined) {
615
653
  return target;
616
654
  }
617
- const value = source.model.config.value;
618
- const displayValue = value && typeof value === 'object' && 'label' in value
619
- ? value.label
620
- : typeof value === 'string'
621
- ? value
622
- : '';
655
+ const displayValue = this.resolveTypeaheadContentValue(source.model.config.value, source);
623
656
  target.component.config.content = displayValue;
624
657
  target.component.config.template = this.resolveReusableViewTemplate(this.reusableViewTemplateKeys.leafPlain, `<span>{{content}}</span>`);
625
658
  return target;
626
659
  }
660
+ resolveTypeaheadContentValue(value, source) {
661
+ if (typeof value === 'string') {
662
+ return value;
663
+ }
664
+ if (!value || typeof value !== 'object') {
665
+ return '';
666
+ }
667
+ const configuredValue = value;
668
+ const componentConfig = source.component.config;
669
+ const labelField = componentConfig?.labelField?.trim?.() || 'label';
670
+ const valueField = componentConfig?.valueField?.trim?.() || 'value';
671
+ const preferredFields = this.getTypeaheadDisplayFields(source);
672
+ const candidates = [
673
+ configuredValue.label,
674
+ this.getConfiguredTypeaheadStoredValue(configuredValue, labelField, source, this.isConfiguredTypeaheadLabelField.bind(this)),
675
+ configuredValue[labelField],
676
+ ...preferredFields.map(field => this.getConfiguredTypeaheadStoredValue(configuredValue, field, source, this.isConfiguredTypeaheadLabelField.bind(this))),
677
+ ...preferredFields.map(field => configuredValue[field]),
678
+ this.getConfiguredTypeaheadStoredValue(configuredValue, valueField, source, this.isConfiguredTypeaheadValueField.bind(this)),
679
+ configuredValue[valueField],
680
+ configuredValue.value,
681
+ ];
682
+ const resolvedValue = candidates.find(candidate => candidate !== undefined && candidate !== null);
683
+ return resolvedValue === undefined ? '' : String(resolvedValue);
684
+ }
685
+ getConfiguredTypeaheadStoredValue(value, sourcePath, source, matchesField) {
686
+ const optionObjectFields = this.getTypeaheadOptionObjectFields(source);
687
+ const directMatch = Object.entries(optionObjectFields).find(([fieldName, configuredSourcePath]) => configuredSourcePath === sourcePath && value[fieldName] !== undefined);
688
+ if (directMatch) {
689
+ return value[directMatch[0]];
690
+ }
691
+ const semanticMatch = Object.entries(optionObjectFields).find(([fieldName, configuredSourcePath]) => matchesField(fieldName, configuredSourcePath, source) && value[fieldName] !== undefined);
692
+ return semanticMatch ? value[semanticMatch[0]] : undefined;
693
+ }
694
+ getTypeaheadOptionObjectFields(source) {
695
+ const optionObjectFields = source.component.config?.optionObjectFields;
696
+ if (!optionObjectFields || typeof optionObjectFields !== 'object' || Array.isArray(optionObjectFields)) {
697
+ return {};
698
+ }
699
+ return optionObjectFields;
700
+ }
701
+ isConfiguredTypeaheadLabelField(fieldName, sourcePath, source) {
702
+ const labelField = source.component.config?.labelField ?? 'label';
703
+ return fieldName === labelField || sourcePath === labelField || fieldName === 'label' || sourcePath === 'label';
704
+ }
705
+ isConfiguredTypeaheadValueField(fieldName, sourcePath, source) {
706
+ const valueField = source.component.config?.valueField ?? 'value';
707
+ return fieldName === valueField || sourcePath === valueField || fieldName === 'value' || sourcePath === 'value';
708
+ }
627
709
  sourceRichTextEditorComponentTargetContentComponent(source, formMode) {
628
710
  const target = this.commonContentComponent(source, formMode);
629
- const outputFormat = source.component?.config?.outputFormat ?? 'html';
711
+ const outputFormat = this.resolveRichTextOutputFormat(source);
630
712
  if (!target.component.config || source.model?.config?.value === undefined) {
631
713
  return target;
632
714
  }
@@ -639,6 +721,12 @@ class FormOverride {
639
721
  };
640
722
  return target;
641
723
  }
724
+ resolveDateInputFormat(source) {
725
+ return source.component?.config?.dateFormat?.trim?.() || 'YYYY/MM/DD';
726
+ }
727
+ resolveRichTextOutputFormat(source) {
728
+ return source.component?.config?.outputFormat ?? 'html';
729
+ }
642
730
  sourceFileUploadComponentTargetContentComponent(source, formMode) {
643
731
  const target = this.commonContentComponent(source, formMode);
644
732
  if (!target.component.config || source.model?.config?.value === undefined) {
@@ -859,13 +947,62 @@ class FormOverride {
859
947
  }
860
948
  return values;
861
949
  }
950
+ pruneGroupValue(value, componentDefinitions) {
951
+ if (!value || typeof value !== 'object' || this.isDeepEmpty(value)) {
952
+ return undefined;
953
+ }
954
+ const result = {};
955
+ const renderableDefs = componentDefinitions.filter(c => this.isViewRenderableComponent(c));
956
+ const childNames = new Set(renderableDefs.map(c => c.name).filter((n) => typeof n === 'string'));
957
+ for (const [key, val] of Object.entries(value)) {
958
+ if (!childNames.has(key)) {
959
+ continue;
960
+ }
961
+ const childDef = renderableDefs.find(c => c.name === key);
962
+ const childIsGroup = childDef?.component?.class === group_outline_1.GroupFieldComponentName;
963
+ const childIsRepeatable = childDef?.component?.class === repeatable_outline_1.RepeatableComponentName;
964
+ if (childIsGroup && val && typeof val === 'object' && !Array.isArray(val)) {
965
+ const childChildren = childDef?.component?.config
966
+ ?.componentDefinitions ?? [];
967
+ const nestedPruned = this.pruneGroupValue(val, childChildren);
968
+ if (nestedPruned !== undefined) {
969
+ result[key] = nestedPruned;
970
+ }
971
+ }
972
+ else if (childIsRepeatable && Array.isArray(val)) {
973
+ const elementTemplate = childDef?.component?.config
974
+ ?.elementTemplate;
975
+ const elementChildren = elementTemplate?.component?.class === group_outline_1.GroupFieldComponentName
976
+ ? (elementTemplate?.component?.config
977
+ ?.componentDefinitions ?? [])
978
+ : [];
979
+ if (elementChildren.length > 0) {
980
+ result[key] = val.map((item) => {
981
+ if (item && typeof item === 'object' && !Array.isArray(item)) {
982
+ return this.pruneGroupValue(item, elementChildren) ?? {};
983
+ }
984
+ return item;
985
+ });
986
+ }
987
+ else {
988
+ result[key] = val;
989
+ }
990
+ }
991
+ else {
992
+ result[key] = val;
993
+ }
994
+ }
995
+ return Object.keys(result).length > 0 ? result : undefined;
996
+ }
862
997
  sourceGroupComponentTargetContentComponent(source, formMode) {
863
998
  const target = this.commonContentComponent(source, formMode);
864
999
  if (target.component.config) {
865
1000
  const contentValue = source.model?.config?.value;
1001
+ const children = source?.component?.config?.componentDefinitions ?? [];
1002
+ const prunedValue = this.pruneGroupValue(contentValue, children);
866
1003
  target.component.config.content =
867
- contentValue && typeof contentValue === 'object' && !this.isDeepEmpty(contentValue)
868
- ? contentValue
1004
+ prunedValue && !this.isDeepEmpty(prunedValue)
1005
+ ? prunedValue
869
1006
  : this.extractDescendantValues(source);
870
1007
  target.component.config.template = this.generateTemplateForComponent(source, 'content');
871
1008
  }
@@ -886,6 +1023,15 @@ class FormOverride {
886
1023
  if (!elementTemplate) {
887
1024
  return `<div class="rb-view-repeatable rb-view-repeatable-list"></div>`;
888
1025
  }
1026
+ const elementViewOverride = elementTemplate?.overrides?.formModeClasses?.view;
1027
+ const elementClassName = elementTemplate?.component?.class ?? '';
1028
+ const elementIsIdentity = elementViewOverride?.component === elementClassName;
1029
+ const elementHasCustomTemplate = !elementIsIdentity && typeof elementViewOverride?.template === 'string' &&
1030
+ elementViewOverride.template.trim().length > 0 &&
1031
+ this.effectiveViewTargetsContentComponent(elementClassName, elementViewOverride);
1032
+ if (elementHasCustomTemplate) {
1033
+ return this.renderRepeatableFallback(elementTemplate, rootExpr);
1034
+ }
889
1035
  const groupChildren = this.getRenderableGroupChildren(elementTemplate);
890
1036
  const tableEligible = !!groupChildren && this.isTableEligibleGroupChildren(groupChildren);
891
1037
  this.logger.debug(`Repeatable view transform '${component.name}' using ${tableEligible ? 'table' : 'fallback'} layout.`);
@@ -907,16 +1053,37 @@ class FormOverride {
907
1053
  return this.substituteReusableTemplateSlots(template, { rootExpr, headersHtml: headers, cellsHtml: cells });
908
1054
  }
909
1055
  renderRepeatableFallback(elementTemplate, rootExpr) {
910
- const itemBody = this.renderComponentBody(elementTemplate, 'this');
911
1056
  const elementClassName = elementTemplate?.component?.class ?? '';
1057
+ const isLeafElement = elementClassName !== group_outline_1.GroupFieldComponentName && elementClassName !== repeatable_outline_1.RepeatableComponentName;
1058
+ const itemBody = isLeafElement
1059
+ ? this.renderLeafValue(elementTemplate, 'this', [])
1060
+ : this.renderComponentBody(elementTemplate, 'this');
912
1061
  const itemClass = elementClassName === group_outline_1.GroupFieldComponentName || elementClassName === repeatable_outline_1.RepeatableComponentName
913
1062
  ? 'rb-view-repeatable-card'
914
1063
  : 'rb-view-repeatable-card rb-view-repeatable-card--leaf';
915
1064
  const template = this.resolveReusableViewTemplate(this.reusableViewTemplateKeys.repeatableList, `{{#if [[rootExpr]]}}<div class="rb-view-repeatable rb-view-repeatable-list">{{#each [[rootExpr]]}}<div class="[[itemClass]]">[[itemBodyHtml]]</div>{{/each}}</div>{{/if}}`);
916
1065
  return this.substituteReusableTemplateSlots(template, { rootExpr, itemBodyHtml: itemBody, itemClass });
917
1066
  }
1067
+ effectiveViewTargetsContentComponent(className, viewOverride) {
1068
+ if (!className)
1069
+ return false;
1070
+ if (viewOverride?.component === content_outline_1.ContentComponentName)
1071
+ return true;
1072
+ if (this.hasDefaultViewTransform(className)) {
1073
+ const defaultTransform = this.defaultTransforms[className]?.view;
1074
+ return defaultTransform?.component === content_outline_1.ContentComponentName || defaultTransform?.component === undefined;
1075
+ }
1076
+ return false;
1077
+ }
918
1078
  renderComponentBody(component, rootExpr) {
919
1079
  const className = component?.component?.class;
1080
+ const viewOverride = component?.overrides?.formModeClasses?.view;
1081
+ const overrideComponent = viewOverride?.component;
1082
+ const isIdentityViewOverride = typeof overrideComponent === 'string' && overrideComponent === className;
1083
+ if (!isIdentityViewOverride && typeof viewOverride?.template === 'string' && viewOverride.template.trim().length > 0 &&
1084
+ this.effectiveViewTargetsContentComponent(className, viewOverride)) {
1085
+ return `{{#with ${rootExpr} includeZero=true as |content|}}{{#with @root as |__root__|}}${viewOverride.template}{{/with}}{{/with}}`;
1086
+ }
920
1087
  if (className === group_outline_1.GroupFieldComponentName) {
921
1088
  const children = this.getRenderableGroupChildren(component) ?? [];
922
1089
  return children.map(child => this.renderLabelValueRow(child, rootExpr)).join('');
@@ -940,6 +1107,13 @@ class FormOverride {
940
1107
  renderLeafValue(component, rootExpr, pathParts) {
941
1108
  const className = component?.component?.class ?? '';
942
1109
  const expression = this.safeValueExpression(rootExpr, pathParts);
1110
+ const viewOverride = component?.overrides?.formModeClasses?.view;
1111
+ const overrideComponent = viewOverride?.component;
1112
+ const isIdentityViewOverride = typeof overrideComponent === 'string' && overrideComponent === className;
1113
+ if (!isIdentityViewOverride && typeof viewOverride?.template === 'string' && viewOverride.template.trim().length > 0 &&
1114
+ this.effectiveViewTargetsContentComponent(className, viewOverride)) {
1115
+ return `{{#with ${expression} includeZero=true as |content|}}{{#with @root as |__root__|}}${viewOverride.template}{{/with}}{{/with}}`;
1116
+ }
943
1117
  if (className === file_upload_outline_1.FileUploadComponentName) {
944
1118
  const fileTemplate = this.resolveReusableViewTemplate(this.reusableViewTemplateKeys.leafFileUpload, `<ul class="rb-view-file-upload">{{#each [[valueExpr]]}<li>{{#if (attachmentDownloadUrl this oid branding portal)}}<a href="{{attachmentDownloadUrl this oid branding portal}}" target="_blank" rel="noopener noreferrer">{{default this.name this.fileId}}</a>{{else}}{{default this.name this.fileId}}{{/if}}{{#if this.notes}}<div class="text-muted"><small>{{this.notes}}</small></div>{{/if}}</li>{{/each}}</ul>`);
945
1119
  return this.substituteReusableTemplateSlots(fileTemplate, { valueExpr: expression });
@@ -982,18 +1156,31 @@ class FormOverride {
982
1156
  trimmedTemplate === '<span>{{content}}</span>') {
983
1157
  return this.renderDisplayValue(expression);
984
1158
  }
985
- return this.renderDisplayValue(expression);
1159
+ return `{{#with ${expression} includeZero=true as |content|}}{{#with @root as |__root__|}}${trimmedTemplate}{{/with}}{{/with}}`;
986
1160
  }
987
1161
  if (className === checkbox_tree_outline_1.CheckboxTreeComponentName) {
988
1162
  const template = this.resolveReusableViewTemplate(this.reusableViewTemplateKeys.leafCheckboxTree, `<ul>{{#each [[valueExpr]]}}<li>{{default this.label this.notation}}</li>{{/each}}</ul>`);
989
1163
  return this.substituteReusableTemplateSlots(template, { valueExpr: expression });
990
1164
  }
1165
+ if (className === simple_input_outline_1.SimpleInputComponentName && component?.component?.config?.type === 'url') {
1166
+ const template = this.resolveReusableViewTemplate(this.reusableViewTemplateKeys.leafLink, this.linkLeafFallbackTemplate);
1167
+ return this.substituteReusableTemplateSlots(template, { valueExpr: expression });
1168
+ }
991
1169
  if (className === text_area_outline_1.TextAreaComponentName) {
992
1170
  return `<span>{{{plaintextToHtml ${expression}}}}</span>`;
993
1171
  }
994
1172
  if (className === typeahead_input_outline_1.TypeaheadInputComponentName) {
995
1173
  return this.renderTypeaheadValue(expression, component);
996
1174
  }
1175
+ if (className === date_input_outline_1.DateInputComponentName) {
1176
+ return this.renderDateInputValue(expression, component);
1177
+ }
1178
+ if (className === rich_text_editor_outline_1.RichTextEditorComponentName) {
1179
+ return this.renderRichTextEditorValue(expression, component);
1180
+ }
1181
+ if (className === simple_input_outline_1.SimpleInputComponentName) {
1182
+ return this.renderDisplayValue(expression);
1183
+ }
997
1184
  if (className === dropdown_input_outline_1.DropdownInputComponentName ||
998
1185
  className === checkbox_input_outline_1.CheckboxInputComponentName ||
999
1186
  className === radio_input_outline_1.RadioInputComponentName) {
@@ -1005,6 +1192,15 @@ class FormOverride {
1005
1192
  }
1006
1193
  return `{{default ${expression} ""}}`;
1007
1194
  }
1195
+ renderDateInputValue(expression, component) {
1196
+ const configuredDateFormat = this.resolveDateInputFormat(component);
1197
+ const dateValueTemplate = `{{default ${expression} ""}}`;
1198
+ return `<span data-value="${dateValueTemplate}">{{formatDate ${expression} "${configuredDateFormat}"}}</span>`;
1199
+ }
1200
+ renderRichTextEditorValue(expression, component) {
1201
+ const outputFormat = this.resolveRichTextOutputFormat(component);
1202
+ return `{{{markdownToHtml ${expression} "${this.escapeForHandlebarsLiteral(outputFormat)}"}}}`;
1203
+ }
1008
1204
  renderTypeaheadValue(expression, component) {
1009
1205
  const arrayItem = this.renderTypeaheadScalarValue('this', component);
1010
1206
  const singleValue = this.renderTypeaheadScalarValue(expression, component);
@@ -1081,6 +1277,12 @@ class FormOverride {
1081
1277
  }
1082
1278
  isViewRenderableComponent(component) {
1083
1279
  const componentConfig = component?.component?.config;
1280
+ const viewOverride = component?.overrides?.formModeClasses?.view;
1281
+ const hasEffectiveViewTemplate = typeof viewOverride?.template === 'string' && viewOverride.template.trim().length > 0 &&
1282
+ this.effectiveViewTargetsContentComponent(component?.component?.class, viewOverride);
1283
+ if (hasEffectiveViewTemplate) {
1284
+ return true;
1285
+ }
1084
1286
  if (componentConfig?.visible === false || componentConfig?.type === 'hidden') {
1085
1287
  return false;
1086
1288
  }
@@ -1317,4 +1519,4 @@ class FormOverride {
1317
1519
  }
1318
1520
  }
1319
1521
  exports.FormOverride = FormOverride;
1320
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1vdmVycmlkZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb25maWcvZm9ybS1vdmVycmlkZS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyRUFBdUg7QUFDdkgsaUVBSXFDO0FBTXJDLHFFQUE4RztBQUM5RywrRUFJNEM7QUFDNUMseUVBSXlDO0FBQ3pDLHVFQUFpSDtBQUVqSCxtQ0FBMkY7QUFFM0YsK0VBRzRDO0FBQzVDLHlFQUEwRTtBQUUxRSxtRUFBMkc7QUFFM0csNkRBQWtHO0FBQ2xHLHlEQUEwRDtBQUUxRCw2REFBd0U7QUFDeEUsNkVBTzJDO0FBQzNDLHlEQUE4RjtBQUM5RixxRUFTdUM7QUFDdkMsaUVBS3FDO0FBQ3JDLHVFQUFtSDtBQUNuSCw2REFBeUc7QUFDekcsNkVBQTBIO0FBQzFILGlGQUFnSTtBQUNoSSxtRkFBaUk7QUFDakkseURBQTJEO0FBQzNELHlFQUFvSDtBQUNwSCxtRUFBMkc7QUFDM0csNkVBQTBIO0FBQzFILCtHQUc0RDtBQUs1RCwyRUFBb0U7QUFHcEUsTUFBYSxZQUFZO0lBQ2IsT0FBTyxHQUFHLGNBQWMsQ0FBQztJQUMzQixnQkFBZ0IsQ0FBbUI7SUFDbkMsTUFBTSxDQUFVO0lBQ2hCLHNCQUFzQixDQUEwQjtJQUN2Qyx5QkFBeUIsR0FBRyxJQUFJLEdBQUcsQ0FBUztRQUMzRCxVQUFVO1FBQ1YsYUFBYTtRQUNiLFdBQVc7UUFDWCxVQUFVO1FBQ1YsY0FBYztRQUNkLFdBQVc7UUFDWCxXQUFXO1FBQ1gsV0FBVztRQUNYLGdCQUFnQjtRQUNoQixvQkFBb0I7UUFDcEIscUJBQXFCO1FBQ3JCLG1CQUFtQjtRQUNuQixlQUFlO1FBQ2YsYUFBYTtLQUNkLENBQUMsQ0FBQztJQUNjLHdCQUF3QixHQUFHO1FBQzFDLFNBQVMsRUFBRSwwQkFBMEI7UUFDckMsUUFBUSxFQUFFLHlCQUF5QjtRQUNuQyxlQUFlLEVBQUUsaUNBQWlDO1FBQ2xELGdCQUFn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
1522
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1vdmVycmlkZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb25maWcvZm9ybS1vdmVycmlkZS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyRUFBdUg7QUFDdkgsaUVBSXFDO0FBTXJDLHFFQUE4RztBQUM5RywrRUFJNEM7QUFDNUMseUVBSXlDO0FBQ3pDLHVFQUFpSDtBQUVqSCxtQ0FBMkY7QUFFM0YsK0VBRzRDO0FBQzVDLHlFQUEwRTtBQUUxRSxtRUFBMkc7QUFFM0csNkRBQWtHO0FBQ2xHLHlEQUEwRDtBQUUxRCw2REFBd0U7QUFDeEUsNkVBTzJDO0FBQzNDLHlEQUE4RjtBQUM5RixxRUFTdUM7QUFDdkMsaUVBS3FDO0FBQ3JDLHVFQUFtSDtBQUNuSCw2REFBeUc7QUFDekcsNkVBQTBIO0FBQzFILGlGQUFnSTtBQUNoSSxtRkFBaUk7QUFDakkseURBQTJEO0FBQzNELHlFQUFvSDtBQUNwSCxtRUFBMkc7QUFDM0csNkVBQTBIO0FBQzFILCtHQUc0RDtBQVE1RCwyRUFBb0U7QUFHcEUsTUFBYSxZQUFZO0lBQ2IsT0FBTyxHQUFHLGNBQWMsQ0FBQztJQUMzQixnQkFBZ0IsQ0FBbUI7SUFDbkMsTUFBTSxDQUFVO0lBQ2hCLHNCQUFzQixDQUEwQjtJQUN2Qyx5QkFBeUIsR0FBRyxJQUFJLEdBQUcsQ0FBUztRQUMzRCxVQUFVO1FBQ1YsYUFBYTtRQUNiLFdBQVc7UUFDWCxVQUFVO1FBQ1YsY0FBYztRQUNkLFdBQVc7UUFDWCxXQUFXO1FBQ1gsV0FBVztRQUNYLFdBQVc7UUFDWCxnQkFBZ0I7UUFDaEIsb0JBQW9CO1FBQ3BCLHFCQUFxQjtRQUNyQixtQkFBbUI7UUFDbkIsZUFBZTtRQUNmLGFBQWE7S0FDZCxDQUFDLENBQUM7SUFDYyx3QkFBd0IsR0FBRztRQUMxQyxTQUFTLEVBQUUsMEJBQTBCO1FBQ3JDLFFBQVEsRUFBRSx5QkFBeUI7UUFDbkMsZUFBZSxFQUFFLGlDQUFpQztR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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@researchdatabox/sails-ng-common",
3
- "version": "0.0.1-beta.10300",
3
+ "version": "0.0.1-beta.10760",
4
4
  "description": "Common models shared between Sails API endpoints and client-side Angular code",
5
5
  "main": "dist/src/index.js",
6
6
  "types": "dist/src/index.d.ts",