tuain-ng-forms-lib 17.3.7 → 19.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/README.md +280 -335
  2. package/fesm2022/tuain-ng-forms-lib.mjs +297 -103
  3. package/fesm2022/tuain-ng-forms-lib.mjs.map +1 -1
  4. package/lib/classes/forms/action.d.ts +3 -2
  5. package/lib/classes/forms/element.d.ts +2 -1
  6. package/lib/classes/forms/field.d.ts +5 -4
  7. package/lib/classes/forms/form.d.ts +4 -2
  8. package/lib/classes/forms/piece-propagate.d.ts +2 -1
  9. package/lib/classes/forms/piece.d.ts +4 -3
  10. package/lib/classes/forms/section.d.ts +3 -2
  11. package/lib/classes/forms/subsection.d.ts +2 -1
  12. package/lib/classes/forms/table/action.d.ts +2 -1
  13. package/lib/classes/forms/table/column.d.ts +2 -1
  14. package/lib/classes/forms/table/row-data.d.ts +3 -2
  15. package/lib/classes/forms/table/table.d.ts +3 -1
  16. package/lib/components/elements/layout/piece.component.d.ts +2 -2
  17. package/lib/components/forms/basic-form.d.ts +4 -4
  18. package/lib/interfaces/action.interface.d.ts +23 -0
  19. package/lib/interfaces/field.interface.d.ts +70 -0
  20. package/lib/interfaces/form-config.interface.d.ts +24 -16
  21. package/lib/interfaces/form.interface.d.ts +106 -0
  22. package/lib/interfaces/index.d.ts +7 -0
  23. package/lib/interfaces/piece.interface.d.ts +67 -0
  24. package/lib/interfaces/section.interface.d.ts +56 -0
  25. package/lib/interfaces/sse-live-connection.interface.d.ts +67 -0
  26. package/lib/interfaces/table.interface.d.ts +139 -0
  27. package/lib/services/file-manager.service.d.ts +4 -4
  28. package/lib/services/form-manager.service.d.ts +3 -3
  29. package/lib/services/icon-dictionary.service.d.ts +1 -1
  30. package/lib/services/sse-live-connection.service.d.ts +56 -0
  31. package/lib/tokens/sse-live-connection.token.d.ts +7 -0
  32. package/package.json +6 -7
  33. package/public-api.d.ts +2 -0
  34. package/esm2022/lib/classes/forms/action.mjs +0 -112
  35. package/esm2022/lib/classes/forms/element.mjs +0 -25
  36. package/esm2022/lib/classes/forms/field.mjs +0 -484
  37. package/esm2022/lib/classes/forms/form.constants.mjs +0 -55
  38. package/esm2022/lib/classes/forms/form.mjs +0 -589
  39. package/esm2022/lib/classes/forms/piece-propagate.mjs +0 -36
  40. package/esm2022/lib/classes/forms/piece.mjs +0 -139
  41. package/esm2022/lib/classes/forms/section.mjs +0 -150
  42. package/esm2022/lib/classes/forms/subsection.mjs +0 -96
  43. package/esm2022/lib/classes/forms/table/action.mjs +0 -49
  44. package/esm2022/lib/classes/forms/table/column.mjs +0 -74
  45. package/esm2022/lib/classes/forms/table/row-data.mjs +0 -116
  46. package/esm2022/lib/classes/forms/table/table.mjs +0 -537
  47. package/esm2022/lib/components/elements/action.component.mjs +0 -71
  48. package/esm2022/lib/components/elements/field.component.mjs +0 -113
  49. package/esm2022/lib/components/elements/layout/element.component.mjs +0 -23
  50. package/esm2022/lib/components/elements/layout/form-error.component.mjs +0 -25
  51. package/esm2022/lib/components/elements/layout/form-header.component.mjs +0 -25
  52. package/esm2022/lib/components/elements/layout/piece.component.mjs +0 -59
  53. package/esm2022/lib/components/elements/layout/section.component.mjs +0 -57
  54. package/esm2022/lib/components/elements/layout/sub-section.component.mjs +0 -57
  55. package/esm2022/lib/components/elements/tables/table-record-action.component.mjs +0 -71
  56. package/esm2022/lib/components/elements/tables/table-record-field.component.mjs +0 -32
  57. package/esm2022/lib/components/elements/tables/table.component.mjs +0 -109
  58. package/esm2022/lib/components/forms/basic-form.mjs +0 -1408
  59. package/esm2022/lib/components/shared/constants.mjs +0 -2
  60. package/esm2022/lib/interfaces/form-config.interface.mjs +0 -2
  61. package/esm2022/lib/interfaces/icon-resolver.interface.mjs +0 -2
  62. package/esm2022/lib/interfaces/index.mjs +0 -3
  63. package/esm2022/lib/services/base-icon-resolver.service.mjs +0 -40
  64. package/esm2022/lib/services/event-manager.service.mjs +0 -55
  65. package/esm2022/lib/services/file-manager.service.mjs +0 -14
  66. package/esm2022/lib/services/form-manager.service.mjs +0 -88
  67. package/esm2022/lib/services/icon-dictionary.service.mjs +0 -162
  68. package/esm2022/lib/tokens/icon-resolver.token.mjs +0 -3
  69. package/esm2022/lib/tuain-ng-forms-lib.module.mjs +0 -54
  70. package/esm2022/public-api.mjs +0 -43
  71. package/esm2022/tuain-ng-forms-lib.mjs +0 -5
