@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.
- package/dist/src/config/component/typeahead-input.model.d.ts +5 -4
- package/dist/src/config/component/typeahead-input.model.js +4 -1
- package/dist/src/config/component/typeahead-input.outline.d.ts +77 -11
- package/dist/src/config/component/typeahead-input.outline.js +3 -2
- package/dist/src/config/form-component.outline.d.ts +8 -0
- package/dist/src/config/form-override.model.d.ts +18 -0
- package/dist/src/config/form-override.model.js +218 -16
- package/package.json +1 -1
|
@@ -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
|
|
9
|
-
sourceType:
|
|
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:
|
|
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,
|
|
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
|
|
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
|
|
30
|
-
|
|
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
|
|
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
|
|
65
|
-
value
|
|
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,
|
|
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
|
-
|
|
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 =
|
|
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
|
|
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
|
|
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
|
-
|
|
868
|
-
?
|
|
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
|
|
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.
|
|
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",
|