@researchdatabox/sails-ng-common 5.0.4 → 5.1.0-beta.12568
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/checkbox-input.model.d.ts +1 -0
- package/dist/src/config/component/checkbox-input.model.js +2 -1
- package/dist/src/config/component/checkbox-input.outline.d.ts +2 -1
- package/dist/src/config/component/checkbox-input.outline.js +1 -1
- package/dist/src/config/component/data-location.outline.d.ts +1 -0
- package/dist/src/config/component/file-upload.outline.d.ts +2 -0
- package/dist/src/config/component/file-upload.outline.js +1 -1
- package/dist/src/config/component/related-object-data.model.d.ts +45 -0
- package/dist/src/config/component/related-object-data.model.js +39 -0
- package/dist/src/config/component/related-object-data.outline.d.ts +59 -0
- package/dist/src/config/component/related-object-data.outline.js +5 -0
- package/dist/src/config/component/save-button.model.d.ts +1 -0
- package/dist/src/config/component/save-button.model.js +2 -1
- package/dist/src/config/component/save-button.outline.d.ts +5 -0
- package/dist/src/config/component/save-status.model.d.ts +4 -0
- package/dist/src/config/component/save-status.model.js +5 -1
- package/dist/src/config/component/save-status.outline.d.ts +20 -0
- package/dist/src/config/component/workspace.model.d.ts +44 -0
- package/dist/src/config/component/workspace.model.js +44 -0
- package/dist/src/config/component/workspace.outline.d.ts +62 -0
- package/dist/src/config/component/workspace.outline.js +5 -0
- package/dist/src/config/dictionary.model.d.ts +28 -4
- package/dist/src/config/dictionary.model.js +7 -1
- package/dist/src/config/dictionary.outline.d.ts +5 -3
- package/dist/src/config/form-behaviour.outline.d.ts +120 -7
- package/dist/src/config/form-behaviour.outline.js +13 -5
- package/dist/src/config/form-component.model.d.ts +1 -0
- package/dist/src/config/form-component.model.js +2 -1
- package/dist/src/config/form-component.outline.d.ts +14 -0
- package/dist/src/config/form-config.model.d.ts +3 -0
- package/dist/src/config/form-config.model.js +2 -1
- package/dist/src/config/form-config.outline.d.ts +10 -0
- package/dist/src/config/form-override.model.js +4 -3
- package/dist/src/config/visitor/base.model.d.ts +6 -0
- package/dist/src/config/visitor/base.model.js +13 -1
- package/dist/src/config/visitor/base.outline.d.ts +6 -0
- package/dist/src/config/visitor/common.model.js +2 -1
- package/dist/src/index.d.ts +9 -0
- package/dist/src/index.js +10 -1
- package/dist/src/internal/plain-record.d.ts +11 -0
- package/dist/src/internal/plain-record.js +21 -0
- package/dist/src/jsonata-helpers.d.ts +15 -0
- package/dist/src/jsonata-helpers.js +49 -13
- package/dist/src/jsonata-parity.fixtures.d.ts +9 -0
- package/dist/src/jsonata-parity.fixtures.js +25 -0
- package/dist/src/record-concurrency.model.d.ts +118 -0
- package/dist/src/record-concurrency.model.js +199 -0
- package/dist/src/record-diff.d.ts +69 -0
- package/dist/src/record-diff.js +298 -0
- package/dist/src/record-save.model.d.ts +154 -0
- package/dist/src/record-save.model.js +289 -0
- package/dist/src/testing.d.ts +3 -0
- package/dist/src/testing.js +20 -0
- package/dist/src/validation/record-validation.model.d.ts +84 -0
- package/dist/src/validation/record-validation.model.js +53 -0
- package/dist/src/validation/validation-groups.d.ts +29 -0
- package/dist/src/validation/validation-groups.fixtures.d.ts +20 -0
- package/dist/src/validation/validation-groups.fixtures.js +83 -0
- package/dist/src/validation/validation-groups.js +82 -0
- package/package.json +16 -11
|
@@ -10,8 +10,10 @@ const group_model_1 = require("./component/group.model");
|
|
|
10
10
|
const save_button_model_1 = require("./component/save-button.model");
|
|
11
11
|
const save_status_model_1 = require("./component/save-status.model");
|
|
12
12
|
const integration_status_model_1 = require("./component/integration-status.model");
|
|
13
|
+
const workspace_model_1 = require("./component/workspace.model");
|
|
13
14
|
const text_area_model_1 = require("./component/text-area.model");
|
|
14
15
|
const content_model_1 = require("./component/content.model");
|
|
16
|
+
const related_object_data_model_1 = require("./component/related-object-data.model");
|
|
15
17
|
const simple_input_model_1 = require("./component/simple-input.model");
|
|
16
18
|
const validation_summary_model_1 = require("./component/validation-summary.model");
|
|
17
19
|
const suggested_validation_summary_model_1 = require("./component/suggested-validation-summary.model");
|
|
@@ -52,11 +54,13 @@ exports.AllDefs = [
|
|
|
52
54
|
...save_button_model_1.SaveButtonMap,
|
|
53
55
|
...save_status_model_1.SaveStatusMap,
|
|
54
56
|
...integration_status_model_1.IntegrationStatusMap,
|
|
57
|
+
...workspace_model_1.WorkspaceMap,
|
|
55
58
|
...cancel_button_model_1.CancelButtonMap,
|
|
56
59
|
...delete_button_model_1.DeleteButtonMap,
|
|
57
60
|
...tab_nav_button_model_1.TabNavButtonMap,
|
|
58
61
|
...text_area_model_1.TextAreaMap,
|
|
59
62
|
...content_model_1.ContentMap,
|
|
63
|
+
...related_object_data_model_1.RelatedObjectDataMap,
|
|
60
64
|
...simple_input_model_1.SimpleInputMap,
|
|
61
65
|
...validation_summary_model_1.ValidationSummaryMap,
|
|
62
66
|
...suggested_validation_summary_model_1.SuggestedValidationSummaryMap,
|
|
@@ -94,11 +98,13 @@ const RawDefaults = [
|
|
|
94
98
|
save_button_model_1.SaveButtonDefaults,
|
|
95
99
|
save_status_model_1.SaveStatusDefaults,
|
|
96
100
|
integration_status_model_1.IntegrationStatusDefaults,
|
|
101
|
+
workspace_model_1.WorkspaceDefaults,
|
|
97
102
|
cancel_button_model_1.CancelButtonDefaults,
|
|
98
103
|
delete_button_model_1.DeleteButtonDefaults,
|
|
99
104
|
tab_nav_button_model_1.TabNavButtonDefaults,
|
|
100
105
|
text_area_model_1.TextAreaDefaults,
|
|
101
106
|
content_model_1.ContentDefaults,
|
|
107
|
+
related_object_data_model_1.RelatedObjectDataDefaults,
|
|
102
108
|
simple_input_model_1.SimpleInputDefaults,
|
|
103
109
|
validation_summary_model_1.ValidationSummaryDefaults,
|
|
104
110
|
suggested_validation_summary_model_1.SuggestedValidationSummaryDefaults,
|
|
@@ -178,4 +184,4 @@ exports.FieldComponentDefinitionMap = toClassDefMap(VisitorComponentDefs);
|
|
|
178
184
|
exports.FieldModelDefinitionMap = toClassDefMap(ModelDefs);
|
|
179
185
|
exports.FieldLayoutDefinitionMap = toClassDefMap(LayoutDefs);
|
|
180
186
|
exports.FormComponentDefinitionMap = toClassDefMap(VisitorFormComponentDefs);
|
|
181
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
187
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGljdGlvbmFyeS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb25maWcvZGljdGlvbmFyeS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxREFLMEI7QUFFMUIsMkVBQTJGO0FBQzNGLGlGQUF5RTtBQUN6RSx5RUFBa0U7QUFDbEUsbUVBQWlGO0FBQ2pGLHlEQUFrRTtBQUNsRSxxRUFBa0Y7QUFDbEYscUVBQWtGO0FBQ2xGLG1GQUF1RztBQUN2RyxpRUFBOEU7QUFDOUUsaUVBQTRFO0FBQzVFLDZEQUF3RTtBQUN4RSxxRkFBd0c7QUFDeEcsdUVBQXFGO0FBQ3JGLG1GQUF1RztBQUN2Ryx1R0FHd0Q7QUFDeEQscUVBQWtGO0FBQ2xGLHFEQUE0RDtBQUM1RCxpRUFBOEU7QUFDOUUsMkVBQTJGO0FBQzNGLDJFQUEyRjtBQUMzRixxRUFBa0Y7QUFDbEYsbUVBQStFO0FBQy9FLCtEQUEyRTtBQUMzRSxtRUFBcUU7QUFDckUseUVBQXdGO0FBQ3hGLHlFQUF3RjtBQUN4Riw2RUFBOEY7QUFDOUYsNkVBQThGO0FBQzlGLCtFQUErRjtBQUMvRixxREFBNEQ7QUFDNUQscUVBQWtGO0FBQ2xGLCtEQUF5RTtBQUN6RSxpR0FHcUQ7QUFDckQseUVBQXdGO0FBQ3hGLHlHQUd5RDtBQUN6RCwyR0FHMEQ7QUFDMUQseUVBQXdGO0FBQ3hGLDJFQUF5RjtBQUN6Rix5RUFBd0Y7QUFFeEY7OztHQUdHO0FBQ1UsUUFBQSxPQUFPLEdBQUc7SUFDckIsR0FBRyx1Q0FBZ0I7SUFDbkIsR0FBRyw0Q0FBa0I7SUFDckIsR0FBRyxxQ0FBZTtJQUNsQixHQUFHLGdDQUFhO0lBQ2hCLEdBQUcsc0JBQVE7SUFDWCxHQUFHLGlDQUFhO0lBQ2hCLEdBQUcsaUNBQWE7SUFDaEIsR0FBRywrQ0FBb0I7SUFDdkIsR0FBRyw4QkFBWTtJQUNmLEdBQUcscUNBQWU7SUFDbEIsR0FBRyxxQ0FBZTtJQUNsQixHQUFHLHNDQUFlO0lBQ2xC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
|
|
@@ -3,8 +3,10 @@ import { GroupTypes } from './component/group.outline';
|
|
|
3
3
|
import { SaveButtonTypes } from './component/save-button.outline';
|
|
4
4
|
import { SaveStatusTypes } from './component/save-status.outline';
|
|
5
5
|
import { IntegrationStatusTypes } from './component/integration-status.outline';
|
|
6
|
+
import { WorkspaceTypes } from './component/workspace.outline';
|
|
6
7
|
import { TextAreaTypes } from './component/text-area.outline';
|
|
7
8
|
import { ContentTypes } from './component/content.outline';
|
|
9
|
+
import { RelatedObjectDataTypes } from './component/related-object-data.outline';
|
|
8
10
|
import { SimpleInputTypes } from './component/simple-input.outline';
|
|
9
11
|
import { ValidationSummaryTypes } from './component/validation-summary.outline';
|
|
10
12
|
import { SuggestedValidationSummaryTypes } from './component/suggested-validation-summary.outline';
|
|
@@ -35,13 +37,13 @@ import { PublishDataLocationSelectorTypes } from './component/publish-data-locat
|
|
|
35
37
|
import { CancelButtonTypes } from './component/cancel-button.outline';
|
|
36
38
|
import { TabNavButtonTypes } from './component/tab-nav-button.outline';
|
|
37
39
|
import { DeleteButtonTypes } from './component/delete-button.outline';
|
|
38
|
-
import { FieldComponentDefinitionFrame } from
|
|
39
|
-
import { FieldLayoutDefinitionFrame } from
|
|
40
|
+
import { FieldComponentDefinitionFrame } from './field-component.outline';
|
|
41
|
+
import { FieldLayoutDefinitionFrame } from './field-layout.outline';
|
|
40
42
|
/**
|
|
41
43
|
* The static type union of all available interfaces that provides typing for the object literal and schema.
|
|
42
44
|
* Other convenience mappings are built from this.
|
|
43
45
|
*/
|
|
44
|
-
export type AllTypes = DefaultLayoutTypes | InlineLayoutTypes | ActionRowLayoutTypes | RepeatableTypes | GroupTypes | SaveButtonTypes | SaveStatusTypes | IntegrationStatusTypes | CancelButtonTypes | DeleteButtonTypes | TabNavButtonTypes | TextAreaTypes | ContentTypes | SimpleInputTypes | ValidationSummaryTypes | SuggestedValidationSummaryTypes | TabContentTypes | TabTypes | AccordionTypes | CheckboxInputTypes | DropdownInputTypes | RadioInputTypes | DateInputTypes | ReusableTypes | QuestionTreeTypes | CheckboxTreeTypes | RecordSelectorTypes | TypeaheadInputTypes | RichTextEditorTypes | MapTypes | FileUploadTypes | PDFListTypes | RecordMetadataRetrieverTypes | DataLocationTypes | PublishDataLocationRefreshTypes | PublishDataLocationSelectorTypes;
|
|
46
|
+
export type AllTypes = DefaultLayoutTypes | InlineLayoutTypes | ActionRowLayoutTypes | RepeatableTypes | GroupTypes | SaveButtonTypes | SaveStatusTypes | IntegrationStatusTypes | WorkspaceTypes | CancelButtonTypes | DeleteButtonTypes | TabNavButtonTypes | TextAreaTypes | ContentTypes | RelatedObjectDataTypes | SimpleInputTypes | ValidationSummaryTypes | SuggestedValidationSummaryTypes | TabContentTypes | TabTypes | AccordionTypes | CheckboxInputTypes | DropdownInputTypes | RadioInputTypes | DateInputTypes | ReusableTypes | QuestionTreeTypes | CheckboxTreeTypes | RecordSelectorTypes | TypeaheadInputTypes | RichTextEditorTypes | MapTypes | FileUploadTypes | PDFListTypes | RecordMetadataRetrieverTypes | DataLocationTypes | PublishDataLocationRefreshTypes | PublishDataLocationSelectorTypes;
|
|
45
47
|
/**
|
|
46
48
|
* The form component definition frames available for use in any list of form components.
|
|
47
49
|
*/
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ExpressionsConditionKindType } from './form-component.outline';
|
|
1
|
+
import { ExpressionsConditionKindType, FormExpressionsTargetType } from './form-component.outline';
|
|
2
2
|
/**
|
|
3
3
|
* Form behaviours are the v1 form-level automation primitive described in
|
|
4
4
|
* `support/specs/form-behaviour/implementation_plan.md`.
|
|
@@ -9,14 +9,18 @@ import { ExpressionsConditionKindType } from './form-component.outline';
|
|
|
9
9
|
* - keep the configuration serialisable so it can pass through the existing
|
|
10
10
|
* Construct -> Template -> Client visitor pipeline
|
|
11
11
|
*
|
|
12
|
-
* Scope
|
|
12
|
+
* Scope:
|
|
13
13
|
* - built-in processors only: `jsonataTransform`, `fetchMetadata`
|
|
14
|
-
* - built-in actions only: `setValue`, `emitEvent`
|
|
14
|
+
* - built-in actions only: `setValue`, `setValues`, `emitEvent`, `runTemplate`,
|
|
15
|
+
* `setUIProperty`, `setUIProperties`
|
|
15
16
|
* - event emission is intentionally limited to `field.value.changed`
|
|
17
|
+
* - UI-property actions reuse the expressions target vocabulary
|
|
18
|
+
* (`model.*`, `layout.*`, `component.*`, `field.visible`, `field.disabled`,
|
|
19
|
+
* `form.enabledValidationGroups`)
|
|
16
20
|
*
|
|
17
|
-
* Out of scope
|
|
21
|
+
* Out of scope:
|
|
18
22
|
* - hook-registered/custom processors and actions
|
|
19
|
-
* - UI
|
|
23
|
+
* - UI feedback actions such as notifications or highlighting
|
|
20
24
|
* - processor-level debounce controls
|
|
21
25
|
*
|
|
22
26
|
* These types are intentionally lightweight outlines rather than runtime
|
|
@@ -29,7 +33,11 @@ export declare const FormBehaviourProcessorType: {
|
|
|
29
33
|
export type FormBehaviourProcessorTypeValue = (typeof FormBehaviourProcessorType)[keyof typeof FormBehaviourProcessorType];
|
|
30
34
|
export declare const FormBehaviourActionType: {
|
|
31
35
|
readonly SetValue: "setValue";
|
|
36
|
+
readonly SetValues: "setValues";
|
|
32
37
|
readonly EmitEvent: "emitEvent";
|
|
38
|
+
readonly RunTemplate: "runTemplate";
|
|
39
|
+
readonly SetUIProperty: "setUIProperty";
|
|
40
|
+
readonly SetUIProperties: "setUIProperties";
|
|
33
41
|
};
|
|
34
42
|
export type FormBehaviourActionTypeValue = (typeof FormBehaviourActionType)[keyof typeof FormBehaviourActionType];
|
|
35
43
|
export declare const FieldPathKind: {
|
|
@@ -88,17 +96,122 @@ export interface FormBehaviourEmitEventActionConfig {
|
|
|
88
96
|
valueTemplate?: string;
|
|
89
97
|
hasValueTemplate?: boolean;
|
|
90
98
|
}
|
|
91
|
-
|
|
99
|
+
/**
|
|
100
|
+
* `setValues` applies several `setValue`-style assignments from one action.
|
|
101
|
+
*
|
|
102
|
+
* Each entry mirrors `FormBehaviourSetValueActionConfig` exactly, including
|
|
103
|
+
* `fieldPathKind` resolution modes and per-entry `valueTemplate`. Entries that
|
|
104
|
+
* fail to resolve are warn-and-skipped individually; the remaining entries
|
|
105
|
+
* still run. Entries apply in order, but their templates share the `formData`
|
|
106
|
+
* snapshot taken before this action. Use separate actions when a later
|
|
107
|
+
* template must read a value written by an earlier entry.
|
|
108
|
+
*/
|
|
109
|
+
export interface FormBehaviourSetValuesActionConfig {
|
|
110
|
+
values: FormBehaviourSetValueActionConfig[];
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* `runTemplate` evaluates a JSONata template against the full behaviour
|
|
114
|
+
* pipeline context (`value`, `event`, `formData`, `requestParams`,
|
|
115
|
+
* `runtimeContext`, `querySource`, plus any context keys stored by earlier
|
|
116
|
+
* `runTemplate` actions in the same list execution).
|
|
117
|
+
*
|
|
118
|
+
* Result handling (both optional, may be combined):
|
|
119
|
+
* - `resultKey`: store the result in the pipeline context under this key so
|
|
120
|
+
* later actions and their value templates can read it. The key must match
|
|
121
|
+
* `[A-Za-z_][A-Za-z0-9_]*` and must not be one of the reserved context keys
|
|
122
|
+
* (`value`, `event`, `formData`, `requestParams`, `runtimeContext`,
|
|
123
|
+
* `querySource`); omitting `resultKey` is the explicit way to replace the
|
|
124
|
+
* pipeline `value`.
|
|
125
|
+
* - `applyResults`: treat the result as
|
|
126
|
+
* `FormBehaviourFieldAssignmentInstruction[]` (a single object is wrapped)
|
|
127
|
+
* and apply each instruction. Invalid instructions are warn-and-skipped.
|
|
128
|
+
*
|
|
129
|
+
* When neither is configured the result replaces the pipeline `value`. When
|
|
130
|
+
* `applyResults` is true and no `resultKey` is set, the pipeline `value` is
|
|
131
|
+
* left untouched because the result is consumed by instruction application.
|
|
132
|
+
*/
|
|
133
|
+
export interface FormBehaviourRunTemplateActionConfig {
|
|
134
|
+
/** Raw JSONata source; compiled server-side and stripped by the client visitor. */
|
|
135
|
+
template?: string;
|
|
136
|
+
/** Client-side marker set after the raw template has been stripped. */
|
|
137
|
+
hasTemplate?: boolean;
|
|
138
|
+
resultKey?: string;
|
|
139
|
+
applyResults?: boolean;
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* One assignment produced by a `runTemplate` `applyResults` evaluation.
|
|
143
|
+
*
|
|
144
|
+
* `fieldPath` is a literal `angularComponentsJsonPointer` only — the JSONata
|
|
145
|
+
* template itself is the place to compute pointers. `target` defaults to
|
|
146
|
+
* `model.value`; `fieldPath` may be omitted only for the
|
|
147
|
+
* `form.enabledValidationGroups` target, which is form-scoped.
|
|
148
|
+
*/
|
|
149
|
+
export interface FormBehaviourFieldAssignmentInstruction {
|
|
150
|
+
fieldPath?: string;
|
|
151
|
+
target?: FormExpressionsTargetType;
|
|
152
|
+
value: unknown;
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Shared shape for `setUIProperty` config and `setUIProperties` entries.
|
|
156
|
+
*
|
|
157
|
+
* Value resolution precedence: `valueTemplate` (via `hasValueTemplate`) wins
|
|
158
|
+
* over a literal `value` (when the key is present), which wins over the
|
|
159
|
+
* pipeline `value`.
|
|
160
|
+
*
|
|
161
|
+
* In `setUIProperties` entries the fieldPath pair is all-or-nothing: an entry
|
|
162
|
+
* that provides `fieldPath` (or `hasFieldPathTemplate`) supplies its own
|
|
163
|
+
* `fieldPathKind` too; otherwise both fall back to the action-level defaults.
|
|
164
|
+
*/
|
|
165
|
+
export interface FormBehaviourSetUIPropertyEntry {
|
|
166
|
+
/**
|
|
167
|
+
* Target field. Required except when `target` is
|
|
168
|
+
* `form.enabledValidationGroups`.
|
|
169
|
+
*/
|
|
170
|
+
fieldPath?: string;
|
|
171
|
+
fieldPathKind?: FieldPathKindType;
|
|
172
|
+
hasFieldPathTemplate?: boolean;
|
|
173
|
+
target: FormExpressionsTargetType;
|
|
174
|
+
/** Literal value used when no `valueTemplate` is configured. */
|
|
175
|
+
value?: unknown;
|
|
176
|
+
valueTemplate?: string;
|
|
177
|
+
hasValueTemplate?: boolean;
|
|
178
|
+
}
|
|
179
|
+
export interface FormBehaviourSetUIPropertyActionConfig extends FormBehaviourSetUIPropertyEntry {
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* `setUIProperties` applies several UI-property assignments from one action.
|
|
183
|
+
* The action-level `fieldPath`/`fieldPathKind` act as defaults for entries
|
|
184
|
+
* that do not provide their own.
|
|
185
|
+
*/
|
|
186
|
+
export interface FormBehaviourSetUIPropertiesActionConfig {
|
|
187
|
+
fieldPath?: string;
|
|
188
|
+
fieldPathKind?: FieldPathKindType;
|
|
189
|
+
hasFieldPathTemplate?: boolean;
|
|
190
|
+
properties: FormBehaviourSetUIPropertyEntry[];
|
|
191
|
+
}
|
|
192
|
+
export interface FormBehaviourActionConfigFrame<TConfig = FormBehaviourSetValueActionConfig | FormBehaviourSetValuesActionConfig | FormBehaviourEmitEventActionConfig | FormBehaviourRunTemplateActionConfig | FormBehaviourSetUIPropertyActionConfig | FormBehaviourSetUIPropertiesActionConfig> {
|
|
92
193
|
type: FormBehaviourActionTypeValue;
|
|
93
194
|
config: TConfig;
|
|
94
195
|
}
|
|
95
196
|
export type FormBehaviourSetValueAction = FormBehaviourActionConfigFrame<FormBehaviourSetValueActionConfig> & {
|
|
96
197
|
type: typeof FormBehaviourActionType.SetValue;
|
|
97
198
|
};
|
|
199
|
+
export type FormBehaviourSetValuesAction = FormBehaviourActionConfigFrame<FormBehaviourSetValuesActionConfig> & {
|
|
200
|
+
type: typeof FormBehaviourActionType.SetValues;
|
|
201
|
+
};
|
|
98
202
|
export type FormBehaviourEmitEventAction = FormBehaviourActionConfigFrame<FormBehaviourEmitEventActionConfig> & {
|
|
99
203
|
type: typeof FormBehaviourActionType.EmitEvent;
|
|
100
204
|
};
|
|
101
|
-
export type
|
|
205
|
+
export type FormBehaviourRunTemplateAction = FormBehaviourActionConfigFrame<FormBehaviourRunTemplateActionConfig> & {
|
|
206
|
+
type: typeof FormBehaviourActionType.RunTemplate;
|
|
207
|
+
};
|
|
208
|
+
export type FormBehaviourSetUIPropertyAction = FormBehaviourActionConfigFrame<FormBehaviourSetUIPropertyActionConfig> & {
|
|
209
|
+
type: typeof FormBehaviourActionType.SetUIProperty;
|
|
210
|
+
};
|
|
211
|
+
export type FormBehaviourSetUIPropertiesAction = FormBehaviourActionConfigFrame<FormBehaviourSetUIPropertiesActionConfig> & {
|
|
212
|
+
type: typeof FormBehaviourActionType.SetUIProperties;
|
|
213
|
+
};
|
|
214
|
+
export type FormBehaviourActionConfig = FormBehaviourSetValueAction | FormBehaviourSetValuesAction | FormBehaviourEmitEventAction | FormBehaviourRunTemplateAction | FormBehaviourSetUIPropertyAction | FormBehaviourSetUIPropertiesAction;
|
|
102
215
|
/**
|
|
103
216
|
* Top-level behaviour definition stored on `FormConfigFrame.behaviours`.
|
|
104
217
|
*
|
|
@@ -11,14 +11,18 @@ exports.FieldPathKind = exports.FormBehaviourActionType = exports.FormBehaviourP
|
|
|
11
11
|
* - keep the configuration serialisable so it can pass through the existing
|
|
12
12
|
* Construct -> Template -> Client visitor pipeline
|
|
13
13
|
*
|
|
14
|
-
* Scope
|
|
14
|
+
* Scope:
|
|
15
15
|
* - built-in processors only: `jsonataTransform`, `fetchMetadata`
|
|
16
|
-
* - built-in actions only: `setValue`, `emitEvent`
|
|
16
|
+
* - built-in actions only: `setValue`, `setValues`, `emitEvent`, `runTemplate`,
|
|
17
|
+
* `setUIProperty`, `setUIProperties`
|
|
17
18
|
* - event emission is intentionally limited to `field.value.changed`
|
|
19
|
+
* - UI-property actions reuse the expressions target vocabulary
|
|
20
|
+
* (`model.*`, `layout.*`, `component.*`, `field.visible`, `field.disabled`,
|
|
21
|
+
* `form.enabledValidationGroups`)
|
|
18
22
|
*
|
|
19
|
-
* Out of scope
|
|
23
|
+
* Out of scope:
|
|
20
24
|
* - hook-registered/custom processors and actions
|
|
21
|
-
* - UI
|
|
25
|
+
* - UI feedback actions such as notifications or highlighting
|
|
22
26
|
* - processor-level debounce controls
|
|
23
27
|
*
|
|
24
28
|
* These types are intentionally lightweight outlines rather than runtime
|
|
@@ -30,11 +34,15 @@ exports.FormBehaviourProcessorType = {
|
|
|
30
34
|
};
|
|
31
35
|
exports.FormBehaviourActionType = {
|
|
32
36
|
SetValue: 'setValue',
|
|
37
|
+
SetValues: 'setValues',
|
|
33
38
|
EmitEvent: 'emitEvent',
|
|
39
|
+
RunTemplate: 'runTemplate',
|
|
40
|
+
SetUIProperty: 'setUIProperty',
|
|
41
|
+
SetUIProperties: 'setUIProperties',
|
|
34
42
|
};
|
|
35
43
|
exports.FieldPathKind = {
|
|
36
44
|
ComponentJsonPointer: 'componentJsonPointer',
|
|
37
45
|
JSONata: 'jsonata',
|
|
38
46
|
Logical: 'logical',
|
|
39
47
|
};
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1iZWhhdmlvdXIub3V0bGluZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb25maWcvZm9ybS1iZWhhdmlvdXIub3V0bGluZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EwQkc7QUFDVSxRQUFBLDBCQUEwQixHQUFHO0lBQ3hDLGdCQUFnQixFQUFFLGtCQUFrQjtJQUNwQyxhQUFhLEVBQUUsZUFBZTtDQUN0QixDQUFDO0FBS0UsUUFBQSx1QkFBdUIsR0FBRztJQUNyQyxRQUFRLEVBQUUsVUFBVTtJQUNwQixTQUFTLEVBQUUsV0FBVztJQUN0QixTQUFTLEVBQUUsV0FBVztJQUN0QixXQUFXLEVBQUUsYUFBYTtJQUMxQixhQUFhLEVBQUUsZUFBZTtJQUM5QixlQUFlLEVBQUUsaUJBQWlCO0NBQzFCLENBQUM7QUFJRSxRQUFBLGFBQWEsR0FBRztJQUMzQixvQkFBb0IsRUFBRSxzQkFBc0I7SUFDNUMsT0FBTyxFQUFFLFNBQVM7SUFDbEIsT0FBTyxFQUFFLFNBQVM7Q0FDVixDQUFDIn0=
|
|
@@ -21,6 +21,7 @@ export declare class FormConstraintConfig implements FormConstraintConfigOutline
|
|
|
21
21
|
*/
|
|
22
22
|
export declare class FormConstraintAuthorizationConfig implements FormConstraintAuthorizationConfigOutline {
|
|
23
23
|
allowRoles?: string[];
|
|
24
|
+
denyRoles?: string[];
|
|
24
25
|
}
|
|
25
26
|
/**
|
|
26
27
|
* The form component abstract class is the base for each real component definition class.
|
|
@@ -20,6 +20,7 @@ exports.FormConstraintConfig = FormConstraintConfig;
|
|
|
20
20
|
*/
|
|
21
21
|
class FormConstraintAuthorizationConfig {
|
|
22
22
|
allowRoles;
|
|
23
|
+
denyRoles;
|
|
23
24
|
}
|
|
24
25
|
exports.FormConstraintAuthorizationConfig = FormConstraintAuthorizationConfig;
|
|
25
26
|
/**
|
|
@@ -33,4 +34,4 @@ class FormComponentDefinition {
|
|
|
33
34
|
overrides;
|
|
34
35
|
}
|
|
35
36
|
exports.FormComponentDefinition = FormComponentDefinition;
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1jb21wb25lbnQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29uZmlnL2Zvcm0tY29tcG9uZW50Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQWFBLE1BQWEscUJBQXFCO0lBQzlCLElBQUksR0FBVyxFQUFFLENBQUM7SUFDbEIsV0FBVyxDQUFVO0lBQ3JCLE1BQU0sR0FBMkMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUM7Q0FDckU7QUFKRCxzREFJQztBQUVEOztHQUVHO0FBQ0gsTUFBYSxvQkFBb0I7SUFDN0IsYUFBYSxDQUFxQztJQUNsRCxVQUFVLENBQW9CO0NBQ2pDO0FBSEQsb0RBR0M7QUFFRDs7R0FFRztBQUNILE1BQWEsaUNBQWlDO0lBQzFDLFVBQVUsQ0FBWTtJQUN0QixTQUFTLENBQVk7Q0FDeEI7QUFIRCw4RUFHQztBQUdEOztHQUVHO0FBQ0gsTUFBc0IsdUJBQXVCO0lBQ2xDLElBQUksR0FBVyxFQUFFLENBQUM7SUFJbEIsV0FBVyxDQUFrQztJQUM3QyxNQUFNLENBQVU7SUFDaEIsV0FBVyxDQUErQjtJQUMxQyxTQUFTLENBQTJCO0NBRzlDO0FBWEQsMERBV0MifQ==
|
|
@@ -135,6 +135,14 @@ interface FormExpressionsTargetValidationGroupsConfigFrame {
|
|
|
135
135
|
*/
|
|
136
136
|
target: FormExpressionsTargetValidationGroupsType;
|
|
137
137
|
}
|
|
138
|
+
/**
|
|
139
|
+
* Union of all expression target identifiers.
|
|
140
|
+
*
|
|
141
|
+
* Shared by the component-scoped expressions feature and the form-level
|
|
142
|
+
* behaviour actions (`setUIProperty` / `setUIProperties` / `runTemplate`
|
|
143
|
+
* instruction lists) so both use the same target vocabulary.
|
|
144
|
+
*/
|
|
145
|
+
export type FormExpressionsTargetType = FormExpressionsTargetModelValueType | FormExpressionsTargetModelDisabledType | FormExpressionsTargetLayoutPropertyType | FormExpressionsTargetComponentPropertyType | FormExpressionsTargetFieldVisibleType | FormExpressionsTargetFieldDisabledType | FormExpressionsTargetValidationGroupsType;
|
|
138
146
|
export interface FormExpressionsOperationNoTargetConfigFrame extends FormExpressionsBaseConfigFrame, FormExpressionsOperationConfigFrame {
|
|
139
147
|
}
|
|
140
148
|
export interface FormExpressionsTemplateNoTargetConfigFrame extends FormExpressionsBaseConfigFrame, FormExpressionsTemplateConfigFrame {
|
|
@@ -213,6 +221,12 @@ export interface FormConstraintAuthorizationConfigFrame {
|
|
|
213
221
|
* e.g. allowRoles: ['Admin', 'Librarians'],
|
|
214
222
|
*/
|
|
215
223
|
allowRoles?: string[];
|
|
224
|
+
/**
|
|
225
|
+
* The form field will be excluded if the current user has any of these roles.
|
|
226
|
+
*
|
|
227
|
+
* e.g. denyRoles: ['Admin', 'Librarians'],
|
|
228
|
+
*/
|
|
229
|
+
denyRoles?: string[];
|
|
216
230
|
}
|
|
217
231
|
export interface FormConstraintAuthorizationConfigOutline extends FormConstraintAuthorizationConfigFrame {
|
|
218
232
|
}
|
|
@@ -5,6 +5,7 @@ import { FormConfigVisitorOutline } from './visitor/base.outline';
|
|
|
5
5
|
import { KeyValueStringNested, KeyValueStringProperty } from './shared.outline';
|
|
6
6
|
import { FormExpressionsConfigOutline } from './form-component.outline';
|
|
7
7
|
import { FormBehaviourConfigFrame } from './form-behaviour.outline';
|
|
8
|
+
import { ValidationOperationDefinition } from '../validation/record-validation.model';
|
|
8
9
|
/**
|
|
9
10
|
* The form definition.
|
|
10
11
|
* */
|
|
@@ -20,6 +21,8 @@ export declare class FormConfig implements FormConfigOutline {
|
|
|
20
21
|
enabledValidationGroups?: string[];
|
|
21
22
|
validators: FormValidatorConfig[];
|
|
22
23
|
validationGroups?: FormValidationGroups;
|
|
24
|
+
validationOperations?: Record<string, ValidationOperationDefinition>;
|
|
25
|
+
serverSyncOnSave: 'always' | 'preserveLocalEdits' | 'never';
|
|
23
26
|
componentDefinitions: AvailableFormComponentDefinitionOutlines[];
|
|
24
27
|
debugValue: boolean;
|
|
25
28
|
expressions?: FormExpressionsConfigOutline[];
|
|
@@ -19,6 +19,7 @@ class FormConfig {
|
|
|
19
19
|
all: { description: 'Validate all fields with validators.', initialMembership: 'all' },
|
|
20
20
|
none: { description: 'Validate none of the fields.', initialMembership: 'none' },
|
|
21
21
|
};
|
|
22
|
+
serverSyncOnSave = 'preserveLocalEdits';
|
|
22
23
|
componentDefinitions = [];
|
|
23
24
|
debugValue = false;
|
|
24
25
|
expressions;
|
|
@@ -33,4 +34,4 @@ class FormConfig {
|
|
|
33
34
|
}
|
|
34
35
|
}
|
|
35
36
|
exports.FormConfig = FormConfig;
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1jb25maWcubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29uZmlnL2Zvcm0tY29uZmlnLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQVNBOztLQUVLO0FBQ0wsTUFBYSxVQUFVO0lBQ2QsSUFBSSxHQUFXLEVBQUUsQ0FBQztJQUNsQixJQUFJLENBQVU7SUFDZCxjQUFjLENBQVU7SUFDeEIsS0FBSyxDQUFVO0lBQ2YsY0FBYyxDQUEwQjtJQUN4QyxjQUFjLENBQTBCO0lBQ3hDLHNCQUFzQixDQUF3QjtJQUM5QyxzQkFBc0IsQ0FBVTtJQUNoQyx1QkFBdUIsR0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdDLFVBQVUsR0FBMEIsRUFBRSxDQUFDO0lBQ3ZDLGdCQUFnQixHQUEwQjtRQUMvQyxHQUFHLEVBQUUsRUFBRSxXQUFXLEVBQUUsc0NBQXNDLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFO1FBQ3RGLElBQUksRUFBRSxFQUFFLFdBQVcsRUFBRSw4QkFBOEIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLEVBQUU7S0FDakYsQ0FBQztJQUVLLGdCQUFnQixHQUE4QyxvQkFBb0IsQ0FBQztJQUNuRixvQkFBb0IsR0FBK0MsRUFBRSxDQUFDO0lBQ3RFLFVBQVUsR0FBWSxLQUFLLENBQUM7SUFDNUIsV0FBVyxDQUFrQztJQUNwRDs7O09BR0c7SUFDSSxVQUFVLENBQThCO0lBRXhDLGdCQUFnQixDQUFZO0lBRW5DLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBaUM7UUFDNUMsTUFBTSxPQUFPLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RDLENBQUM7Q0FDRjtBQS9CRCxnQ0ErQkMifQ==
|
|
@@ -4,6 +4,7 @@ import { CanVisit } from './visitor/base.outline';
|
|
|
4
4
|
import { KeyValueStringNested, KeyValueStringProperty } from './shared.outline';
|
|
5
5
|
import { FormExpressionsConfigOutline } from './form-component.outline';
|
|
6
6
|
import { FormBehaviourConfigFrame } from './form-behaviour.outline';
|
|
7
|
+
import { ValidationOperationDefinition } from '../validation/record-validation.model';
|
|
7
8
|
/**
|
|
8
9
|
* The top-level form config interface that provides typing for the object literal and schema.
|
|
9
10
|
*
|
|
@@ -75,6 +76,15 @@ export interface FormConfigFrame {
|
|
|
75
76
|
* These are the only validation group names that can be used in the validator config.
|
|
76
77
|
*/
|
|
77
78
|
validationGroups?: FormValidationGroups;
|
|
79
|
+
/**
|
|
80
|
+
* Server-owned validation intents supported by this form, keyed by the
|
|
81
|
+
* case-sensitive operation name sent by save actions.
|
|
82
|
+
*/
|
|
83
|
+
validationOperations?: Record<string, ValidationOperationDefinition>;
|
|
84
|
+
/**
|
|
85
|
+
* Controls how server-side metadata returned after save is applied to the form.
|
|
86
|
+
*/
|
|
87
|
+
serverSyncOnSave?: 'always' | 'preserveLocalEdits' | 'never';
|
|
78
88
|
/**
|
|
79
89
|
* TODO: the default layout component
|
|
80
90
|
*/
|