@@ -1,36 +0,0 @@
1
- import { BehaviorSubject } from 'rxjs';
2
- import { FormPiece } from './piece';
3
- const VISIBLE = 'visible';
4
- const DISABLED = 'disabled';
5
- export class FormPiecePropagate extends FormPiece {
6
- _attributeChange;
7
- constructor(pieceDefinition, formConfig) {
8
- super(pieceDefinition, formConfig);
9
- this._attributeChange = new BehaviorSubject(null);
10
- }
11
- get attributeChange() { return this._attributeChange.asObservable(); }
12
- propagateAttribute(name, value) {
13
- this._attributeChange?.next({ name, value });
14
- }
15
- setCustomAttribute(name, value) {
16
- super.setCustomAttribute(name, value);
17
- const fullName = `customAttributes.${name}`;
18
- this.propagateAttribute(fullName, value);
19
- }
20
- setVisibility(visible, forced = null) {
21
- super.setVisibility(visible, forced);
22
- this.propagateAttribute(VISIBLE, this._visible);
23
- }
24
- set enabled(enabled) {
25
- super.enabled = enabled;
26
- this.propagateAttribute(DISABLED, this._disabled);
27
- }
28
- formStateChange(state) {
29
- super.formStateChange(state);
30
- if (state) {
31
- this.propagateAttribute(VISIBLE, this._visible);
32
- this.propagateAttribute(DISABLED, this._disabled);
33
- }
34
- }
35
- }
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGllY2UtcHJvcGFnYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVhaW4tbmctZm9ybXMtbGliL3NyYy9saWIvY2xhc3Nlcy9mb3Jtcy9waWVjZS1wcm9wYWdhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBR3BDLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQztBQUMxQixNQUFNLFFBQVEsR0FBRyxVQUFVLENBQUM7QUFFNUIsTUFBTSxPQUFnQixrQkFBbUIsU0FBUSxTQUFTO0lBQzlDLGdCQUFnQixDQUEwQztJQUVwRSxZQUFZLGVBQWdDLEVBQUUsVUFBdUI7UUFDbkUsS0FBSyxDQUFDLGVBQWUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxlQUFlLENBQXlCLElBQUksQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFRCxJQUFJLGVBQWUsS0FBeUMsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRTFHLGtCQUFrQixDQUFDLElBQVksRUFBRSxLQUFVO1FBQ3pDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRVEsa0JBQWtCLENBQUMsSUFBWSxFQUFFLEtBQVU7UUFDbEQsS0FBSyxDQUFDLGtCQUFrQixDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN0QyxNQUFNLFFBQVEsR0FBRyxvQkFBb0IsSUFBSSxFQUFFLENBQUM7UUFDNUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRVEsYUFBYSxDQUFDLE9BQWdCLEVBQUUsU0FBeUIsSUFBSTtRQUNwRSxLQUFLLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsSUFBYSxPQUFPLENBQUMsT0FBZ0I7UUFDbkMsS0FBSyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDeEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVRLGVBQWUsQ0FBQyxLQUFVO1FBQ2pDLEtBQUssQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0IsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ2hELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3BELENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZvcm1QaWVjZSB9IGZyb20gJy4vcGllY2UnO1xuaW1wb3J0IHsgQXR0cmlidXRlQ2hhbmdlLCBJRm9ybUNvbmZpZywgUGllY2VEZWZpbml0aW9uIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9mb3JtLWNvbmZpZy5pbnRlcmZhY2UnO1xuXG5jb25zdCBWSVNJQkxFID0gJ3Zpc2libGUnO1xuY29uc3QgRElTQUJMRUQgPSAnZGlzYWJsZWQnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRm9ybVBpZWNlUHJvcGFnYXRlIGV4dGVuZHMgRm9ybVBpZWNlIHtcbiAgcHJvdGVjdGVkIF9hdHRyaWJ1dGVDaGFuZ2U6IEJlaGF2aW9yU3ViamVjdDxBdHRyaWJ1dGVDaGFuZ2UgfCBudWxsPjtcblxuICBjb25zdHJ1Y3RvcihwaWVjZURlZmluaXRpb246IFBpZWNlRGVmaW5pdGlvbiwgZm9ybUNvbmZpZzogSUZvcm1Db25maWcpIHtcbiAgICBzdXBlcihwaWVjZURlZmluaXRpb24sIGZvcm1Db25maWcpO1xuICAgIHRoaXMuX2F0dHJpYnV0ZUNoYW5nZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QXR0cmlidXRlQ2hhbmdlIHwgbnVsbD4obnVsbCk7XG4gIH1cblxuICBnZXQgYXR0cmlidXRlQ2hhbmdlKCk6IE9ic2VydmFibGU8QXR0cmlidXRlQ2hhbmdlIHwgbnVsbD4geyByZXR1cm4gdGhpcy5fYXR0cmlidXRlQ2hhbmdlLmFzT2JzZXJ2YWJsZSgpOyB9XG5cbiAgcHJvcGFnYXRlQXR0cmlidXRlKG5hbWU6IHN0cmluZywgdmFsdWU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuX2F0dHJpYnV0ZUNoYW5nZT8ubmV4dCh7IG5hbWUsIHZhbHVlIH0pO1xuICB9XG5cbiAgb3ZlcnJpZGUgc2V0Q3VzdG9tQXR0cmlidXRlKG5hbWU6IHN0cmluZywgdmFsdWU6IGFueSk6IHZvaWQge1xuICAgIHN1cGVyLnNldEN1c3RvbUF0dHJpYnV0ZShuYW1lLCB2YWx1ZSk7XG4gICAgY29uc3QgZnVsbE5hbWUgPSBgY3VzdG9tQXR0cmlidXRlcy4ke25hbWV9YDtcbiAgICB0aGlzLnByb3BhZ2F0ZUF0dHJpYnV0ZShmdWxsTmFtZSwgdmFsdWUpO1xuICB9XG5cbiAgb3ZlcnJpZGUgc2V0VmlzaWJpbGl0eSh2aXNpYmxlOiBib29sZWFuLCBmb3JjZWQ6IGJvb2xlYW4gfCBudWxsID0gbnVsbCk6IHZvaWQge1xuICAgIHN1cGVyLnNldFZpc2liaWxpdHkodmlzaWJsZSwgZm9yY2VkKTtcbiAgICB0aGlzLnByb3BhZ2F0ZUF0dHJpYnV0ZShWSVNJQkxFLCB0aGlzLl92aXNpYmxlKTtcbiAgfVxuXG4gIG92ZXJyaWRlIHNldCBlbmFibGVkKGVuYWJsZWQ6IGJvb2xlYW4pIHtcbiAgICBzdXBlci5lbmFibGVkID0gZW5hYmxlZDtcbiAgICB0aGlzLnByb3BhZ2F0ZUF0dHJpYnV0ZShESVNBQkxFRCwgdGhpcy5fZGlzYWJsZWQpO1xuICB9XG5cbiAgb3ZlcnJpZGUgZm9ybVN0YXRlQ2hhbmdlKHN0YXRlOiBhbnkpOiB2b2lkIHtcbiAgICBzdXBlci5mb3JtU3RhdGVDaGFuZ2Uoc3RhdGUpO1xuICAgIGlmIChzdGF0ZSkge1xuICAgICAgdGhpcy5wcm9wYWdhdGVBdHRyaWJ1dGUoVklTSUJMRSwgdGhpcy5fdmlzaWJsZSk7XG4gICAgICB0aGlzLnByb3BhZ2F0ZUF0dHJpYnV0ZShESVNBQkxFRCwgdGhpcy5fZGlzYWJsZWQpO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -1,139 +0,0 @@
1
- import { Subject, takeUntil } from 'rxjs';
2
- export class FormPiece {
3
- destroy$ = new Subject();
4
- _formState = '';
5
- _visibleForced;
6
- _isForced;
7
- _absoluteVisible = true;
8
- _absoluteDisabled = false;
9
- _widget = null;
10
- visibleStates = [];
11
- enabledStates = [];
12
- _form = null;
13
- _formConfig;
14
- _visible = true;
15
- _disabled = false;
16
- customAttributes = {};
17
- constructor(pieceDefinition, formConfig) {
18
- this._formConfig = formConfig;
19
- this._isForced = false;
20
- this._visibleForced = false;
21
- this.setVisibleStates(pieceDefinition.visibleStates);
22
- this.setEnabledStates(pieceDefinition.enabledStates);
23
- this.enabled = !pieceDefinition?.disabled;
24
- this.setVisibility(pieceDefinition?.visible ?? true);
25
- this.customAttributes = pieceDefinition?.customAttributes ?? {};
26
- if (pieceDefinition?.customAttributes) {
27
- Object.keys(pieceDefinition?.customAttributes)
28
- ?.forEach(attr => this.customAttributes[attr] = pieceDefinition?.customAttributes?.[attr]);
29
- }
30
- }
31
- getCustomAttribute(name) { return this.customAttributes?.[name] ?? null; }
32
- setCustomAttribute(name, value) { if (name) {
33
- this.customAttributes[name] = value;
34
- } }
35
- setCustomAttributes(attributes) {
36
- Object.entries(attributes).forEach(([name, value]) => {
37
- this.setCustomAttribute(name, value);
38
- });
39
- return this;
40
- }
41
- matchAttribute(name, value) { return this.customAttributes?.[name] === value; }
42
- setVisibleStates(newStates) {
43
- const visibleStates = (!Array.isArray(newStates) && typeof newStates === 'string')
44
- ? newStates.split(',').map(state => state.trim()).filter(state => state.length > 0)
45
- : newStates;
46
- this.visibleStates = (Array.isArray(visibleStates)) ? [...(new Set(visibleStates))] : [];
47
- }
48
- addVisibleState(state) {
49
- if (!this.visibleStates.includes(state)) {
50
- this.visibleStates.push(state);
51
- }
52
- }
53
- removeVisibleState(state) {
54
- const existStateIdx = this.visibleStates.findIndex(st => st === state);
55
- if (existStateIdx >= 0) {
56
- this.visibleStates.splice(existStateIdx, 1);
57
- }
58
- }
59
- setEnabledStates(newStates) {
60
- const enabledStates = (!Array.isArray(newStates) && typeof newStates === 'string')
61
- ? newStates.split(',').map(state => state.trim()).filter(state => state.length > 0)
62
- : newStates;
63
- this.enabledStates = (Array.isArray(enabledStates)) ? [...(new Set(enabledStates))] : [];
64
- }
65
- addEnabledState(state) {
66
- if (!this.enabledStates.includes(state)) {
67
- this.enabledStates.push(state);
68
- }
69
- }
70
- removeEnabledState(state) {
71
- const existStateIdx = this.enabledStates.findIndex(st => st === state);
72
- if (existStateIdx >= 0) {
73
- this.enabledStates.splice(existStateIdx, 1);
74
- }
75
- }
76
- viewOnState(state) { return (this.visibleStates && state) ? this.visibleStates.includes(state) : false; }
77
- enabledOnState(state) { return (this.enabledStates && state) ? this.enabledStates.includes(state) : false; }
78
- get absoluteVisible() { return this._absoluteVisible; }
79
- get absoluteDisabled() { return this._absoluteDisabled; }
80
- get visible() { return this._visible; }
81
- set visible(visible) { this.setVisibility(visible); }
82
- visibleOn(state) {
83
- return this._absoluteVisible && this.viewOnState(state);
84
- }
85
- enabledOn(state) {
86
- return !this._absoluteDisabled && this.enabledOnState(state);
87
- }
88
- setVisibility(visible, forced = null) {
89
- this._absoluteVisible = !!visible;
90
- if (forced !== null) {
91
- this._isForced = forced;
92
- this._visibleForced = visible;
93
- }
94
- this._visible = this._absoluteVisible && this.viewOnState(this._formState);
95
- }
96
- show(forced = null) {
97
- this.setVisibility(true, forced);
98
- }
99
- hide(forced = null) {
100
- this.setVisibility(false, forced);
101
- }
102
- get enabled() { return !this._disabled; }
103
- set enabled(enabled) {
104
- this._absoluteDisabled = !enabled;
105
- this._disabled = this._absoluteDisabled || !this.enabledOnState(this._formState);
106
- }
107
- get editable() { return !this._disabled; }
108
- get disabled() { return this._disabled; }
109
- set disabled(disabled) { this.enabled = !disabled; }
110
- enable() { this.enabled = true; }
111
- disable() { this.enabled = false; }
112
- formStateChangeCustomSubscribe(form, formChangeSubject) { }
113
- formStateChange(state) {
114
- if (state) {
115
- this._formState = state;
116
- this._visible = this._absoluteVisible && this.viewOnState(state);
117
- this._disabled = this._absoluteDisabled || !this.enabledOnState(state);
118
- }
119
- }
120
- connectWithParentForm(form, formChangeSubject) {
121
- this._form = form;
122
- this.formStateChangeCustomSubscribe(form, formChangeSubject);
123
- formChangeSubject
124
- .pipe(takeUntil(this.destroy$))
125
- .subscribe({
126
- next: (event) => this.formStateChange(event?.state),
127
- error: (err) => console.error(`Error en formStateChange subscription: ${err}`)
128
- });
129
- }
130
- get form() { return this._form; }
131
- get formConfig() { return this._formConfig; }
132
- set widget(widget) { this._widget = widget; }
133
- get widget() { return this._widget; }
134
- destroy() {
135
- this.destroy$.next();
136
- this.destroy$.complete();
137
- }
138
- }
139
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGllY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWFpbi1uZy1mb3Jtcy1saWIvc3JjL2xpYi9jbGFzc2VzL2Zvcm1zL3BpZWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRzFDLE1BQU0sT0FBZ0IsU0FBUztJQUNuQixRQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUUvQixVQUFVLEdBQVcsRUFBRSxDQUFDO0lBQ3hCLGNBQWMsQ0FBVTtJQUN4QixTQUFTLENBQVU7SUFDbkIsZ0JBQWdCLEdBQVksSUFBSSxDQUFDO0lBQ2pDLGlCQUFpQixHQUFZLEtBQUssQ0FBQztJQUNuQyxPQUFPLEdBQVEsSUFBSSxDQUFDO0lBRXBCLGFBQWEsR0FBYSxFQUFFLENBQUM7SUFDN0IsYUFBYSxHQUFhLEVBQUUsQ0FBQztJQUU3QixLQUFLLEdBQVEsSUFBSSxDQUFDO0lBQ2xCLFdBQVcsQ0FBYztJQUN6QixRQUFRLEdBQVksSUFBSSxDQUFDO0lBQ3pCLFNBQVMsR0FBWSxLQUFLLENBQUM7SUFDOUIsZ0JBQWdCLEdBQXdCLEVBQUUsQ0FBQztJQUVsRCxZQUFZLGVBQWdDLEVBQUUsVUFBdUI7UUFDbkUsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUM7UUFDOUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdkIsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7UUFDNUIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRXJELElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxlQUFlLEVBQUUsUUFBUSxDQUFDO1FBQzFDLElBQUksQ0FBQyxhQUFhLENB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LEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRm9ybVN0YXRlRXZlbnQsIElGb3JtQ29uZmlnLCBQaWVjZURlZmluaXRpb24gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2Zvcm0tY29uZmlnLmludGVyZmFjZSc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBGb3JtUGllY2Uge1xuICBwcm90ZWN0ZWQgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHByb3RlY3RlZCBfZm9ybVN0YXRlOiBzdHJpbmcgPSAnJztcbiAgcHJvdGVjdGVkIF92aXNpYmxlRm9yY2VkOiBib29sZWFuO1xuICBwcm90ZWN0ZWQgX2lzRm9yY2VkOiBib29sZWFuO1xuICBwcm90ZWN0ZWQgX2Fic29sdXRlVmlzaWJsZTogYm9vbGVhbiA9IHRydWU7XG4gIHByb3RlY3RlZCBfYWJzb2x1dGVEaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBwcm90ZWN0ZWQgX3dpZGdldDogYW55ID0gbnVsbDtcblxuICBwcm90ZWN0ZWQgdmlzaWJsZVN0YXRlczogc3RyaW5nW10gPSBbXTtcbiAgcHJvdGVjdGVkIGVuYWJsZWRTdGF0ZXM6IHN0cmluZ1tdID0gW107XG5cbiAgcHJvdGVjdGVkIF9mb3JtOiBhbnkgPSBudWxsO1xuICBwcm90ZWN0ZWQgX2Zvcm1Db25maWc6IElGb3JtQ29uZmlnO1xuICBwcm90ZWN0ZWQgX3Zpc2libGU6IGJvb2xlYW4gPSB0cnVlO1xuICBwcm90ZWN0ZWQgX2Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBjdXN0b21BdHRyaWJ1dGVzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge307XG5cbiAgY29uc3RydWN0b3IocGllY2VEZWZpbml0aW9uOiBQaWVjZURlZmluaXRpb24sIGZvcm1Db25maWc6IElGb3JtQ29uZmlnKSB7XG4gICAgdGhpcy5fZm9ybUNvbmZpZyA9IGZvcm1Db25maWc7XG4gICAgdGhpcy5faXNGb3JjZWQgPSBmYWxzZTtcbiAgICB0aGlzLl92aXNpYmxlRm9yY2VkID0gZmFsc2U7XG4gICAgdGhpcy5zZXRWaXNpYmxlU3RhdGVzKHBpZWNlRGVmaW5pdGlvbi52aXNpYmxlU3RhdGVzKTtcbiAgICB0aGlzLnNldEVuYWJsZWRTdGF0ZXMocGllY2VEZWZpbml0aW9uLmVuYWJsZWRTdGF0ZXMpO1xuXG4gICAgdGhpcy5lbmFibGVkID0gIXBpZWNlRGVmaW5pdGlvbj8uZGlzYWJsZWQ7XG4gICAgdGhpcy5zZXRWaXNpYmlsaXR5KHBpZWNlRGVmaW5pdGlvbj8udmlzaWJsZSA/PyB0cnVlKTtcbiAgICB0aGlzLmN1c3RvbUF0dHJpYnV0ZXMgPSBwaWVjZURlZmluaXRpb24/LmN1c3RvbUF0dHJpYnV0ZXMgPz8ge307XG4gICAgaWYgKHBpZWNlRGVmaW5pdGlvbj8uY3VzdG9tQXR0cmlidXRlcykge1xuICAgICAgT2JqZWN0LmtleXMocGllY2VEZWZpbml0aW9uPy5jdXN0b21BdHRyaWJ1dGVzKVxuICAgICAgICA/LmZvckVhY2goYXR0ciA9PiB0aGlzLmN1c3RvbUF0dHJpYnV0ZXNbYXR0cl0gPSBwaWVjZURlZmluaXRpb24/LmN1c3RvbUF0dHJpYnV0ZXM/LlthdHRyXSlcbiAgICB9XG4gIH1cblxuICBnZXRDdXN0b21BdHRyaWJ1dGUobmFtZTogc3RyaW5nKTogYW55IHsgcmV0dXJuIHRoaXMuY3VzdG9tQXR0cmlidXRlcz8uW25hbWVdID8/IG51bGw7IH1cbiAgc2V0Q3VzdG9tQXR0cmlidXRlKG5hbWU6IHN0cmluZywgdmFsdWU6IGFueSk6IHZvaWQgeyBpZiAobmFtZSkgeyB0aGlzLmN1c3RvbUF0dHJpYnV0ZXNbbmFtZV0gPSB2YWx1ZTsgfSB9XG5cbiAgc2V0Q3VzdG9tQXR0cmlidXRlcyhhdHRyaWJ1dGVzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KTogRm9ybVBpZWNlIHtcbiAgICBPYmplY3QuZW50cmllcyhhdHRyaWJ1dGVzKS5mb3JFYWNoKChbbmFtZSwgdmFsdWVdKSA9PiB7XG4gICAgICB0aGlzLnNldEN1c3RvbUF0dHJpYnV0ZShuYW1lLCB2YWx1ZSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBtYXRjaEF0dHJpYnV0ZShuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuY3VzdG9tQXR0cmlidXRlcz8uW25hbWVdID09PSB2YWx1ZTsgfVxuXG4gIHNldFZpc2libGVTdGF0ZXMobmV3U3RhdGVzOiBhbnkpOiB2b2lkIHtcbiAgICBjb25zdCB2aXNpYmxlU3RhdGVzID0gKCFBcnJheS5pc0FycmF5KG5ld1N0YXRlcykgJiYgdHlwZW9mIG5ld1N0YXRlcyA9PT0gJ3N0cmluZycpXG4gICAgICA/IG5ld1N0YXRlcy5zcGxpdCgnLCcpLm1hcChzdGF0ZSA9PiBzdGF0ZS50cmltKCkpLmZpbHRlcihzdGF0ZSA9PiBzdGF0ZS5sZW5ndGggPiAwKVxuICAgICAgOiBuZXdTdGF0ZXM7XG4gICAgdGhpcy52aXNpYmxlU3RhdGVzID0gKEFycmF5LmlzQXJyYXkodmlzaWJsZVN0YXRlcykpID8gWy4uLihuZXcgU2V0KHZpc2libGVTdGF0ZXMpKV0gOiBbXTtcbiAgfVxuXG4gIGFkZFZpc2libGVTdGF0ZShzdGF0ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnZpc2libGVTdGF0ZXMuaW5jbHVkZXMoc3RhdGUpKSB7XG4gICAgICB0aGlzLnZpc2libGVTdGF0ZXMucHVzaChzdGF0ZSk7XG4gICAgfVxuICB9XG5cbiAgcmVtb3ZlVmlzaWJsZVN0YXRlKHN0YXRlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBleGlzdFN0YXRlSWR4ID0gdGhpcy52aXNpYmxlU3RhdGVzLmZpbmRJbmRleChzdCA9PiBzdCA9PT0gc3RhdGUpO1xuICAgIGlmIChleGlzdFN0YXRlSWR4ID49IDApIHtcbiAgICAgIHRoaXMudmlzaWJsZVN0YXRlcy5zcGxpY2UoZXhpc3RTdGF0ZUlkeCwgMSk7XG4gICAgfVxuICB9XG5cbiAgc2V0RW5hYmxlZFN0YXRlcyhuZXdTdGF0ZXM6IGFueSk6IHZvaWQge1xuICAgIGNvbnN0IGVuYWJsZWRTdGF0ZXMgPSAoIUFycmF5LmlzQXJyYXkobmV3U3RhdGVzKSAmJiB0eXBlb2YgbmV3U3RhdGVzID09PSAnc3RyaW5nJylcbiAgICAgID8gbmV3U3RhdGVzLnNwbGl0KCcsJykubWFwKHN0YXRlID0+IHN0YXRlLnRyaW0oKSkuZmlsdGVyKHN0YXRlID0+IHN0YXRlLmxlbmd0aCA+IDApXG4gICAgICA6IG5ld1N0YXRlcztcbiAgICB0aGlzLmVuYWJsZWRTdGF0ZXMgPSAoQXJyYXkuaXNBcnJheShlbmFibGVkU3RhdGVzKSkgPyBbLi4uKG5ldyBTZXQoZW5hYmxlZFN0YXRlcykpXSA6IFtdO1xuICB9XG5cbiAgYWRkRW5hYmxlZFN0YXRlKHN0YXRlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZW5hYmxlZFN0YXRlcy5pbmNsdWRlcyhzdGF0ZSkpIHtcbiAgICAgIHRoaXMuZW5hYmxlZFN0YXRlcy5wdXNoKHN0YXRlKTtcbiAgICB9XG4gIH1cblxuICByZW1vdmVFbmFibGVkU3RhdGUoc3RhdGU6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IGV4aXN0U3RhdGVJZHggPSB0aGlzLmVuYWJsZWRTdGF0ZXMuZmluZEluZGV4KHN0ID0+IHN0ID09PSBzdGF0ZSk7XG4gICAgaWYgKGV4aXN0U3RhdGVJZHggPj0gMCkge1xuICAgICAgdGhpcy5lbmFibGVkU3RhdGVzLnNwbGljZShleGlzdFN0YXRlSWR4LCAxKTtcbiAgICB9XG4gIH1cblxuICB2aWV3T25TdGF0ZShzdGF0ZTogc3RyaW5nKTogYm9vbGVhbiB7IHJldHVybiAodGhpcy52aXNpYmxlU3RhdGVzICYmIHN0YXRlKSA/IHRoaXMudmlzaWJsZVN0YXRlcy5pbmNsdWRlcyhzdGF0ZSkgOiBmYWxzZTsgfVxuICBlbmFibGVkT25TdGF0ZShzdGF0ZTogc3RyaW5nKTogYm9vbGVhbiB7IHJldHVybiAodGhpcy5lbmFibGVkU3RhdGVzICYmIHN0YXRlKSA/IHRoaXMuZW5hYmxlZFN0YXRlcy5pbmNsdWRlcyhzdGF0ZSkgOiBmYWxzZTsgfVxuXG4gIGdldCBhYnNvbHV0ZVZpc2libGUoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl9hYnNvbHV0ZVZpc2libGU7IH1cbiAgZ2V0IGFic29sdXRlRGlzYWJsZWQoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl9hYnNvbHV0ZURpc2FibGVkOyB9XG5cbiAgZ2V0IHZpc2libGUoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl92aXNpYmxlOyB9XG4gIHNldCB2aXNpYmxlKHZpc2libGU6IGJvb2xlYW4pIHsgdGhpcy5zZXRWaXNpYmlsaXR5KHZpc2libGUpOyB9XG5cbiAgdmlzaWJsZU9uKHN0YXRlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fYWJzb2x1dGVWaXNpYmxlICYmIHRoaXMudmlld09uU3RhdGUoc3RhdGUpO1xuICB9XG5cbiAgZW5hYmxlZE9uKHN0YXRlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuX2Fic29sdXRlRGlzYWJsZWQgJiYgdGhpcy5lbmFibGVkT25TdGF0ZShzdGF0ZSk7XG4gIH1cblxuICBzZXRWaXNpYmlsaXR5KHZpc2libGU6IGJvb2xlYW4sIGZvcmNlZDogYm9vbGVhbiB8IG51bGwgPSBudWxsKTogdm9pZCB7XG4gICAgdGhpcy5fYWJzb2x1dGVWaXNpYmxlID0gISF2aXNpYmxlO1xuICAgIGlmIChmb3JjZWQgIT09IG51bGwpIHtcbiAgICAgIHRoaXMuX2lzRm9yY2VkID0gZm9yY2VkO1xuICAgICAgdGhpcy5fdmlzaWJsZUZvcmNlZCA9IHZpc2libGU7XG4gICAgfVxuICAgIHRoaXMuX3Zpc2libGUgPSB0aGlzLl9hYnNvbHV0ZVZpc2libGUgJiYgdGhpcy52aWV3T25TdGF0ZSh0aGlzLl9mb3JtU3RhdGUpO1xuICB9XG5cbiAgc2hvdyhmb3JjZWQ6IGJvb2xlYW4gfCBudWxsID0gbnVsbCk6IHZvaWQge1xuICAgIHRoaXMuc2V0VmlzaWJpbGl0eSh0cnVlLCBmb3JjZWQpO1xuICB9XG5cbiAgaGlkZShmb3JjZWQ6IGJvb2xlYW4gfCBudWxsID0gbnVsbCk6IHZvaWQge1xuICAgIHRoaXMuc2V0VmlzaWJpbGl0eShmYWxzZSwgZm9yY2VkKTtcbiAgfVxuXG4gIGdldCBlbmFibGVkKCk6IGJvb2xlYW4geyByZXR1cm4gIXRoaXMuX2Rpc2FibGVkOyB9XG4gIHNldCBlbmFibGVkKGVuYWJsZWQpIHtcbiAgICB0aGlzLl9hYnNvbHV0ZURpc2FibGVkID0gIWVuYWJsZWQ7XG4gICAgdGhpcy5fZGlzYWJsZWQgPSB0aGlzLl9hYnNvbHV0ZURpc2FibGVkIHx8ICF0aGlzLmVuYWJsZWRPblN0YXRlKHRoaXMuX2Zvcm1TdGF0ZSk7XG4gIH1cblxuICBnZXQgZWRpdGFibGUoKTogYm9vbGVhbiB7IHJldHVybiAhdGhpcy5fZGlzYWJsZWQ7IH1cblxuICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl9kaXNhYmxlZDsgfVxuXG4gIHNldCBkaXNhYmxlZChkaXNhYmxlZCkgeyB0aGlzLmVuYWJsZWQgPSAhZGlzYWJsZWQ7IH1cblxuICBlbmFibGUoKTogdm9pZCB7IHRoaXMuZW5hYmxlZCA9IHRydWU7IH1cbiAgZGlzYWJsZSgpOiB2b2lkIHsgdGhpcy5lbmFibGVkID0gZmFsc2U7IH1cblxuICBmb3JtU3RhdGVDaGFuZ2VDdXN0b21TdWJzY3JpYmUoZm9ybTogYW55LCBmb3JtQ2hhbmdlU3ViamVjdDogYW55KTogdm9pZCB7IH1cblxuICBmb3JtU3RhdGVDaGFuZ2Uoc3RhdGU6IGFueSk6IHZvaWQge1xuICAgIGlmIChzdGF0ZSkge1xuICAgICAgdGhpcy5fZm9ybVN0YXRlID0gc3RhdGU7XG4gICAgICB0aGlzLl92aXNpYmxlID0gdGhpcy5fYWJzb2x1dGVWaXNpYmxlICYmIHRoaXMudmlld09uU3RhdGUoc3RhdGUpO1xuICAgICAgdGhpcy5fZGlzYWJsZWQgPSB0aGlzLl9hYnNvbHV0ZURpc2FibGVkIHx8ICF0aGlzLmVuYWJsZWRPblN0YXRlKHN0YXRlKTtcbiAgICB9XG4gIH1cblxuICBjb25uZWN0V2l0aFBhcmVudEZvcm0oZm9ybTogYW55LCBmb3JtQ2hhbmdlU3ViamVjdDogYW55KTogdm9pZCB7XG4gICAgdGhpcy5fZm9ybSA9IGZvcm07XG4gICAgdGhpcy5mb3JtU3RhdGVDaGFuZ2VDdXN0b21TdWJzY3JpYmUoZm9ybSwgZm9ybUNoYW5nZVN1YmplY3QpO1xuICAgIGZvcm1DaGFuZ2VTdWJqZWN0XG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogKGV2ZW50OiBGb3JtU3RhdGVFdmVudCkgPT4gdGhpcy5mb3JtU3RhdGVDaGFuZ2UoZXZlbnQ/LnN0YXRlKSxcbiAgICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4gY29uc29sZS5lcnJvcihgRXJyb3IgZW4gZm9ybVN0YXRlQ2hhbmdlIHN1YnNjcmlwdGlvbjogJHtlcnJ9YClcbiAgICAgIH0pO1xuICB9XG5cbiAgZ2V0IGZvcm0oKTogYW55IHsgcmV0dXJuIHRoaXMuX2Zvcm07IH1cbiAgZ2V0IGZvcm1Db25maWcoKTogSUZvcm1Db25maWcgeyByZXR1cm4gdGhpcy5fZm9ybUNvbmZpZzsgfVxuXG4gIHNldCB3aWRnZXQod2lkZ2V0KSB7IHRoaXMuX3dpZGdldCA9IHdpZGdldDsgfVxuICBnZXQgd2lkZ2V0KCk6IGFueSB7IHJldHVybiB0aGlzLl93aWRnZXQ7IH1cblxuICBkZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxufVxuIl19
@@ -1,150 +0,0 @@
1
- import { Subject } from 'rxjs';
2
- import { FormPiecePropagate } from './piece-propagate';
3
- import { RecordFormSubSection } from './subsection';
4
- const ACTIVE = 'active';
5
- export class RecordFormSection extends FormPiecePropagate {
6
- _activation = new Subject();
7
- _inactivation = new Subject();
8
- _active = false;
9
- _sectionId = null;
10
- _sectionCode = null;
11
- _sectionTitle = null;
12
- _subSections = [];
13
- _subSectionsObj = {};
14
- _exclusiveSubSectionsByAttr = {};
15
- constructor(sectionReceived, formObject, formConfig) {
16
- super(sectionReceived, formConfig);
17
- if (!sectionReceived) {
18
- return;
19
- }
20
- this._sectionId = (sectionReceived.sectionId) ? sectionReceived.sectionId.toString() : '';
21
- this._sectionCode = (sectionReceived.sectionCode) ? sectionReceived.sectionCode : '';
22
- this._sectionTitle = (sectionReceived.sectionTitle) ? sectionReceived.sectionTitle : '';
23
- this._subSections = [];
24
- this._subSectionsObj = {};
25
- if (sectionReceived.subsections) {
26
- const subsections = sectionReceived.subsections.map(subSecDef => {
27
- const visibleStates = subSecDef.visibleStates ?? [];
28
- if (subSecDef.elements && Array.isArray(subSecDef.elements)) {
29
- subSecDef.elements = subSecDef.elements.map((elm) => ({ code: elm.elementCode, type: elm.elementTypeName }));
30
- }
31
- return { ...subSecDef, visibleStates };
32
- });
33
- for (const subsectionReceived of subsections) {
34
- const subSectionToAdd = new RecordFormSubSection(subsectionReceived, formObject, formConfig);
35
- const subsectionCode = subSectionToAdd.subsectionCode;
36
- if (subsectionCode) {
37
- this._subSections.push(subSectionToAdd);
38
- this._subSectionsObj[subsectionCode] = subSectionToAdd;
39
- }
40
- }
41
- }
42
- }
43
- get code() { return this._sectionCode; }
44
- get activation() { return this._activation.asObservable(); }
45
- get inactivation() { return this._inactivation.asObservable(); }
46
- get active() { return this._active; }
47
- get sectionId() { return this._sectionId; }
48
- get sectionCode() { return this._sectionCode; }
49
- get sectionTitle() { return this._sectionTitle; }
50
- get subSections() { return this._subSections; }
51
- get subSectionsObj() { return this._subSectionsObj; }
52
- set active(active) { this._active = active; }
53
- set sectionId(sectionId) { this._sectionId = sectionId; }
54
- set sectionCode(sectionCode) { this._sectionCode = sectionCode; }
55
- set sectionTitle(sectionTitle) { this._sectionTitle = sectionTitle; }
56
- set subSections(subSections) { this._subSections = subSections; }
57
- set subSectionsObj(subSectionsObj) { this._subSectionsObj = subSectionsObj; }
58
- activate() {
59
- if (!this._active) {
60
- this._active = true;
61
- this._sectionCode && this._activation.next(this._sectionCode);
62
- }
63
- }
64
- inactivate() {
65
- if (this._active) {
66
- this._active = false;
67
- this._sectionCode && this._inactivation.next(this._sectionCode);
68
- }
69
- }
70
- get title() { return this._sectionTitle; }
71
- set title(title) { this._sectionTitle = title; }
72
- getVisibleSubsections(state) {
73
- return this._subSections.filter(subSection => subSection.visible);
74
- }
75
- getSubsection(subSectionCode) {
76
- return (this._subSectionsObj && this._subSectionsObj[subSectionCode])
77
- ? this._subSectionsObj[subSectionCode] : null;
78
- }
79
- activateSubSection(subSectionCode) {
80
- if (subSectionCode === this._exclusiveSubSectionsByAttr[ACTIVE]) {
81
- return;
82
- }
83
- const subSection = (this._subSectionsObj && this._subSectionsObj[subSectionCode])
84
- ? this._subSectionsObj[subSectionCode] : null;
85
- if (subSection) {
86
- subSection?.activate();
87
- this._exclusiveSubSectionsByAttr[ACTIVE] = subSectionCode;
88
- }
89
- }
90
- getFields() {
91
- let fieldsArray = [];
92
- if (this._subSections && this._subSections.length > 0) {
93
- for (const subSection of this._subSections) {
94
- const subsectionFields = subSection.getFields() ?? [];
95
- if (subsectionFields?.length > 0) {
96
- fieldsArray = fieldsArray.concat(subsectionFields);
97
- }
98
- }
99
- }
100
- return fieldsArray;
101
- }
102
- getActions() {
103
- let actionArray = [];
104
- if (this._subSections && this._subSections.length > 0) {
105
- for (const subSection of this._subSections) {
106
- const subSectionActions = subSection.getActions() ?? [];
107
- if (subSectionActions?.length > 0) {
108
- actionArray = actionArray.concat(subSectionActions);
109
- }
110
- }
111
- }
112
- return actionArray;
113
- }
114
- getActionNames() {
115
- let actionArray = [];
116
- if (this._subSections && this._subSections.length > 0) {
117
- for (const subSection of this._subSections) {
118
- actionArray = actionArray.concat(subSection.getActionNames());
119
- }
120
- }
121
- return actionArray;
122
- }
123
- getFieldNames() {
124
- let fieldsArray = [];
125
- if (this._subSections && this._subSections.length > 0) {
126
- for (const subSection of this._subSections) {
127
- fieldsArray = fieldsArray.concat(subSection.getFieldNames());
128
- }
129
- }
130
- return fieldsArray;
131
- }
132
- getField(name) {
133
- let field = null;
134
- if (this._subSections && this._subSections.length > 0) {
135
- for (const subSection of this._subSections) {
136
- field = subSection.getField(name);
137
- if (field) {
138
- return field;
139
- }
140
- }
141
- }
142
- return null;
143
- }
144
- formStateChangeCustomSubscribe(form, formChangeSubject) {
145
- this._subSections?.forEach(subsection => {
146
- subsection?.connectWithParentForm(form, formChangeSubject);
147
- });
148
- }
149
- }
150
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1YWluLW5nLWZvcm1zLWxpYi9zcmMvbGliL2NsYXNzZXMvZm9ybXMvc2VjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBR3ZELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUdwRCxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUM7QUFFeEIsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGtCQUFrQjtJQUN0QyxXQUFXLEdBQUcsSUFBSSxPQUFPLEVBQVUsQ0FBQztJQUNwQyxhQUFhLEdBQUcsSUFBSSxPQUFPLEVBQVUsQ0FBQztJQUMvQyxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ2hCLFVBQVUsR0FBa0IsSUFBSSxDQUFDO0lBQ2pDLFlBQVksR0FBa0IsSUFBSSxDQUFDO0lBQ25DLGFBQWEsR0FBa0IsSUFBSSxDQUFDO0lBQ3BDLFlBQVksR0FBMkIsRUFBRSxDQUFDO0lBQzFDLGVBQWUsR0FBeUMsRUFBRSxDQUFDO0lBQzNELDJCQUEyQixHQUEyQixFQUFFLENBQUM7SUFFakUsWUFBWSxlQUFrQyxFQUFFLFVBQWUsRUFBRSxVQUF1QjtRQUN0RixLQUFLLENBQUMsZUFBZSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUFDLE9BQU87UUFBQyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUMxRixJQUFJLENBQUMsWUFBWSxHQUFHLENB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QUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7WUFDL0QsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDO0lBRUQsUUFBUSxDQUFDLElBQVk7UUFDbkIsSUFBSSxLQUFLLEdBQTJCLElBQUksQ0FBQztRQUN6QyxJQUFJLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDdEQsS0FBSyxNQUFNLFVBQVUsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQzNDLEtBQUssR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNsQyxJQUFJLEtBQUssRUFBRSxDQUFDO29CQUNWLE9BQU8sS0FBSyxDQUFDO2dCQUNmLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVRLDhCQUE4QixDQUFDLElBQVMsRUFBRSxpQkFBc0I7UUFDdkUsSUFBSSxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDdEMsVUFBVSxFQUFFLHFCQUFxQixDQUFDLElBQUksRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBQzdELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRm9ybVBpZWNlUHJvcGFnYXRlIH0gZnJvbSAnLi9waWVjZS1wcm9wYWdhdGUnO1xuaW1wb3J0IHsgRm9ybUFjdGlvbiB9IGZyb20gJy4vYWN0aW9uJztcbmltcG9ydCB7IEZpZWxkRGVzY3JpcHRvciB9IGZyb20gJy4vZmllbGQnO1xuaW1wb3J0IHsgUmVjb3JkRm9ybVN1YlNlY3Rpb24gfSBmcm9tICcuL3N1YnNlY3Rpb24nO1xuaW1wb3J0IHsgU2VjdGlvbkRlZmluaXRpb24sIElGb3JtQ29uZmlnIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9mb3JtLWNvbmZpZy5pbnRlcmZhY2UnO1xuXG5jb25zdCBBQ1RJVkUgPSAnYWN0aXZlJztcblxuZXhwb3J0IGNsYXNzIFJlY29yZEZvcm1TZWN0aW9uIGV4dGVuZHMgRm9ybVBpZWNlUHJvcGFnYXRlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBfYWN0aXZhdGlvbiA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfaW5hY3RpdmF0aW9uID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xuICBwcml2YXRlIF9hY3RpdmUgPSBmYWxzZTtcbiAgcHJpdmF0ZSBfc2VjdGlvbklkOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfc2VjdGlvbkNvZGU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9zZWN0aW9uVGl0bGU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9zdWJTZWN0aW9uczogUmVjb3JkRm9ybVN1YlNlY3Rpb25bXSA9IFtdO1xuICBwcml2YXRlIF9zdWJTZWN0aW9uc09iajogUmVjb3JkPHN0cmluZywgUmVjb3JkRm9ybVN1YlNlY3Rpb24+ID0ge307XG4gIHByaXZhdGUgX2V4Y2x1c2l2ZVN1YlNlY3Rpb25zQnlBdHRyOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge307XG5cbiAgY29uc3RydWN0b3Ioc2VjdGlvblJlY2VpdmVkOiBTZWN0aW9uRGVmaW5pdGlvbiwgZm9ybU9iamVjdDogYW55LCBmb3JtQ29uZmlnOiBJRm9ybUNvbmZpZykge1xuICAgIHN1cGVyKHNlY3Rpb25SZWNlaXZlZCwgZm9ybUNvbmZpZyk7XG4gICAgaWYgKCFzZWN0aW9uUmVjZWl2ZWQpIHsgcmV0dXJuOyB9XG4gICAgdGhpcy5fc2VjdGlvbklkID0gKHNlY3Rpb25SZWNlaXZlZC5zZWN0aW9uSWQpID8gc2VjdGlvblJlY2VpdmVkLnNlY3Rpb25JZC50b1N0cmluZygpIDogJyc7XG4gICAgdGhpcy5fc2VjdGlvbkNvZGUgPSAoc2VjdGlvblJlY2VpdmVkLnNlY3Rpb25Db2RlKSA/IHNlY3Rpb25SZWNlaXZlZC5zZWN0aW9uQ29kZSA6ICcnO1xuICAgIHRoaXMuX3NlY3Rpb25UaXRsZSA9IChzZWN0aW9uUmVjZWl2ZWQuc2VjdGlvblRpdGxlKSA/IHNlY3Rpb25SZWNlaXZlZC5zZWN0aW9uVGl0bGUgOiAnJztcbiAgICB0aGlzLl9zdWJTZWN0aW9ucyA9IFtdO1xuICAgIHRoaXMuX3N1YlNlY3Rpb25zT2JqID0ge307XG4gICAgaWYgKHNlY3Rpb25SZWNlaXZlZC5zdWJzZWN0aW9ucykge1xuICAgICAgY29uc3Qgc3Vic2VjdGlvbnMgPSBzZWN0aW9uUmVjZWl2ZWQuc3Vic2VjdGlvbnMubWFwKHN1YlNlY0RlZiA9PiB7XG4gICAgICAgIGNvbnN0IHZpc2libGVTdGF0ZXMgPSBzdWJTZWNEZWYudmlzaWJsZVN0YXRlcyA/PyBbXTtcbiAgICAgICAgaWYgKHN1YlNlY0RlZi5lbGVtZW50cyAmJiBBcnJheS5pc0FycmF5KHN1YlNlY0RlZi5lbGVtZW50cykpIHtcbiAgICAgICAgICBzdWJTZWNEZWYuZWxlbWVudHMgPSBzdWJTZWNEZWYuZWxlbWVudHMubWFwKChlbG06IGFueSkgPT4gKHsgY29kZTogZWxtLmVsZW1lbnRDb2RlLCB0eXBlOiBlbG0uZWxlbWVudFR5cGVOYW1lIH0pKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geyAuLi5zdWJTZWNEZWYsIHZpc2libGVTdGF0ZXMgfTtcbiAgICAgIH0pO1xuICAgICAgZm9yIChjb25zdCBzdWJzZWN0aW9uUmVjZWl2ZWQgb2Ygc3Vic2VjdGlvbnMpIHtcbiAgICAgICAgY29uc3Qgc3ViU2VjdGlvblRvQWRkID0gbmV3IFJlY29yZEZvcm1TdWJTZWN0aW9uKHN1YnNlY3Rpb25SZWNlaXZlZCwgZm9ybU9iamVjdCwgZm9ybUNvbmZpZyk7XG4gICAgICAgIGNvbnN0IHN1YnNlY3Rpb25Db2RlID0gc3ViU2VjdGlvblRvQWRkLnN1YnNlY3Rpb25Db2RlO1xuICAgICAgICBpZiAoc3Vic2VjdGlvbkNvZGUpIHtcbiAgICAgICAgICB0aGlzLl9zdWJTZWN0aW9ucy5wdXNoKHN1YlNlY3Rpb25Ub0FkZCk7XG4gICAgICAgICAgdGhpcy5fc3ViU2VjdGlvbnNPYmpbc3Vic2VjdGlvbkNvZGVdID0gc3ViU2VjdGlvblRvQWRkO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZ2V0IGNvZGUoKTogc3RyaW5nIHwgbnVsbCB7IHJldHVybiB0aGlzLl9zZWN0aW9uQ29kZTsgfVxuICBnZXQgYWN0aXZhdGlvbigpOiBPYnNlcnZhYmxlPHN0cmluZz4geyByZXR1cm4gdGhpcy5fYWN0aXZhdGlvbi5hc09ic2VydmFibGUoKTsgfVxuICBnZXQgaW5hY3RpdmF0aW9uKCk6IE9ic2VydmFibGU8c3RyaW5nPiB7IHJldHVybiB0aGlzLl9pbmFjdGl2YXRpb24uYXNPYnNlcnZhYmxlKCk7IH1cblxuICBnZXQgYWN0aXZlKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5fYWN0aXZlOyB9XG4gIGdldCBzZWN0aW9uSWQoKTogc3RyaW5nIHwgbnVsbCB7IHJldHVybiB0aGlzLl9zZWN0aW9uSWQ7IH1cbiAgZ2V0IHNlY3Rpb25Db2RlKCk6IHN0cmluZyB8IG51bGwgeyByZXR1cm4gdGhpcy5fc2VjdGlvbkNvZGU7IH1cbiAgZ2V0IHNlY3Rpb25UaXRsZSgpOiBzdHJpbmcgfCBudWxsIHsgcmV0dXJuIHRoaXMuX3NlY3Rpb25UaXRsZTsgfVxuICBnZXQgc3ViU2VjdGlvbnMoKTogUmVjb3JkRm9ybVN1YlNlY3Rpb25bXSB7IHJldHVybiB0aGlzLl9zdWJTZWN0aW9uczsgfVxuICBnZXQgc3ViU2VjdGlvbnNPYmooKTogUmVjb3JkPHN0cmluZywgUmVjb3JkRm9ybVN1YlNlY3Rpb24+IHsgcmV0dXJuIHRoaXMuX3N1YlNlY3Rpb25zT2JqOyB9XG5cbiAgc2V0IGFjdGl2ZShhY3RpdmUpIHsgdGhpcy5fYWN0aXZlID0gYWN0aXZlOyB9XG4gIHNldCBzZWN0aW9uSWQoc2VjdGlvbklkKSB7IHRoaXMuX3NlY3Rpb25JZCA9IHNlY3Rpb25JZDsgfVxuICBzZXQgc2VjdGlvbkNvZGUoc2VjdGlvbkNvZGUpIHsgdGhpcy5fc2VjdGlvbkNvZGUgPSBzZWN0aW9uQ29kZTsgfVxuICBzZXQgc2VjdGlvblRpdGxlKHNlY3Rpb25UaXRsZSkgeyB0aGlzLl9zZWN0aW9uVGl0bGUgPSBzZWN0aW9uVGl0bGU7IH1cbiAgc2V0IHN1YlNlY3Rpb25zKHN1YlNlY3Rpb25zKSB7IHRoaXMuX3N1YlNlY3Rpb25zID0gc3ViU2VjdGlvbnM7IH1cbiAgc2V0IHN1YlNlY3Rpb25zT2JqKHN1YlNlY3Rpb25zT2JqKSB7IHRoaXMuX3N1YlNlY3Rpb25zT2JqID0gc3ViU2VjdGlvbnNPYmo7IH1cblxuICBhY3RpdmF0ZSgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2FjdGl2ZSkge1xuICAgICAgdGhpcy5fYWN0aXZlID0gdHJ1ZTtcbiAgICAgIHRoaXMuX3NlY3Rpb25Db2RlICYmIHRoaXMuX2FjdGl2YXRpb24ubmV4dCh0aGlzLl9zZWN0aW9uQ29kZSk7XG4gICAgfVxuICB9XG5cbiAgaW5hY3RpdmF0ZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fYWN0aXZlKSB7XG4gICAgICB0aGlzLl9hY3RpdmUgPSBmYWxzZTtcbiAgICAgIHRoaXMuX3NlY3Rpb25Db2RlICYmIHRoaXMuX2luYWN0aXZhdGlvbi5uZXh0KHRoaXMuX3NlY3Rpb25Db2RlKTtcbiAgICB9XG4gIH1cblxuICBnZXQgdGl0bGUoKTogc3RyaW5nIHwgbnVsbCB7IHJldHVybiB0aGlzLl9zZWN0aW9uVGl0bGU7IH1cbiAgc2V0IHRpdGxlKHRpdGxlKSB7IHRoaXMuX3NlY3Rpb25UaXRsZSA9IHRpdGxlOyB9XG5cbiAgZ2V0VmlzaWJsZVN1YnNlY3Rpb25zKHN0YXRlPzogc3RyaW5nKTogUmVjb3JkRm9ybVN1YlNlY3Rpb25bXSB7XG4gICAgcmV0dXJuIHRoaXMuX3N1YlNlY3Rpb25zLmZpbHRlcihzdWJTZWN0aW9uID0+IHN1YlNlY3Rpb24udmlzaWJsZSk7XG4gIH1cblxuICBnZXRTdWJzZWN0aW9uKHN1YlNlY3Rpb25Db2RlOiBzdHJpbmcpOiBSZWNvcmRGb3JtU3ViU2VjdGlvbiB8IG51bGwge1xuICAgIHJldHVybiAodGhpcy5fc3ViU2VjdGlvbnNPYmogJiYgdGhpcy5fc3ViU2VjdGlvbnNPYmpbc3ViU2VjdGlvbkNvZGVdKVxuICAgICAgPyB0aGlzLl9zdWJTZWN0aW9uc09ialtzdWJTZWN0aW9uQ29kZV0gOiBudWxsO1xuICB9XG5cbiAgYWN0aXZhdGVTdWJTZWN0aW9uKHN1YlNlY3Rpb25Db2RlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoc3ViU2VjdGlvbkNvZGUgPT09IHRoaXMuX2V4Y2x1c2l2ZVN1YlNlY3Rpb25zQnlBdHRyW0FDVElWRV0pIHsgcmV0dXJuOyB9XG4gICAgY29uc3Qgc3ViU2VjdGlvbiA9ICh0aGlzLl9zdWJTZWN0aW9uc09iaiAmJiB0aGlzLl9zdWJTZWN0aW9uc09ialtzdWJTZWN0aW9uQ29kZV0pXG4gICAgICA/IHRoaXMuX3N1YlNlY3Rpb25zT2JqW3N1YlNlY3Rpb25Db2RlXSA6IG51bGw7XG4gICAgaWYgKHN1YlNlY3Rpb24pIHtcbiAgICAgIHN1YlNlY3Rpb24/LmFjdGl2YXRlKCk7XG4gICAgICB0aGlzLl9leGNsdXNpdmVTdWJTZWN0aW9uc0J5QXR0cltBQ1RJVkVdID0gc3ViU2VjdGlvbkNvZGU7XG4gICAgfVxuICB9XG5cbiAgZ2V0RmllbGRzKCk6IEZpZWxkRGVzY3JpcHRvcltdIHtcbiAgICBsZXQgZmllbGRzQXJyYXk6IEZpZWxkRGVzY3JpcHRvcltdID0gW107XG4gICAgaWYgKHRoaXMuX3N1YlNlY3Rpb25zICYmIHRoaXMuX3N1YlNlY3Rpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgIGZvciAoY29uc3Qgc3ViU2VjdGlvbiBvZiB0aGlzLl9zdWJTZWN0aW9ucykge1xuICAgICAgICBjb25zdCBzdWJzZWN0aW9uRmllbGRzID0gc3ViU2VjdGlvbi5nZXRGaWVsZHMoKSA/PyBbXTtcbiAgICAgICAgaWYgKHN1YnNlY3Rpb25GaWVsZHM/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBmaWVsZHNBcnJheSA9IGZpZWxkc0FycmF5LmNvbmNhdChzdWJzZWN0aW9uRmllbGRzKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmllbGRzQXJyYXk7XG4gIH1cblxuICBnZXRBY3Rpb25zKCk6IEZvcm1BY3Rpb25bXSB7XG4gICAgbGV0IGFjdGlvbkFycmF5OiBhbnlbXSA9IFtdO1xuICAgIGlmICh0aGlzLl9zdWJTZWN0aW9ucyAmJiB0aGlzLl9zdWJTZWN0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICBmb3IgKGNvbnN0IHN1YlNlY3Rpb24gb2YgdGhpcy5fc3ViU2VjdGlvbnMpIHtcbiAgICAgICAgY29uc3Qgc3ViU2VjdGlvbkFjdGlvbnMgPSBzdWJTZWN0aW9uLmdldEFjdGlvbnMoKSA/PyBbXTtcbiAgICAgICAgaWYgKHN1YlNlY3Rpb25BY3Rpb25zPy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgYWN0aW9uQXJyYXkgPSBhY3Rpb25BcnJheS5jb25jYXQoc3ViU2VjdGlvbkFjdGlvbnMpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBhY3Rpb25BcnJheTtcbiAgfVxuXG4gIGdldEFjdGlvbk5hbWVzKCk6IHN0cmluZ1tdIHtcbiAgICBsZXQgYWN0aW9uQXJyYXk6IHN0cmluZ1tdID0gW107XG4gICAgaWYgKHRoaXMuX3N1YlNlY3Rpb25zICYmIHRoaXMuX3N1YlNlY3Rpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgIGZvciAoY29uc3Qgc3ViU2VjdGlvbiBvZiB0aGlzLl9zdWJTZWN0aW9ucykge1xuICAgICAgICBhY3Rpb25BcnJheSA9IGFjdGlvbkFycmF5LmNvbmNhdChzdWJTZWN0aW9uLmdldEFjdGlvbk5hbWVzKCkpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gYWN0aW9uQXJyYXk7XG4gIH1cblxuICBnZXRGaWVsZE5hbWVzKCk6IHN0cmluZ1tdIHtcbiAgICBsZXQgZmllbGRzQXJyYXk6IHN0cmluZ1tdID0gW107XG4gICAgaWYgKHRoaXMuX3N1YlNlY3Rpb25zICYmIHRoaXMuX3N1YlNlY3Rpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgIGZvciAoY29uc3Qgc3ViU2VjdGlvbiBvZiB0aGlzLl9zdWJTZWN0aW9ucykge1xuICAgICAgICBmaWVsZHNBcnJheSA9IGZpZWxkc0FycmF5LmNvbmNhdChzdWJTZWN0aW9uLmdldEZpZWxkTmFtZXMoKSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmaWVsZHNBcnJheTtcbiAgfVxuXG4gIGdldEZpZWxkKG5hbWU6IHN0cmluZyk6IEZpZWxkRGVzY3JpcHRvciB8IG51bGwge1xuICAgIGxldCBmaWVsZDogRmllbGREZXNjcmlwdG9yIHwgbnVsbCA9IG51bGw7XG4gICAgaWYgKHRoaXMuX3N1YlNlY3Rpb25zICYmIHRoaXMuX3N1YlNlY3Rpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgIGZvciAoY29uc3Qgc3ViU2VjdGlvbiBvZiB0aGlzLl9zdWJTZWN0aW9ucykge1xuICAgICAgICBmaWVsZCA9IHN1YlNlY3Rpb24uZ2V0RmllbGQobmFtZSk7XG4gICAgICAgIGlmIChmaWVsZCkge1xuICAgICAgICAgIHJldHVybiBmaWVsZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIG92ZXJyaWRlIGZvcm1TdGF0ZUNoYW5nZUN1c3RvbVN1YnNjcmliZShmb3JtOiBhbnksIGZvcm1DaGFuZ2VTdWJqZWN0OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJTZWN0aW9ucz8uZm9yRWFjaChzdWJzZWN0aW9uID0+IHtcbiAgICAgIHN1YnNlY3Rpb24/LmNvbm5lY3RXaXRoUGFyZW50Rm9ybShmb3JtLCBmb3JtQ2hhbmdlU3ViamVjdCk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,96 +0,0 @@
1
- import { FormPiecePropagate } from './piece-propagate';
2
- import { ElementType } from './form.constants';
3
- export class RecordFormSubSection extends FormPiecePropagate {
4
- _customRender = null;
5
- _subsectionId = null;
6
- _subsectionCode = null;
7
- _subsectionTitle = null;
8
- _subSectionElements = [];
9
- _subSectionFields = [];
10
- _subSectionTables = [];
11
- _subSectionActions = [];
12
- _elementsArray = {};
13
- _active = false;
14
- constructor(subsectionReceived, formObject, formConfig) {
15
- super(subsectionReceived, formConfig);
16
- if (!subsectionReceived) {
17
- return;
18
- }
19
- this._subsectionId = (subsectionReceived.subsectionId) ? subsectionReceived.subsectionId.toString() : '';
20
- this._subsectionCode = (subsectionReceived.subsectionCode) ? subsectionReceived.subsectionCode : '';
21
- this._subsectionTitle = (subsectionReceived.subsectionTitle) ? subsectionReceived.subsectionTitle : '';
22
- if (subsectionReceived.elements) {
23
- for (const receivedElement of subsectionReceived.elements) {
24
- let elementObject = null;
25
- let arrayToAdd = [];
26
- const { type, code } = receivedElement;
27
- switch (type) {
28
- case ElementType.Field:
29
- elementObject = formObject.getField(code);
30
- arrayToAdd = this._subSectionFields;
31
- break;
32
- case ElementType.Table:
33
- elementObject = formObject.getTable(code);
34
- arrayToAdd = this._subSectionTables;
35
- break;
36
- case ElementType.Action:
37
- elementObject = formObject.getAction(code);
38
- arrayToAdd = this._subSectionActions;
39
- break;
40
- }
41
- if (elementObject) {
42
- elementObject.elementType = type;
43
- arrayToAdd.push(elementObject);
44
- this._subSectionElements.push(elementObject);
45
- this._elementsArray[code] = elementObject;
46
- }
47
- }
48
- }
49
- }
50
- get customRender() { return this._customRender; }
51
- set customRender(customRenderName) { this._customRender = customRenderName; }
52
- get subsectionId() { return this._subsectionId; }
53
- get subsectionCode() { return this._subsectionCode; }
54
- get subsectionTitle() { return this._subsectionTitle; }
55
- get subSectionElements() { return this._subSectionElements; }
56
- get subSectionFields() { return this._subSectionFields; }
57
- get subSectionTables() { return this._subSectionTables; }
58
- get subSectionActions() { return this._subSectionActions; }
59
- get elementsArray() { return this._elementsArray; }
60
- get active() { return this._active; }
61
- set subsectionId(subsectionId) { this._subsectionId = subsectionId; }
62
- set subsectionCode(subsectionCode) { this._subsectionCode = subsectionCode; }
63
- set subsectionTitle(subsectionTitle) { this._subsectionTitle = subsectionTitle; }
64
- set subSectionElements(subSectionElements) { this._subSectionElements = subSectionElements; }
65
- set subSectionFields(subSectionFields) { this._subSectionFields = subSectionFields; }
66
- set subSectionTables(subSectionTables) { this._subSectionTables = subSectionTables; }
67
- set subSectionActions(subSectionActions) { this._subSectionActions = subSectionActions; }
68
- set elementsArray(elementsArray) { this._elementsArray = elementsArray; }
69
- set active(active) { this._active = active; }
70
- getField(name) {
71
- return this._subSectionFields.find(fld => fld.name === name);
72
- }
73
- getFields() {
74
- return this._subSectionFields;
75
- }
76
- getFieldNames() {
77
- return this._subSectionFields.map(field => field.code);
78
- }
79
- getActions() {
80
- return this._subSectionActions;
81
- }
82
- getActionNames() {
83
- return this._subSectionActions.map(action => action.actionCode);
84
- }
85
- activate() {
86
- if (!this._active) {
87
- this._active = true;
88
- }
89
- }
90
- inactivate() {
91
- if (this._active) {
92
- this._active = false;
93
- }
94
- }
95
- }
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2VjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1YWluLW5nLWZvcm1zLWxpYi9zcmMvbGliL2NsYXNzZXMvZm9ybXMvc3Vic2VjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUt2RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFHL0MsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGtCQUFrQjtJQUNsRCxhQUFhLEdBQWtCLElBQUksQ0FBQztJQUNwQyxhQUFhLEdBQWtCLElBQUksQ0FBQztJQUNwQyxlQUFlLEdBQWtCLElBQUksQ0FBQztJQUN0QyxnQkFBZ0IsR0FBa0IsSUFBSSxDQUFDO0lBQ3ZDLG1CQUFtQixHQUFrQixFQUFFLENBQUM7SUFDeEMsaUJBQWlCLEdBQXNCLEVBQUUsQ0FBQztJQUMxQyxpQkFBaUIsR0FBa0IsRUFBRSxDQUFDO0lBQ3RDLGtCQUFrQixHQUFpQixFQUFFLENBQUM7SUFDdEMsY0FBYyxHQUFnQyxFQUFFLENBQUM7SUFDakQsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUV4QixZQUFZLGtCQUF3QyxFQUFFLFVBQWUsRUFBRSxVQUF1QjtRQUM1RixLQUFLLENBQUMsa0JBQWtCLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFBQyxPQUFPO1FBQUMsQ0FBQztRQUNwQyxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3pHLElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMs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LENBQUM7SUFDakMsQ0FBQztJQUVELGNBQWM7UUFDWixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLENBQUM7SUFDSCxDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtUGllY2VQcm9wYWdhdGUgfSBmcm9tICcuL3BpZWNlLXByb3BhZ2F0ZSc7XG5pbXBvcnQgeyBGb3JtQWN0aW9uIH0gZnJvbSAnLi9hY3Rpb24nO1xuaW1wb3J0IHsgRmllbGREZXNjcmlwdG9yIH0gZnJvbSAnLi9maWVsZCc7XG5pbXBvcnQgeyBGb3JtRWxlbWVudCB9IGZyb20gJy4vZWxlbWVudCc7XG5pbXBvcnQgeyBSZWNvcmRUYWJsZSB9IGZyb20gJy4vdGFibGUvdGFibGUnO1xuaW1wb3J0IHsgRWxlbWVudFR5cGUgfSBmcm9tICcuL2Zvcm0uY29uc3RhbnRzJztcbmltcG9ydCB7IElGb3JtQ29uZmlnLCBTdWJzZWN0aW9uRGVmaW5pdGlvbiB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvZm9ybS1jb25maWcuaW50ZXJmYWNlJztcblxuZXhwb3J0IGNsYXNzIFJlY29yZEZvcm1TdWJTZWN0aW9uIGV4dGVuZHMgRm9ybVBpZWNlUHJvcGFnYXRlIHtcbiAgcHJpdmF0ZSBfY3VzdG9tUmVuZGVyOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfc3Vic2VjdGlvbklkOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfc3Vic2VjdGlvbkNvZGU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9zdWJzZWN0aW9uVGl0bGU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9zdWJTZWN0aW9uRWxlbWVudHM6IEZvcm1FbGVtZW50W10gPSBbXTtcbiAgcHJpdmF0ZSBfc3ViU2VjdGlvbkZpZWxkczogRmllbGREZXNjcmlwdG9yW10gPSBbXTtcbiAgcHJpdmF0ZSBfc3ViU2VjdGlvblRhYmxlczogUmVjb3JkVGFibGVbXSA9IFtdO1xuICBwcml2YXRlIF9zdWJTZWN0aW9uQWN0aW9uczogRm9ybUFjdGlvbltdID0gW107XG4gIHByaXZhdGUgX2VsZW1lbnRzQXJyYXk6IFJlY29yZDxzdHJpbmcsIEZvcm1FbGVtZW50PiA9IHt9O1xuICBwcml2YXRlIF9hY3RpdmUgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihzdWJzZWN0aW9uUmVjZWl2ZWQ6IFN1YnNlY3Rpb25EZWZpbml0aW9uLCBmb3JtT2JqZWN0OiBhbnksIGZvcm1Db25maWc6IElGb3JtQ29uZmlnKSB7XG4gICAgc3VwZXIoc3Vic2VjdGlvblJlY2VpdmVkLCBmb3JtQ29uZmlnKTtcbiAgICBpZiAoIXN1YnNlY3Rpb25SZWNlaXZlZCkgeyByZXR1cm47IH1cbiAgICB0aGlzLl9zdWJzZWN0aW9uSWQgPSAoc3Vic2VjdGlvblJlY2VpdmVkLnN1YnNlY3Rpb25JZCkgPyBzdWJzZWN0aW9uUmVjZWl2ZWQuc3Vic2VjdGlvbklkLnRvU3RyaW5nKCkgOiAnJztcbiAgICB0aGlzLl9zdWJzZWN0aW9uQ29kZSA9IChzdWJzZWN0aW9uUmVjZWl2ZWQuc3Vic2VjdGlvbkNvZGUpID8gc3Vic2VjdGlvblJlY2VpdmVkLnN1YnNlY3Rpb25Db2RlIDogJyc7XG4gICAgdGhpcy5fc3Vic2VjdGlvblRpdGxlID0gKHN1YnNlY3Rpb25SZWNlaXZlZC5zdWJzZWN0aW9uVGl0bGUpID8gc3Vic2VjdGlvblJlY2VpdmVkLnN1YnNlY3Rpb25UaXRsZSA6ICcnO1xuICAgIGlmIChzdWJzZWN0aW9uUmVjZWl2ZWQuZWxlbWVudHMpIHtcbiAgICAgIGZvciAoY29uc3QgcmVjZWl2ZWRFbGVtZW50IG9mIHN1YnNlY3Rpb25SZWNlaXZlZC5lbGVtZW50cykge1xuICAgICAgICBsZXQgZWxlbWVudE9iamVjdDogYW55ID0gbnVsbDtcbiAgICAgICAgbGV0IGFycmF5VG9BZGQ6IGFueVtdID0gW107XG4gICAgICAgIGNvbnN0IHsgdHlwZSwgY29kZSB9ID0gcmVjZWl2ZWRFbGVtZW50O1xuICAgICAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgICAgICBjYXNlIEVsZW1lbnRUeXBlLkZpZWxkOlxuICAgICAgICAgICAgZWxlbWVudE9iamVjdCA9IGZvcm1PYmplY3QuZ2V0RmllbGQoY29kZSk7XG4gICAgICAgICAgICBhcnJheVRvQWRkID0gdGhpcy5fc3ViU2VjdGlvbkZpZWxkcztcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgRWxlbWVudFR5cGUuVGFibGU6XG4gICAgICAgICAgICBlbGVtZW50T2JqZWN0ID0gZm9ybU9iamVjdC5nZXRUYWJsZShjb2RlKTtcbiAgICAgICAgICAgIGFycmF5VG9BZGQgPSB0aGlzLl9zdWJTZWN0aW9uVGFibGVzO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBFbGVtZW50VHlwZS5BY3Rpb246XG4gICAgICAgICAgICBlbGVtZW50T2JqZWN0ID0gZm9ybU9iamVjdC5nZXRBY3Rpb24oY29kZSk7XG4gICAgICAgICAgICBhcnJheVRvQWRkID0gdGhpcy5fc3ViU2VjdGlvbkFjdGlvbnM7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBpZiAoZWxlbWVudE9iamVjdCkge1xuICAgICAgICAgIGVsZW1lbnRPYmplY3QuZWxlbWVudFR5cGUgPSB0eXBlO1xuICAgICAgICAgIGFycmF5VG9BZGQucHVzaChlbGVtZW50T2JqZWN0KTtcbiAgICAgICAgICB0aGlzLl9zdWJTZWN0aW9uRWxlbWVudHMucHVzaChlbGVtZW50T2JqZWN0KTtcbiAgICAgICAgICB0aGlzLl9lbGVtZW50c0FycmF5W2NvZGVdID0gZWxlbWVudE9iamVjdDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGdldCBjdXN0b21SZW5kZXIoKTogc3RyaW5nIHwgbnVsbCB7IHJldHVybiB0aGlzLl9jdXN0b21SZW5kZXI7IH1cbiAgc2V0IGN1c3RvbVJlbmRlcihjdXN0b21SZW5kZXJOYW1lKSB7IHRoaXMuX2N1c3RvbVJlbmRlciA9IGN1c3RvbVJlbmRlck5hbWU7IH1cblxuICBnZXQgc3Vic2VjdGlvbklkKCk6IHN0cmluZyB8IG51bGwgeyByZXR1cm4gdGhpcy5fc3Vic2VjdGlvbklkOyB9XG4gIGdldCBzdWJzZWN0aW9uQ29kZSgpOiBzdHJpbmcgfCBudWxsIHsgcmV0dXJuIHRoaXMuX3N1YnNlY3Rpb25Db2RlOyB9XG4gIGdldCBzdWJzZWN0aW9uVGl0bGUoKTogc3RyaW5nIHwgbnVsbCB7IHJldHVybiB0aGlzLl9zdWJzZWN0aW9uVGl0bGU7IH1cbiAgZ2V0IHN1YlNlY3Rpb25FbGVtZW50cygpOiBGb3JtRWxlbWVudFtdIHsgcmV0dXJuIHRoaXMuX3N1YlNlY3Rpb25FbGVtZW50czsgfVxuICBnZXQgc3ViU2VjdGlvbkZpZWxkcygpOiBGaWVsZERlc2NyaXB0b3JbXSB7IHJldHVybiB0aGlzLl9zdWJTZWN0aW9uRmllbGRzOyB9XG4gIGdldCBzdWJTZWN0aW9uVGFibGVzKCk6IFJlY29yZFRhYmxlW10geyByZXR1cm4gdGhpcy5fc3ViU2VjdGlvblRhYmxlczsgfVxuICBnZXQgc3ViU2VjdGlvbkFjdGlvbnMoKTogRm9ybUFjdGlvbltdIHsgcmV0dXJuIHRoaXMuX3N1YlNlY3Rpb25BY3Rpb25zOyB9XG4gIGdldCBlbGVtZW50c0FycmF5KCk6IFJlY29yZDxzdHJpbmcsIEZvcm1FbGVtZW50PiB7IHJldHVybiB0aGlzLl9lbGVtZW50c0FycmF5OyB9XG4gIGdldCBhY3RpdmUoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl9hY3RpdmU7IH1cblxuICBzZXQgc3Vic2VjdGlvbklkKHN1YnNlY3Rpb25JZCkgeyB0aGlzLl9zdWJzZWN0aW9uSWQgPSBzdWJzZWN0aW9uSWQ7IH1cbiAgc2V0IHN1YnNlY3Rpb25Db2RlKHN1YnNlY3Rpb25Db2RlKSB7IHRoaXMuX3N1YnNlY3Rpb25Db2RlID0gc3Vic2VjdGlvbkNvZGU7IH1cbiAgc2V0IHN1YnNlY3Rpb25UaXRsZShzdWJzZWN0aW9uVGl0bGUpIHsgdGhpcy5fc3Vic2VjdGlvblRpdGxlID0gc3Vic2VjdGlvblRpdGxlOyB9XG4gIHNldCBzdWJTZWN0aW9uRWxlbWVudHMoc3ViU2VjdGlvbkVsZW1lbnRzKSB7IHRoaXMuX3N1YlNlY3Rpb25FbGVtZW50cyA9IHN1YlNlY3Rpb25FbGVtZW50czsgfVxuICBzZXQgc3ViU2VjdGlvbkZpZWxkcyhzdWJTZWN0aW9uRmllbGRzKSB7IHRoaXMuX3N1YlNlY3Rpb25GaWVsZHMgPSBzdWJTZWN0aW9uRmllbGRzOyB9XG4gIHNldCBzdWJTZWN0aW9uVGFibGVzKHN1YlNlY3Rpb25UYWJsZXMpIHsgdGhpcy5fc3ViU2VjdGlvblRhYmxlcyA9IHN1YlNlY3Rpb25UYWJsZXM7IH1cbiAgc2V0IHN1YlNlY3Rpb25BY3Rpb25zKHN1YlNlY3Rpb25BY3Rpb25zKSB7IHRoaXMuX3N1YlNlY3Rpb25BY3Rpb25zID0gc3ViU2VjdGlvbkFjdGlvbnM7IH1cbiAgc2V0IGVsZW1lbnRzQXJyYXkoZWxlbWVudHNBcnJheSkgeyB0aGlzLl9lbGVtZW50c0FycmF5ID0gZWxlbWVudHNBcnJheTsgfVxuICBzZXQgYWN0aXZlKGFjdGl2ZSkgeyB0aGlzLl9hY3RpdmUgPSBhY3RpdmU7IH1cblxuICBnZXRGaWVsZChuYW1lOiBzdHJpbmcpOiBGaWVsZERlc2NyaXB0b3IgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9zdWJTZWN0aW9uRmllbGRzLmZpbmQoZmxkID0+IGZsZC5uYW1lID09PSBuYW1lKTtcbiAgfVxuXG4gIGdldEZpZWxkcygpOiBGaWVsZERlc2NyaXB0b3JbXSB7XG4gICAgcmV0dXJuIHRoaXMuX3N1YlNlY3Rpb25GaWVsZHM7XG4gIH1cblxuICBnZXRGaWVsZE5hbWVzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5fc3ViU2VjdGlvbkZpZWxkcy5tYXAoZmllbGQgPT4gZmllbGQuY29kZSk7XG4gIH1cblxuICBnZXRBY3Rpb25zKCk6IEZvcm1BY3Rpb25bXSB7XG4gICAgcmV0dXJuIHRoaXMuX3N1YlNlY3Rpb25BY3Rpb25zO1xuICB9XG5cbiAgZ2V0QWN0aW9uTmFtZXMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLl9zdWJTZWN0aW9uQWN0aW9ucy5tYXAoYWN0aW9uID0+IGFjdGlvbi5hY3Rpb25Db2RlKTtcbiAgfVxuXG4gIGFjdGl2YXRlKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fYWN0aXZlKSB7XG4gICAgICB0aGlzLl9hY3RpdmUgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIGluYWN0aXZhdGUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2FjdGl2ZSkge1xuICAgICAgdGhpcy5fYWN0aXZlID0gZmFsc2U7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1,49 +0,0 @@
1
- import { FormPiece } from '../piece';
2
- export class TableAction extends FormPiece {
3
- _actionCode;
4
- _actionTitle;
5
- _iconName;
6
- _actionType;
7
- _actionClass;
8
- _stateField;
9
- _newState;
10
- _backend;
11
- _restrictedOnField = null;
12
- _restrictedOnValue = null;
13
- _restrictedOnOperator = null;
14
- constructor(actionDefinition, formConfig) {
15
- super(actionDefinition, formConfig);
16
- this._actionCode = actionDefinition.actionCode;
17
- this._actionTitle = actionDefinition.actionTitle;
18
- this._iconName = actionDefinition.iconName || '';
19
- this._actionType = actionDefinition.actionType || 'STANDARD';
20
- this._actionClass = actionDefinition.actionClass || 'INLINE';
21
- this._newState = actionDefinition.newState;
22
- this._stateField = actionDefinition.stateField || '';
23
- this._backend = actionDefinition?.serverAction ?? false;
24
- this._restrictedOnField = actionDefinition.fieldRestrictedCode ?? null;
25
- if (this._restrictedOnField) {
26
- this._restrictedOnValue = actionDefinition.valueRestricted ?? null;
27
- this._restrictedOnOperator = actionDefinition.operatorRestricted || null;
28
- }
29
- }
30
- get actionCode() { return this._actionCode; }
31
- get actionTitle() { return this._actionTitle; }
32
- get iconName() { return this._iconName; }
33
- get actionType() { return this._actionType; }
34
- get actionClass() { return this._actionClass; }
35
- get stateField() { return this._stateField; }
36
- get newState() { return this._newState; }
37
- get backend() { return this._backend; }
38
- get restrictedOnField() { return this._restrictedOnField; }
39
- get restrictedOnValue() { return this._restrictedOnValue; }
40
- get restrictedOnOperator() { return this._restrictedOnOperator; }
41
- formStateChange(state) {
42
- if (state) {
43
- this._formState = state;
44
- this._visible = this._absoluteVisible && this.viewOnState(state);
45
- this._disabled = this._absoluteDisabled || !this.enabledOnState(state);
46
- }
47
- }
48
- }
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVhaW4tbmctZm9ybXMtbGliL3NyYy9saWIvY2xhc3Nlcy9mb3Jtcy90YWJsZS9hY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUdyQyxNQUFNLE9BQU8sV0FBWSxTQUFRLFNBQVM7SUFDaEMsV0FBVyxDQUFTO0lBQ3BCLFlBQVksQ0FBUztJQUNyQixTQUFTLENBQVM7SUFDbEIsV0FBVyxDQUFTO0lBQ3BCLFlBQVksQ0FBUztJQUNyQixXQUFXLENBQVM7SUFDcEIsU0FBUyxDQUFTO0lBQ2xCLFFBQVEsQ0FBVTtJQUNsQixrQkFBa0IsR0FBa0IsSUFBSSxDQUFDO0lBQ3pDLGtCQUFrQixHQUFrQixJQUFJLENBQUM7SUFDekMscUJBQXFCLEdBQWtCLElBQUksQ0FBQztJQUVwRCxZQUFZLGdCQUFrQyxFQUFFLFVBQXVCO1FBQ3JFLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUVwQyxJQUFJLENBQUMsV0FBVyxHQUFHLGdCQUFnQixDQUFDLFVBQVUsQ0FBQztRQUMvQyxJQUFJLENBQUMsWUFBWSxHQUFHLGdCQUFnQixDQUFDLFdBQVcsQ0FBQztRQUNqRCxJQUFJLENBQUMsU0FBUyxHQUFHLGdCQUFnQixDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUM7UUFDakQsSUFBSSxDQUFDLFdBQVcsR0FBRyxnQkFBZ0IsQ0FBQyxVQUFVLElBQUksVUFBVSxDQUFDO1FBQzdELElBQUksQ0FBQyxZQUFZLEdBQUcsZ0JBQWdCLENBQUMsV0FBVyxJQUFJLFFBQVEsQ0FBQztRQUM3RCxJQUFJLENBQUMsU0FBUyxHQUFHLGdCQUFnQixDQUFDLFFBQVEsQ0FBQztRQUMzQyxJQUFJLENBQUMsV0FBVyxHQUFHLGdCQUFnQixDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUM7UUFDckQsSUFBSSxDQUFDLFFBQVEsR0FBRyxnQkFBZ0IsRUFBRSxZQUFZLElBQUksS0FBSyxDQUFDO1FBQ3hELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxnQkFBZ0IsQ0FBQyxtQkFBbUIsSUFBSSxJQUFJLENBQUM7UUFDdkUsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsa0JBQWtCLEdBQUcsZ0JBQWdCLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQztZQUNuRSxJQUFJLENBQUMscUJBQXFCLEdBQUcsZ0JBQWdCLENBQUMsa0JBQWtCLElBQUksSUFBSSxDQUFDO1FBQzNFLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSSxVQUFVLEtBQWEsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUNyRCxJQUFJLFdBQVcsS0FBYSxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBQ3ZELElBQUksUUFBUSxLQUFhLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDakQsSUFBSSxVQUFVLEtBQWEsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUNyRCxJQUFJLFdBQVcsS0FBYSxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBQ3ZELElBQUksVUFBVSxLQUFhLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDckQsSUFBSSxRQUFRLEtBQWEsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUNqRCxJQUFJLE9BQU8sS0FBYyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQ2hELElBQUksaUJBQWlCLEtBQW9CLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQztJQUMxRSxJQUFJLGlCQUFpQixLQUFvQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7SUFDMUUsSUFBSSxvQkFBb0IsS0FBb0IsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDO0lBRXZFLGVBQWUsQ0FBQyxLQUFVO1FBQ2pDLElBQUksS0FBSyxFQUFFLENBQUM7WUFDVixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztZQUN4QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2pFLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6RSxDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybVBpZWNlIH0gZnJvbSAnLi4vcGllY2UnO1xuaW1wb3J0IHsgQWN0aW9uRGVmaW5pdGlvbiwgSUZvcm1Db25maWcgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzL2Zvcm0tY29uZmlnLmludGVyZmFjZSc7XG5cbmV4cG9ydCBjbGFzcyBUYWJsZUFjdGlvbiBleHRlbmRzIEZvcm1QaWVjZSB7XG4gIHByaXZhdGUgX2FjdGlvbkNvZGU6IHN0cmluZztcbiAgcHJpdmF0ZSBfYWN0aW9uVGl0bGU6IHN0cmluZztcbiAgcHJpdmF0ZSBfaWNvbk5hbWU6IHN0cmluZztcbiAgcHJpdmF0ZSBfYWN0aW9uVHlwZTogc3RyaW5nO1xuICBwcml2YXRlIF9hY3Rpb25DbGFzczogc3RyaW5nO1xuICBwcml2YXRlIF9zdGF0ZUZpZWxkOiBzdHJpbmc7XG4gIHByaXZhdGUgX25ld1N0YXRlOiBzdHJpbmc7XG4gIHByaXZhdGUgX2JhY2tlbmQ6IGJvb2xlYW47XG4gIHByaXZhdGUgX3Jlc3RyaWN0ZWRPbkZpZWxkOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfcmVzdHJpY3RlZE9uVmFsdWU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9yZXN0cmljdGVkT25PcGVyYXRvcjogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IoYWN0aW9uRGVmaW5pdGlvbjogQWN0aW9uRGVmaW5pdGlvbiwgZm9ybUNvbmZpZzogSUZvcm1Db25maWcpIHtcbiAgICBzdXBlcihhY3Rpb25EZWZpbml0aW9uLCBmb3JtQ29uZmlnKTtcblxuICAgIHRoaXMuX2FjdGlvbkNvZGUgPSBhY3Rpb25EZWZpbml0aW9uLmFjdGlvbkNvZGU7XG4gICAgdGhpcy5fYWN0aW9uVGl0bGUgPSBhY3Rpb25EZWZpbml0aW9uLmFjdGlvblRpdGxlO1xuICAgIHRoaXMuX2ljb25OYW1lID0gYWN0aW9uRGVmaW5pdGlvbi5pY29uTmFtZSB8fCAnJztcbiAgICB0aGlzLl9hY3Rpb25UeXBlID0gYWN0aW9uRGVmaW5pdGlvbi5hY3Rpb25UeXBlIHx8ICdTVEFOREFSRCc7XG4gICAgdGhpcy5fYWN0aW9uQ2xhc3MgPSBhY3Rpb25EZWZpbml0aW9uLmFjdGlvbkNsYXNzIHx8ICdJTkxJTkUnO1xuICAgIHRoaXMuX25ld1N0YXRlID0gYWN0aW9uRGVmaW5pdGlvbi5uZXdTdGF0ZTtcbiAgICB0aGlzLl9zdGF0ZUZpZWxkID0gYWN0aW9uRGVmaW5pdGlvbi5zdGF0ZUZpZWxkIHx8ICcnO1xuICAgIHRoaXMuX2JhY2tlbmQgPSBhY3Rpb25EZWZpbml0aW9uPy5zZXJ2ZXJBY3Rpb24gPz8gZmFsc2U7XG4gICAgdGhpcy5fcmVzdHJpY3RlZE9uRmllbGQgPSBhY3Rpb25EZWZpbml0aW9uLmZpZWxkUmVzdHJpY3RlZENvZGUgPz8gbnVsbDtcbiAgICBpZiAodGhpcy5fcmVzdHJpY3RlZE9uRmllbGQpIHtcbiAgICAgIHRoaXMuX3Jlc3RyaWN0ZWRPblZhbHVlID0gYWN0aW9uRGVmaW5pdGlvbi52YWx1ZVJlc3RyaWN0ZWQgPz8gbnVsbDtcbiAgICAgIHRoaXMuX3Jlc3RyaWN0ZWRPbk9wZXJhdG9yID0gYWN0aW9uRGVmaW5pdGlvbi5vcGVyYXRvclJlc3RyaWN0ZWQgfHwgbnVsbDtcbiAgICB9XG4gIH1cblxuICBnZXQgYWN0aW9uQ29kZSgpOiBzdHJpbmcgeyByZXR1cm4gdGhpcy5fYWN0aW9uQ29kZTsgfVxuICBnZXQgYWN0aW9uVGl0bGUoKTogc3RyaW5nIHsgcmV0dXJuIHRoaXMuX2FjdGlvblRpdGxlOyB9XG4gIGdldCBpY29uTmFtZSgpOiBzdHJpbmcgeyByZXR1cm4gdGhpcy5faWNvbk5hbWU7IH1cbiAgZ2V0IGFjdGlvblR5cGUoKTogc3RyaW5nIHsgcmV0dXJuIHRoaXMuX2FjdGlvblR5cGU7IH1cbiAgZ2V0IGFjdGlvbkNsYXNzKCk6IHN0cmluZyB7IHJldHVybiB0aGlzLl9hY3Rpb25DbGFzczsgfVxuICBnZXQgc3RhdGVGaWVsZCgpOiBzdHJpbmcgeyByZXR1cm4gdGhpcy5fc3RhdGVGaWVsZDsgfVxuICBnZXQgbmV3U3RhdGUoKTogc3RyaW5nIHsgcmV0dXJuIHRoaXMuX25ld1N0YXRlOyB9XG4gIGdldCBiYWNrZW5kKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5fYmFja2VuZDsgfVxuICBnZXQgcmVzdHJpY3RlZE9uRmllbGQoKTogc3RyaW5nIHwgbnVsbCB7IHJldHVybiB0aGlzLl9yZXN0cmljdGVkT25GaWVsZDsgfVxuICBnZXQgcmVzdHJpY3RlZE9uVmFsdWUoKTogc3RyaW5nIHwgbnVsbCB7IHJldHVybiB0aGlzLl9yZXN0cmljdGVkT25WYWx1ZTsgfVxuICBnZXQgcmVzdHJpY3RlZE9uT3BlcmF0b3IoKTogc3RyaW5nIHwgbnVsbCB7IHJldHVybiB0aGlzLl9yZXN0cmljdGVkT25PcGVyYXRvcjsgfVxuXG4gIG92ZXJyaWRlIGZvcm1TdGF0ZUNoYW5nZShzdGF0ZTogYW55KTogdm9pZCB7XG4gICAgaWYgKHN0YXRlKSB7XG4gICAgICB0aGlzLl9mb3JtU3RhdGUgPSBzdGF0ZTtcbiAgICAgIHRoaXMuX3Zpc2libGUgPSB0aGlzLl9hYnNvbHV0ZVZpc2libGUgJiYgdGhpcy52aWV3T25TdGF0ZShzdGF0ZSk7XG4gICAgICB0aGlzLl9kaXNhYmxlZCA9IHRoaXMuX2Fic29sdXRlRGlzYWJsZWQgfHwgIXRoaXMuZW5hYmxlZE9uU3RhdGUoc3RhdGUpO1xuICAgIH1cbiAgfVxufVxuIl19