tuain-ng-forms-lib 17.2.22 → 17.2.23

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 (106) hide show
  1. package/esm2022/lib/classes/forms/action.mjs +106 -0
  2. package/esm2022/lib/classes/forms/element.mjs +25 -0
  3. package/esm2022/lib/classes/forms/field.mjs +474 -0
  4. package/esm2022/lib/classes/forms/form.constants.mjs +26 -0
  5. package/esm2022/lib/classes/forms/form.mjs +608 -0
  6. package/esm2022/lib/classes/forms/piece-propagate.mjs +39 -0
  7. package/esm2022/lib/classes/forms/piece.mjs +134 -0
  8. package/esm2022/lib/classes/forms/section.mjs +151 -0
  9. package/esm2022/lib/classes/forms/subsection.mjs +99 -0
  10. package/esm2022/lib/classes/forms/table/action.mjs +38 -0
  11. package/esm2022/lib/classes/forms/table/column.mjs +74 -0
  12. package/esm2022/lib/classes/forms/table/row-data.mjs +116 -0
  13. package/esm2022/lib/classes/forms/table/table.mjs +535 -0
  14. package/esm2022/lib/components/elements/action.component.mjs +70 -0
  15. package/esm2022/lib/components/elements/field.component.mjs +115 -0
  16. package/esm2022/lib/components/elements/layout/element.component.mjs +21 -0
  17. package/esm2022/lib/components/elements/layout/form-error.component.mjs +23 -0
  18. package/esm2022/lib/components/elements/layout/form-header.component.mjs +23 -0
  19. package/esm2022/lib/components/elements/layout/piece.component.mjs +64 -0
  20. package/esm2022/lib/components/elements/layout/section.component.mjs +56 -0
  21. package/esm2022/lib/components/elements/layout/sub-section.component.mjs +56 -0
  22. package/esm2022/lib/components/elements/tables/table-record-action.component.mjs +72 -0
  23. package/esm2022/lib/components/elements/tables/table-record-field.component.mjs +31 -0
  24. package/esm2022/lib/components/elements/tables/table.component.mjs +109 -0
  25. package/esm2022/lib/components/forms/basic-form.mjs +1408 -0
  26. package/esm2022/lib/services/event-manager.service.mjs +43 -0
  27. package/esm2022/lib/services/file-manager.service.mjs +7 -0
  28. package/esm2022/lib/services/form-manager.service.mjs +81 -0
  29. package/esm2022/lib/tuain-ng-forms-lib.module.mjs +71 -0
  30. package/esm2022/public-api.mjs +19 -0
  31. package/esm2022/tuain-ng-forms-lib.mjs +5 -0
  32. package/fesm2022/tuain-ng-forms-lib.mjs +4602 -0
  33. package/fesm2022/tuain-ng-forms-lib.mjs.map +1 -0
  34. package/index.d.ts +5 -0
  35. package/lib/classes/forms/action.d.ts +40 -0
  36. package/lib/classes/forms/element.d.ts +9 -0
  37. package/lib/classes/forms/field.d.ts +206 -0
  38. package/lib/classes/forms/form.constants.d.ts +25 -0
  39. package/lib/classes/forms/form.d.ts +232 -0
  40. package/lib/classes/forms/piece-propagate.d.ts +13 -0
  41. package/lib/classes/forms/piece.d.ts +51 -0
  42. package/lib/classes/forms/section.d.ts +43 -0
  43. package/lib/classes/forms/subsection.d.ts +42 -0
  44. package/lib/classes/forms/table/action.d.ts +16 -0
  45. package/lib/classes/forms/table/column.d.ts +33 -0
  46. package/lib/classes/forms/table/row-data.d.ts +14 -0
  47. package/lib/classes/forms/table/table.d.ts +145 -0
  48. package/lib/components/elements/action.component.d.ts +22 -0
  49. package/lib/components/elements/field.component.d.ts +47 -0
  50. package/lib/components/elements/layout/element.component.d.ts +8 -0
  51. package/lib/components/elements/layout/form-error.component.d.ts +8 -0
  52. package/lib/components/elements/layout/form-header.component.d.ts +9 -0
  53. package/lib/components/elements/layout/piece.component.d.ts +18 -0
  54. package/lib/components/elements/layout/section.component.d.ts +13 -0
  55. package/lib/components/elements/layout/sub-section.component.d.ts +13 -0
  56. package/lib/components/elements/tables/table-record-action.component.d.ts +18 -0
  57. package/lib/components/elements/tables/table-record-field.component.d.ts +12 -0
  58. package/lib/components/elements/tables/table.component.d.ts +44 -0
  59. package/lib/components/forms/basic-form.d.ts +257 -0
  60. package/lib/services/event-manager.service.d.ts +11 -0
  61. package/lib/services/file-manager.service.d.ts +6 -0
  62. package/lib/services/form-manager.service.d.ts +28 -0
  63. package/lib/tuain-ng-forms-lib.module.d.ts +20 -0
  64. package/package.json +16 -2
  65. package/{src/public-api.ts → public-api.d.ts} +0 -5
  66. package/.browserslistrc +0 -16
  67. package/.yarn/cache/nanoid-npm-4.0.0-924f5c6312-7d5946df5c.zip +0 -0
  68. package/.yarn/cache/tslib-npm-2.4.1-36f0ed04db-19480d6e03.zip +0 -0
  69. package/.yarn/cache/yn-npm-5.0.0-b001dab23c-f0ec7710d3.zip +0 -0
  70. package/.yarn/install-state.gz +0 -0
  71. package/karma.conf.js +0 -44
  72. package/ng-package.json +0 -11
  73. package/src/lib/classes/forms/action.ts +0 -117
  74. package/src/lib/classes/forms/element.ts +0 -26
  75. package/src/lib/classes/forms/field.ts +0 -522
  76. package/src/lib/classes/forms/form.constants.ts +0 -28
  77. package/src/lib/classes/forms/form.ts +0 -692
  78. package/src/lib/classes/forms/piece-propagate.ts +0 -47
  79. package/src/lib/classes/forms/piece.ts +0 -164
  80. package/src/lib/classes/forms/section.ts +0 -165
  81. package/src/lib/classes/forms/subsection.ts +0 -109
  82. package/src/lib/classes/forms/table/action.ts +0 -41
  83. package/src/lib/classes/forms/table/column.ts +0 -94
  84. package/src/lib/classes/forms/table/row-data.ts +0 -121
  85. package/src/lib/classes/forms/table/table.ts +0 -582
  86. package/src/lib/components/elements/action.component.ts +0 -70
  87. package/src/lib/components/elements/field.component.ts +0 -115
  88. package/src/lib/components/elements/layout/element.component.ts +0 -14
  89. package/src/lib/components/elements/layout/form-error.component.ts +0 -11
  90. package/src/lib/components/elements/layout/form-header.component.ts +0 -14
  91. package/src/lib/components/elements/layout/piece.component.ts +0 -60
  92. package/src/lib/components/elements/layout/section.component.ts +0 -52
  93. package/src/lib/components/elements/layout/sub-section.component.ts +0 -52
  94. package/src/lib/components/elements/tables/table-record-action.component.ts +0 -66
  95. package/src/lib/components/elements/tables/table-record-field.component.ts +0 -20
  96. package/src/lib/components/elements/tables/table.component.ts +0 -112
  97. package/src/lib/components/forms/basic-form.ts +0 -1464
  98. package/src/lib/services/event-manager.service.ts +0 -45
  99. package/src/lib/services/file-manager.service.ts +0 -7
  100. package/src/lib/services/form-manager.service.ts +0 -89
  101. package/src/lib/services/icon-dictionary.service.ts +0 -159
  102. package/src/lib/tuain-ng-forms-lib.module.ts +0 -40
  103. package/src/test.ts +0 -27
  104. package/tsconfig.lib.json +0 -15
  105. package/tsconfig.lib.prod.json +0 -10
  106. package/tsconfig.spec.json +0 -17
@@ -0,0 +1,39 @@
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
+ propagationCustomAttributes = [];
7
+ _attributeChange;
8
+ constructor(pieceDefinition, formConfig) {
9
+ super(pieceDefinition, formConfig);
10
+ this._attributeChange = new BehaviorSubject(null);
11
+ }
12
+ get attributeChange() { return this._attributeChange.asObservable(); }
13
+ propagateAttribute(name, value) {
14
+ this._attributeChange?.next({ name, value });
15
+ }
16
+ setCustomAttribute(name, value) {
17
+ super.setCustomAttribute(name, value);
18
+ if (this.propagationCustomAttributes?.includes(name)) {
19
+ const fullName = `customAttributes.${name}`;
20
+ this.propagateAttribute(fullName, value);
21
+ }
22
+ }
23
+ setVisibility(visible, forced = null) {
24
+ super.setVisibility(visible, forced);
25
+ this.propagateAttribute(VISIBLE, this._visible);
26
+ }
27
+ set enabled(enabled) {
28
+ super.enabled = enabled;
29
+ this.propagateAttribute(DISABLED, this._disabled);
30
+ }
31
+ formStateChange(state) {
32
+ super.formStateChange(state);
33
+ if (state) {
34
+ this.propagateAttribute(VISIBLE, this._visible);
35
+ this.propagateAttribute(DISABLED, this._disabled);
36
+ }
37
+ }
38
+ }
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGllY2UtcHJvcGFnYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVhaW4tbmctZm9ybXMtbGliL3NyYy9saWIvY2xhc3Nlcy9mb3Jtcy9waWVjZS1wcm9wYWdhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRXBDLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQztBQUMxQixNQUFNLFFBQVEsR0FBRyxVQUFVLENBQUM7QUFFNUIsTUFBTSxPQUFPLGtCQUFtQixTQUFRLFNBQVM7SUFDckMsMkJBQTJCLEdBQWEsRUFBRSxDQUFDO0lBQzNDLGdCQUFnQixDQUF1QjtJQUVqRCxZQUFZLGVBQW9CLEVBQUUsVUFBZTtRQUMvQyxLQUFLLENBQUMsZUFBZSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLGVBQWUsQ0FBTSxJQUFJLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsSUFBSSxlQUFlLEtBQUssT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRXRFLGtCQUFrQixDQUFDLElBQUksRUFBRSxLQUFLO1FBQzVCLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRVEsa0JBQWtCLENBQUMsSUFBWSxFQUFFLEtBQVU7UUFDbEQsS0FBSyxDQUFDLGtCQUFrQixDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN0QyxJQUFJLElBQUksQ0FBQywyQkFBMkIsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNyRCxNQUFNLFFBQVEsR0FBRyxvQkFBb0IsSUFBSSxFQUFFLENBQUM7WUFDNUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMzQyxDQUFDO0lBQ0gsQ0FBQztJQUVRLGFBQWEsQ0FBQyxPQUFnQixFQUFFLFNBQXlCLElBQUk7UUFDcEUsS0FBSyxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELElBQWEsT0FBTyxDQUFDLE9BQU87UUFDMUIsS0FBSyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDeEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVRLGVBQWUsQ0FBQyxLQUFLO1FBQzVCLEtBQUssQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0IsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ2hELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3BELENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZvcm1QaWVjZSB9IGZyb20gJy4vcGllY2UnO1xuXG5jb25zdCBWSVNJQkxFID0gJ3Zpc2libGUnO1xuY29uc3QgRElTQUJMRUQgPSAnZGlzYWJsZWQnO1xuXG5leHBvcnQgY2xhc3MgRm9ybVBpZWNlUHJvcGFnYXRlIGV4dGVuZHMgRm9ybVBpZWNlIHtcbiAgcHJvdGVjdGVkIHByb3BhZ2F0aW9uQ3VzdG9tQXR0cmlidXRlczogc3RyaW5nW10gPSBbXTtcbiAgcHJvdGVjdGVkIF9hdHRyaWJ1dGVDaGFuZ2U6IEJlaGF2aW9yU3ViamVjdDxhbnk+O1xuXG4gIGNvbnN0cnVjdG9yKHBpZWNlRGVmaW5pdGlvbjogYW55LCBmb3JtQ29uZmlnOiBhbnkpIHtcbiAgICBzdXBlcihwaWVjZURlZmluaXRpb24sIGZvcm1Db25maWcpO1xuICAgIHRoaXMuX2F0dHJpYnV0ZUNoYW5nZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55PihudWxsKTtcbiAgfVxuXG4gIGdldCBhdHRyaWJ1dGVDaGFuZ2UoKSB7IHJldHVybiB0aGlzLl9hdHRyaWJ1dGVDaGFuZ2UuYXNPYnNlcnZhYmxlKCk7IH1cblxuICBwcm9wYWdhdGVBdHRyaWJ1dGUobmFtZSwgdmFsdWUpIHtcbiAgICB0aGlzLl9hdHRyaWJ1dGVDaGFuZ2U/Lm5leHQoeyBuYW1lLCB2YWx1ZSB9KTtcbiAgfVxuXG4gIG92ZXJyaWRlIHNldEN1c3RvbUF0dHJpYnV0ZShuYW1lOiBzdHJpbmcsIHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICBzdXBlci5zZXRDdXN0b21BdHRyaWJ1dGUobmFtZSwgdmFsdWUpO1xuICAgIGlmICh0aGlzLnByb3BhZ2F0aW9uQ3VzdG9tQXR0cmlidXRlcz8uaW5jbHVkZXMobmFtZSkpIHtcbiAgICAgIGNvbnN0IGZ1bGxOYW1lID0gYGN1c3RvbUF0dHJpYnV0ZXMuJHtuYW1lfWA7XG4gICAgICB0aGlzLnByb3BhZ2F0ZUF0dHJpYnV0ZShmdWxsTmFtZSwgdmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIG92ZXJyaWRlIHNldFZpc2liaWxpdHkodmlzaWJsZTogYm9vbGVhbiwgZm9yY2VkOiBib29sZWFuIHwgbnVsbCA9IG51bGwpOiB2b2lkIHtcbiAgICBzdXBlci5zZXRWaXNpYmlsaXR5KHZpc2libGUsIGZvcmNlZCk7XG4gICAgdGhpcy5wcm9wYWdhdGVBdHRyaWJ1dGUoVklTSUJMRSwgdGhpcy5fdmlzaWJsZSk7XG4gIH1cblxuICBvdmVycmlkZSBzZXQgZW5hYmxlZChlbmFibGVkKSB7XG4gICAgc3VwZXIuZW5hYmxlZCA9IGVuYWJsZWQ7XG4gICAgdGhpcy5wcm9wYWdhdGVBdHRyaWJ1dGUoRElTQUJMRUQsIHRoaXMuX2Rpc2FibGVkKTtcbiAgfVxuXG4gIG92ZXJyaWRlIGZvcm1TdGF0ZUNoYW5nZShzdGF0ZSkge1xuICAgIHN1cGVyLmZvcm1TdGF0ZUNoYW5nZShzdGF0ZSk7XG4gICAgaWYgKHN0YXRlKSB7XG4gICAgICB0aGlzLnByb3BhZ2F0ZUF0dHJpYnV0ZShWSVNJQkxFLCB0aGlzLl92aXNpYmxlKTtcbiAgICAgIHRoaXMucHJvcGFnYXRlQXR0cmlidXRlKERJU0FCTEVELCB0aGlzLl9kaXNhYmxlZCk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,134 @@
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 ?? false;
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(event => this.formStateChange(event?.state));
126
+ }
127
+ set widget(widget) { this._widget = widget; }
128
+ get widget() { return this._widget; }
129
+ destroy() {
130
+ this.destroy$.next();
131
+ this.destroy$.complete();
132
+ }
133
+ }
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGllY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWFpbi1uZy1mb3Jtcy1saWIvc3JjL2xpYi9jbGFzc2VzL2Zvcm1zL3BpZWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTFDLE1BQU0sT0FBTyxTQUFTO0lBQ1osUUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFFN0IsVUFBVSxHQUFXLEVBQUUsQ0FBQztJQUN4QixjQUFjLENBQVU7SUFDeEIsU0FBUyxDQUFVO0lBQ25CLGdCQUFnQixHQUFZLElBQUksQ0FBQztJQUNqQyxpQkFBaUIsR0FBWSxLQUFLLENBQUM7SUFDbkMsT0FBTyxHQUFRLElBQUksQ0FBQztJQUVwQixhQUFhLEdBQWEsRUFBRSxDQUFDO0lBQzdCLGFBQWEsR0FBYSxFQUFFLENBQUM7SUFFaEMsS0FBSyxHQUFRLElBQUksQ0FBQztJQUNsQixXQUFXLENBQU07SUFDakIsUUFBUSxHQUFZLElBQUksQ0FBQztJQUN6QixTQUFTLEdBQVksS0FBSyxDQUFDO0lBQzNCLGdCQUFnQixHQUFRLEVBQUUsQ0FBQztJQUVsQyxZQUFZLGVBQW9CLEVBQUUsVUFBZTtRQUMvQyxJQUFJLENBQUMsV0FBVyxHQUFHLFVBQVUsQ0FBQztRQUM5QixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN2QixJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztRQUM1QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFckQsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLGVBQWUsRUFBRSxRQUFRLElBQUksS0FBSyxDQUFDO1FBQ25ELElBQUksQ0FBQyxh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WUFDVixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztZQUN4QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2pFLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6RSxDQUFDO0lBQ0gsQ0FBQztJQUVELHFCQUFxQixDQUFDLElBQUksRUFBRSxpQkFBaUI7UUFDM0MsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDbEIsSUFBSSxDQUFDLDhCQUE4QixDQUFDLElBQUksRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBQzdELGlCQUFpQjthQUNkLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQzlCLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELElBQUksTUFBTSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDN0MsSUFBSSxNQUFNLEtBQUssT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUVyQyxPQUFPO1FBQ0wsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgY2xhc3MgRm9ybVBpZWNlIHtcbiAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgcHJvdGVjdGVkIF9mb3JtU3RhdGU6IHN0cmluZyA9ICcnO1xuICBwcm90ZWN0ZWQgX3Zpc2libGVGb3JjZWQ6IGJvb2xlYW47XG4gIHByb3RlY3RlZCBfaXNGb3JjZWQ6IGJvb2xlYW47XG4gIHByb3RlY3RlZCBfYWJzb2x1dGVWaXNpYmxlOiBib29sZWFuID0gdHJ1ZTtcbiAgcHJvdGVjdGVkIF9hYnNvbHV0ZURpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIHByb3RlY3RlZCBfd2lkZ2V0OiBhbnkgPSBudWxsO1xuXG4gIHByb3RlY3RlZCB2aXNpYmxlU3RhdGVzOiBzdHJpbmdbXSA9IFtdO1xuICBwcm90ZWN0ZWQgZW5hYmxlZFN0YXRlczogc3RyaW5nW10gPSBbXTtcblxuICBwdWJsaWMgX2Zvcm06IGFueSA9IG51bGw7XG4gIHB1YmxpYyBfZm9ybUNvbmZpZzogYW55O1xuICBwdWJsaWMgX3Zpc2libGU6IGJvb2xlYW4gPSB0cnVlO1xuICBwdWJsaWMgX2Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBjdXN0b21BdHRyaWJ1dGVzOiBhbnkgPSB7fTtcblxuICBjb25zdHJ1Y3RvcihwaWVjZURlZmluaXRpb246IGFueSwgZm9ybUNvbmZpZzogYW55KSB7XG4gICAgdGhpcy5fZm9ybUNvbmZpZyA9IGZvcm1Db25maWc7XG4gICAgdGhpcy5faXNGb3JjZWQgPSBmYWxzZTtcbiAgICB0aGlzLl92aXNpYmxlRm9yY2VkID0gZmFsc2U7XG4gICAgdGhpcy5zZXRWaXNpYmxlU3RhdGVzKHBpZWNlRGVmaW5pdGlvbi52aXNpYmxlU3RhdGVzKTtcbiAgICB0aGlzLnNldEVuYWJsZWRTdGF0ZXMocGllY2VEZWZpbml0aW9uLmVuYWJsZWRTdGF0ZXMpO1xuXG4gICAgdGhpcy5lbmFibGVkID0gIXBpZWNlRGVmaW5pdGlvbj8uZGlzYWJsZWQgPz8gZmFsc2U7XG4gICAgdGhpcy5zZXRWaXNpYmlsaXR5KHBpZWNlRGVmaW5pdGlvbj8udmlzaWJsZSA/PyB0cnVlKTtcbiAgICB0aGlzLmN1c3RvbUF0dHJpYnV0ZXMgPSBwaWVjZURlZmluaXRpb24/LmN1c3RvbUF0dHJpYnV0ZXMgPz8ge307XG4gICAgaWYgKHBpZWNlRGVmaW5pdGlvbj8uY3VzdG9tQXR0cmlidXRlcykge1xuICAgICAgT2JqZWN0LmtleXMocGllY2VEZWZpbml0aW9uPy5jdXN0b21BdHRyaWJ1dGVzKVxuICAgICAgICA/LmZvckVhY2goYXR0ciA9PiB0aGlzLmN1c3RvbUF0dHJpYnV0ZXNbYXR0cl0gPSBwaWVjZURlZmluaXRpb24/LmN1c3RvbUF0dHJpYnV0ZXNbYXR0cl0pXG4gICAgfVxuICB9XG5cbiAgZ2V0Q3VzdG9tQXR0cmlidXRlKG5hbWU6IHN0cmluZyk6IGFueSB7IHJldHVybiB0aGlzLmN1c3RvbUF0dHJpYnV0ZXM/LltuYW1lXSA/PyBudWxsOyB9XG4gIHNldEN1c3RvbUF0dHJpYnV0ZShuYW1lOiBzdHJpbmcsIHZhbHVlOiBhbnkpOiB2b2lkIHsgaWYgKG5hbWUpIHsgdGhpcy5jdXN0b21BdHRyaWJ1dGVzW25hbWVdID0gdmFsdWU7IH0gfVxuXG4gIHNldEN1c3RvbUF0dHJpYnV0ZXMoYXR0cmlidXRlczogYW55KTogRm9ybVBpZWNlIHtcbiAgICBPYmplY3QuZW50cmllcyhhdHRyaWJ1dGVzKS5mb3JFYWNoKChbbmFtZSwgdmFsdWVdKSA9PiB7XG4gICAgICB0aGlzLnNldEN1c3RvbUF0dHJpYnV0ZShuYW1lLCB2YWx1ZSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBtYXRjaEF0dHJpYnV0ZShuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuY3VzdG9tQXR0cmlidXRlcz8uW25hbWVdID09PSB2YWx1ZTsgfVxuXG4gIHNldFZpc2libGVTdGF0ZXMobmV3U3RhdGVzOiBhbnkpOiB2b2lkIHtcbiAgICBjb25zdCB2aXNpYmxlU3RhdGVzID0gKCFBcnJheS5pc0FycmF5KG5ld1N0YXRlcykgJiYgdHlwZW9mIG5ld1N0YXRlcyA9PT0gJ3N0cmluZycpXG4gICAgICA/IG5ld1N0YXRlcy5zcGxpdCgnLCcpLm1hcChzdGF0ZSA9PiBzdGF0ZS50cmltKCkpLmZpbHRlcihzdGF0ZSA9PiBzdGF0ZS5sZW5ndGggPiAwKVxuICAgICAgOiBuZXdTdGF0ZXM7XG4gICAgdGhpcy52aXNpYmxlU3RhdGVzID0gKEFycmF5LmlzQXJyYXkodmlzaWJsZVN0YXRlcykpID8gWy4uLihuZXcgU2V0KHZpc2libGVTdGF0ZXMpKV0gOiBbXTtcbiAgfVxuXG4gIGFkZFZpc2libGVTdGF0ZShzdGF0ZTogc3RyaW5nKSB7XG4gICAgaWYgKCF0aGlzLnZpc2libGVTdGF0ZXMuaW5jbHVkZXMoc3RhdGUpKSB7XG4gICAgICB0aGlzLnZpc2libGVTdGF0ZXMucHVzaChzdGF0ZSk7XG4gICAgfVxuICB9XG5cbiAgcmVtb3ZlVmlzaWJsZVN0YXRlKHN0YXRlOiBzdHJpbmcpIHtcbiAgICBjb25zdCBleGlzdFN0YXRlSWR4ID0gdGhpcy52aXNpYmxlU3RhdGVzLmZpbmRJbmRleChzdCA9PiBzdCA9PT0gc3RhdGUpO1xuICAgIGlmIChleGlzdFN0YXRlSWR4ID49IDApIHtcbiAgICAgIHRoaXMudmlzaWJsZVN0YXRlcy5zcGxpY2UoZXhpc3RTdGF0ZUlkeCwgMSk7XG4gICAgfVxuICB9XG5cbiAgc2V0RW5hYmxlZFN0YXRlcyhuZXdTdGF0ZXM6IGFueSk6IHZvaWQge1xuICAgIGNvbnN0IGVuYWJsZWRTdGF0ZXMgPSAoIUFycmF5LmlzQXJyYXkobmV3U3RhdGVzKSAmJiB0eXBlb2YgbmV3U3RhdGVzID09PSAnc3RyaW5nJylcbiAgICAgID8gbmV3U3RhdGVzLnNwbGl0KCcsJykubWFwKHN0YXRlID0+IHN0YXRlLnRyaW0oKSkuZmlsdGVyKHN0YXRlID0+IHN0YXRlLmxlbmd0aCA+IDApXG4gICAgICA6IG5ld1N0YXRlcztcbiAgICB0aGlzLmVuYWJsZWRTdGF0ZXMgPSAoQXJyYXkuaXNBcnJheShlbmFibGVkU3RhdGVzKSkgPyBbLi4uKG5ldyBTZXQoZW5hYmxlZFN0YXRlcykpXSA6IFtdO1xuICB9XG5cbiAgYWRkRW5hYmxlZFN0YXRlKHN0YXRlOiBzdHJpbmcpIHtcbiAgICBpZiAoIXRoaXMuZW5hYmxlZFN0YXRlcy5pbmNsdWRlcyhzdGF0ZSkpIHtcbiAgICAgIHRoaXMuZW5hYmxlZFN0YXRlcy5wdXNoKHN0YXRlKTtcbiAgICB9XG4gIH1cblxuICByZW1vdmVFbmFibGVkU3RhdGUoc3RhdGU6IHN0cmluZykge1xuICAgIGNvbnN0IGV4aXN0U3RhdGVJZHggPSB0aGlzLmVuYWJsZWRTdGF0ZXMuZmluZEluZGV4KHN0ID0+IHN0ID09PSBzdGF0ZSk7XG4gICAgaWYgKGV4aXN0U3RhdGVJZHggPj0gMCkge1xuICAgICAgdGhpcy5lbmFibGVkU3RhdGVzLnNwbGljZShleGlzdFN0YXRlSWR4LCAxKTtcbiAgICB9XG4gIH1cblxuICB2aWV3T25TdGF0ZShzdGF0ZTogc3RyaW5nKTogYm9vbGVhbiB7IHJldHVybiAodGhpcy52aXNpYmxlU3RhdGVzICYmIHN0YXRlKSA/IHRoaXMudmlzaWJsZVN0YXRlcy5pbmNsdWRlcyhzdGF0ZSkgOiBmYWxzZTsgfVxuICBlbmFibGVkT25TdGF0ZShzdGF0ZTogc3RyaW5nKTogYm9vbGVhbiB7IHJldHVybiAodGhpcy5lbmFibGVkU3RhdGVzICYmIHN0YXRlKSA/IHRoaXMuZW5hYmxlZFN0YXRlcy5pbmNsdWRlcyhzdGF0ZSkgOiBmYWxzZTsgfVxuXG4gIGdldCBhYnNvbHV0ZVZpc2libGUoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl9hYnNvbHV0ZVZpc2libGU7IH1cbiAgZ2V0IGFic29sdXRlRGlzYWJsZWQoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl9hYnNvbHV0ZURpc2FibGVkOyB9XG5cbiAgZ2V0IHZpc2libGUoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl92aXNpYmxlOyB9XG4gIHNldCB2aXNpYmxlKHZpc2libGU6IGJvb2xlYW4pIHsgdGhpcy5zZXRWaXNpYmlsaXR5KHZpc2libGUpOyB9XG5cbiAgdmlzaWJsZU9uKHN0YXRlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fYWJzb2x1dGVWaXNpYmxlICYmIHRoaXMudmlld09uU3RhdGUoc3RhdGUpO1xuICB9XG5cbiAgZW5hYmxlZE9uKHN0YXRlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuX2Fic29sdXRlRGlzYWJsZWQgJiYgdGhpcy5lbmFibGVkT25TdGF0ZShzdGF0ZSk7XG4gIH1cblxuICBzZXRWaXNpYmlsaXR5KHZpc2libGU6IGJvb2xlYW4sIGZvcmNlZDogYm9vbGVhbiB8IG51bGwgPSBudWxsKTogdm9pZCB7XG4gICAgdGhpcy5fYWJzb2x1dGVWaXNpYmxlID0gISF2aXNpYmxlO1xuICAgIGlmIChmb3JjZWQgIT09IG51bGwpIHtcbiAgICAgIHRoaXMuX2lzRm9yY2VkID0gZm9yY2VkO1xuICAgICAgdGhpcy5fdmlzaWJsZUZvcmNlZCA9IHZpc2libGU7XG4gICAgfVxuICAgIHRoaXMuX3Zpc2libGUgPSB0aGlzLl9hYnNvbHV0ZVZpc2libGUgJiYgdGhpcy52aWV3T25TdGF0ZSh0aGlzLl9mb3JtU3RhdGUpO1xuICB9XG5cbiAgc2hvdyhmb3JjZWQ6IGJvb2xlYW4gfCBudWxsID0gbnVsbCk6IHZvaWQge1xuICAgIHRoaXMuc2V0VmlzaWJpbGl0eSh0cnVlLCBmb3JjZWQpO1xuICB9XG5cbiAgaGlkZShmb3JjZWQ6IGJvb2xlYW4gfCBudWxsID0gbnVsbCk6IHZvaWQge1xuICAgIHRoaXMuc2V0VmlzaWJpbGl0eShmYWxzZSwgZm9yY2VkKTtcbiAgfVxuXG4gIGdldCBlbmFibGVkKCk6IGJvb2xlYW4geyByZXR1cm4gIXRoaXMuX2Rpc2FibGVkOyB9XG4gIHNldCBlbmFibGVkKGVuYWJsZWQpIHtcbiAgICB0aGlzLl9hYnNvbHV0ZURpc2FibGVkID0gIWVuYWJsZWQ7XG4gICAgdGhpcy5fZGlzYWJsZWQgPSB0aGlzLl9hYnNvbHV0ZURpc2FibGVkIHx8ICF0aGlzLmVuYWJsZWRPblN0YXRlKHRoaXMuX2Zvcm1TdGF0ZSk7XG4gIH1cblxuICBnZXQgZWRpdGFibGUoKTogYm9vbGVhbiB7IHJldHVybiAhdGhpcy5fZGlzYWJsZWQ7IH1cblxuICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl9kaXNhYmxlZDsgfVxuXG4gIHNldCBkaXNhYmxlZChkaXNhYmxlZCkgeyB0aGlzLmVuYWJsZWQgPSAhZGlzYWJsZWQ7IH1cblxuICBlbmFibGUoKTogdm9pZCB7IHRoaXMuZW5hYmxlZCA9IHRydWU7IH1cbiAgZGlzYWJsZSgpOiB2b2lkIHsgdGhpcy5lbmFibGVkID0gZmFsc2U7IH1cblxuICBmb3JtU3RhdGVDaGFuZ2VDdXN0b21TdWJzY3JpYmUoZm9ybSwgZm9ybUNoYW5nZVN1YmplY3QpIHsgfVxuXG4gIGZvcm1TdGF0ZUNoYW5nZShzdGF0ZSkge1xuICAgIGlmIChzdGF0ZSkge1xuICAgICAgdGhpcy5fZm9ybVN0YXRlID0gc3RhdGU7XG4gICAgICB0aGlzLl92aXNpYmxlID0gdGhpcy5fYWJzb2x1dGVWaXNpYmxlICYmIHRoaXMudmlld09uU3RhdGUoc3RhdGUpO1xuICAgICAgdGhpcy5fZGlzYWJsZWQgPSB0aGlzLl9hYnNvbHV0ZURpc2FibGVkIHx8ICF0aGlzLmVuYWJsZWRPblN0YXRlKHN0YXRlKTtcbiAgICB9XG4gIH1cblxuICBjb25uZWN0V2l0aFBhcmVudEZvcm0oZm9ybSwgZm9ybUNoYW5nZVN1YmplY3QpIHtcbiAgICB0aGlzLl9mb3JtID0gZm9ybTtcbiAgICB0aGlzLmZvcm1TdGF0ZUNoYW5nZUN1c3RvbVN1YnNjcmliZShmb3JtLCBmb3JtQ2hhbmdlU3ViamVjdCk7XG4gICAgZm9ybUNoYW5nZVN1YmplY3RcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoZXZlbnQgPT4gdGhpcy5mb3JtU3RhdGVDaGFuZ2UoZXZlbnQ/LnN0YXRlKSk7XG4gIH1cblxuICBzZXQgd2lkZ2V0KHdpZGdldCkgeyB0aGlzLl93aWRnZXQgPSB3aWRnZXQ7IH1cbiAgZ2V0IHdpZGdldCgpIHsgcmV0dXJuIHRoaXMuX3dpZGdldDsgfVxuXG4gIGRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,151 @@
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
+ this.propagationCustomAttributes = this._formConfig?.propagationCustomAttributes?.sections ?? [];
18
+ if (!sectionReceived) {
19
+ return;
20
+ }
21
+ this._sectionId = (sectionReceived.sectionId) ? sectionReceived.sectionId.toString() : '';
22
+ this._sectionCode = (sectionReceived.sectionCode) ? sectionReceived.sectionCode : '';
23
+ this._sectionTitle = (sectionReceived.sectionTitle) ? sectionReceived.sectionTitle : '';
24
+ this._subSections = [];
25
+ this._subSectionsObj = {};
26
+ if (sectionReceived.subsections) {
27
+ const subsections = sectionReceived.subsections.map(subSecDef => {
28
+ const visibleStates = subSecDef.visibleStates ?? [];
29
+ if (subSecDef.elements && Array.isArray(subSecDef.elements)) {
30
+ subSecDef.elements = subSecDef.elements.map(elm => ({ code: elm.elementCode, type: elm.elementTypeName }));
31
+ }
32
+ return { ...subSecDef, visibleStates };
33
+ });
34
+ for (const subsectionReceived of subsections) {
35
+ const subSectionToAdd = new RecordFormSubSection(subsectionReceived, formObject, formConfig);
36
+ const subsectionCode = subSectionToAdd.subsectionCode;
37
+ if (subsectionCode) {
38
+ this._subSections.push(subSectionToAdd);
39
+ this._subSectionsObj[subsectionCode] = subSectionToAdd;
40
+ }
41
+ }
42
+ }
43
+ }
44
+ get code() { return this._sectionCode; }
45
+ get activation() { return this._activation.asObservable(); }
46
+ get inactivation() { return this._inactivation.asObservable(); }
47
+ get active() { return this._active; }
48
+ get sectionId() { return this._sectionId; }
49
+ get sectionCode() { return this._sectionCode; }
50
+ get sectionTitle() { return this._sectionTitle; }
51
+ get subSections() { return this._subSections; }
52
+ get subSectionsObj() { return this._subSectionsObj; }
53
+ set active(active) { this._active = active; }
54
+ set sectionId(sectionId) { this._sectionId = sectionId; }
55
+ set sectionCode(sectionCode) { this._sectionCode = sectionCode; }
56
+ set sectionTitle(sectionTitle) { this._sectionTitle = sectionTitle; }
57
+ set subSections(subSections) { this._subSections = subSections; }
58
+ set subSectionsObj(subSectionsObj) { this._subSectionsObj = subSectionsObj; }
59
+ activate() {
60
+ if (!this._active) {
61
+ this._active = true;
62
+ this._sectionCode && this._activation.next(this._sectionCode);
63
+ }
64
+ }
65
+ inactivate() {
66
+ if (this._active) {
67
+ this._active = false;
68
+ this._sectionCode && this._inactivation.next(this._sectionCode);
69
+ }
70
+ }
71
+ get title() { return this._sectionTitle; }
72
+ set title(title) { this._sectionTitle = title; }
73
+ getVisibleSubsections(state) {
74
+ return this._subSections.filter(subSection => subSection.visible);
75
+ }
76
+ getSubsection(subSectionCode) {
77
+ return (this._subSectionsObj && this._subSectionsObj[subSectionCode])
78
+ ? this._subSectionsObj[subSectionCode] : null;
79
+ }
80
+ activateSubSection(subSectionCode) {
81
+ if (subSectionCode === this._exclusiveSubSectionsByAttr[ACTIVE]) {
82
+ return;
83
+ }
84
+ const subSection = (this._subSectionsObj && this._subSectionsObj[subSectionCode])
85
+ ? this._subSectionsObj[subSectionCode] : null;
86
+ if (subSection) {
87
+ subSection?.activate();
88
+ this._exclusiveSubSectionsByAttr[ACTIVE] = subSectionCode;
89
+ }
90
+ }
91
+ getFields() {
92
+ let fieldsArray = [];
93
+ if (this._subSections && this._subSections.length > 0) {
94
+ for (const subSection of this._subSections) {
95
+ const subsectionFields = subSection.getFields() ?? [];
96
+ if (subsectionFields?.length > 0) {
97
+ fieldsArray = fieldsArray.concat(subsectionFields);
98
+ }
99
+ }
100
+ }
101
+ return fieldsArray;
102
+ }
103
+ getActions() {
104
+ let actionArray = [];
105
+ if (this._subSections && this._subSections.length > 0) {
106
+ for (const subSection of this._subSections) {
107
+ const subSectionActions = subSection.getActions() ?? [];
108
+ if (subSectionActions?.length > 0) {
109
+ actionArray = actionArray.concat(subSectionActions);
110
+ }
111
+ }
112
+ }
113
+ return actionArray;
114
+ }
115
+ getActionNames() {
116
+ let actionArray = [];
117
+ if (this._subSections && this._subSections.length > 0) {
118
+ for (const subSection of this._subSections) {
119
+ actionArray = actionArray.concat(subSection.getActionNames());
120
+ }
121
+ }
122
+ return actionArray;
123
+ }
124
+ getFieldNames() {
125
+ let fieldsArray = [];
126
+ if (this._subSections && this._subSections.length > 0) {
127
+ for (const subSection of this._subSections) {
128
+ fieldsArray = fieldsArray.concat(subSection.getFieldNames());
129
+ }
130
+ }
131
+ return fieldsArray;
132
+ }
133
+ getField(name) {
134
+ let field = null;
135
+ if (this._subSections && this._subSections.length > 0) {
136
+ for (const subSection of this._subSections) {
137
+ field = subSection.getField(name);
138
+ if (field) {
139
+ return field;
140
+ }
141
+ }
142
+ }
143
+ return null;
144
+ }
145
+ formStateChangeCustomSubscribe(form, formChangeSubject) {
146
+ this._subSections?.forEach(subsection => {
147
+ subsection?.connectWithParentForm(form, formChangeSubject);
148
+ });
149
+ }
150
+ }
151
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1YWluLW5nLWZvcm1zLWxpYi9zcmMvbGliL2NsYXNzZXMvZm9ybXMvc2VjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXZELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUVwRCxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUM7QUFFeEIsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGtCQUFrQjtJQUN0QyxXQUFXLEdBQUcsSUFBSSxPQUFPLEVBQVUsQ0FBQztJQUNwQyxhQUFhLEdBQUcsSUFBSSxPQUFPLEVBQVUsQ0FBQztJQUMvQyxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ2hCLFVBQVUsR0FBa0IsSUFBSSxDQUFDO0lBQ2pDLFlBQVksR0FBa0IsSUFBSSxDQUFDO0lBQ25DLGFBQWEsR0FBa0IsSUFBSSxDQUFDO0lBQ3BDLFlBQVksR0FBMkIsRUFBRSxDQUFDO0lBQzFDLGVBQWUsQ0FBTTtJQUNyQiwyQkFBMkIsR0FBRyxFQUFFLENBQUM7SUFFekMsWUFBWSxlQUFlLEVBQUUsVUFBVSxFQUFFLFVBQVU7UUFDakQsS0FBSyxDQUFDLGVBQWUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsMkJBQTJCLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSwyQkFBMkIsRUFBRSxRQUFRLElBQUksRUFBRSxDQUFDO1FBQ2pHLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUFDLE9BQU87UUFBQyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxTQUFTLENB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LENBQUM7Z0JBQzNDLFdBQVcsR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO1lBQy9ELENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztJQUVELFFBQVEsQ0FBQyxJQUFJO1FBQ1gsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN0RCxLQUFLLE1BQU0sVUFBVSxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFDM0MsS0FBSyxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ2xDLElBQUksS0FBSyxFQUFFLENBQUM7b0JBQ1YsT0FBTyxLQUFLLENBQUM7Z0JBQ2YsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRVEsOEJBQThCLENBQUMsSUFBSSxFQUFFLGlCQUFpQjtRQUM3RCxJQUFJLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUN0QyxVQUFVLEVBQUUscUJBQXFCLENBQUMsSUFBSSxFQUFFLGlCQUFpQixDQUFDLENBQUM7UUFDN0QsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGb3JtUGllY2VQcm9wYWdhdGUgfSBmcm9tICcuL3BpZWNlLXByb3BhZ2F0ZSc7XG5pbXBvcnQgeyBGb3JtQWN0aW9uIH0gZnJvbSAnLi9hY3Rpb24nO1xuaW1wb3J0IHsgUmVjb3JkRm9ybVN1YlNlY3Rpb24gfSBmcm9tICcuL3N1YnNlY3Rpb24nO1xuXG5jb25zdCBBQ1RJVkUgPSAnYWN0aXZlJztcblxuZXhwb3J0IGNsYXNzIFJlY29yZEZvcm1TZWN0aW9uIGV4dGVuZHMgRm9ybVBpZWNlUHJvcGFnYXRlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBfYWN0aXZhdGlvbiA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfaW5hY3RpdmF0aW9uID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xuICBwcml2YXRlIF9hY3RpdmUgPSBmYWxzZTtcbiAgcHJpdmF0ZSBfc2VjdGlvbklkOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfc2VjdGlvbkNvZGU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9zZWN0aW9uVGl0bGU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9zdWJTZWN0aW9uczogUmVjb3JkRm9ybVN1YlNlY3Rpb25bXSA9IFtdO1xuICBwcml2YXRlIF9zdWJTZWN0aW9uc09iajogYW55O1xuICBwcml2YXRlIF9leGNsdXNpdmVTdWJTZWN0aW9uc0J5QXR0ciA9IHt9O1xuXG4gIGNvbnN0cnVjdG9yKHNlY3Rpb25SZWNlaXZlZCwgZm9ybU9iamVjdCwgZm9ybUNvbmZpZykge1xuICAgIHN1cGVyKHNlY3Rpb25SZWNlaXZlZCwgZm9ybUNvbmZpZyk7XG4gICAgdGhpcy5wcm9wYWdhdGlvbkN1c3RvbUF0dHJpYnV0ZXMgPSB0aGlzLl9mb3JtQ29uZmlnPy5wcm9wYWdhdGlvbkN1c3RvbUF0dHJpYnV0ZXM/LnNlY3Rpb25zID8/IFtdO1xuICAgIGlmICghc2VjdGlvblJlY2VpdmVkKSB7IHJldHVybjsgfVxuICAgIHRoaXMuX3NlY3Rpb25JZCA9IChzZWN0aW9uUmVjZWl2ZWQuc2VjdGlvbklkKSA/IHNlY3Rpb25SZWNlaXZlZC5zZWN0aW9uSWQudG9TdHJpbmcoKSA6ICcnO1xuICAgIHRoaXMuX3NlY3Rpb25Db2RlID0gKHNlY3Rpb25SZWNlaXZlZC5zZWN0aW9uQ29kZSkgPyBzZWN0aW9uUmVjZWl2ZWQuc2VjdGlvbkNvZGUgOiAnJztcbiAgICB0aGlzLl9zZWN0aW9uVGl0bGUgPSAoc2VjdGlvblJlY2VpdmVkLnNlY3Rpb25UaXRsZSkgPyBzZWN0aW9uUmVjZWl2ZWQuc2VjdGlvblRpdGxlIDogJyc7XG4gICAgdGhpcy5fc3ViU2VjdGlvbnMgPSBbXTtcbiAgICB0aGlzLl9zdWJTZWN0aW9uc09iaiA9IHt9O1xuICAgIGlmIChzZWN0aW9uUmVjZWl2ZWQuc3Vic2VjdGlvbnMpIHtcbiAgICAgIGNvbnN0IHN1YnNlY3Rpb25zID0gc2VjdGlvblJlY2VpdmVkLnN1YnNlY3Rpb25zLm1hcChzdWJTZWNEZWYgPT4ge1xuICAgICAgICBjb25zdCB2aXNpYmxlU3RhdGVzID0gc3ViU2VjRGVmLnZpc2libGVTdGF0ZXMgPz8gW107XG4gICAgICAgIGlmIChzdWJTZWNEZWYuZWxlbWVudHMgJiYgQXJyYXkuaXNBcnJheShzdWJTZWNEZWYuZWxlbWVudHMpKSB7XG4gICAgICAgICAgc3ViU2VjRGVmLmVsZW1lbnRzID0gc3ViU2VjRGVmLmVsZW1lbnRzLm1hcChlbG0gPT4gKHsgY29kZTogZWxtLmVsZW1lbnRDb2RlLCB0eXBlOiBlbG0uZWxlbWVudFR5cGVOYW1lIH0pKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geyAuLi5zdWJTZWNEZWYsIHZpc2libGVTdGF0ZXMgfTtcbiAgICAgIH0pO1xuICAgICAgZm9yIChjb25zdCBzdWJzZWN0aW9uUmVjZWl2ZWQgb2Ygc3Vic2VjdGlvbnMpIHtcbiAgICAgICAgY29uc3Qgc3ViU2VjdGlvblRvQWRkID0gbmV3IFJlY29yZEZvcm1TdWJTZWN0aW9uKHN1YnNlY3Rpb25SZWNlaXZlZCwgZm9ybU9iamVjdCwgZm9ybUNvbmZpZyk7XG4gICAgICAgIGNvbnN0IHN1YnNlY3Rpb25Db2RlID0gc3ViU2VjdGlvblRvQWRkLnN1YnNlY3Rpb25Db2RlO1xuICAgICAgICBpZiAoc3Vic2VjdGlvbkNvZGUpIHtcbiAgICAgICAgICB0aGlzLl9zdWJTZWN0aW9ucy5wdXNoKHN1YlNlY3Rpb25Ub0FkZCk7XG4gICAgICAgICAgdGhpcy5fc3ViU2VjdGlvbnNPYmpbc3Vic2VjdGlvbkNvZGVdID0gc3ViU2VjdGlvblRvQWRkO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZ2V0IGNvZGUoKSB7IHJldHVybiB0aGlzLl9zZWN0aW9uQ29kZTsgfVxuICBnZXQgYWN0aXZhdGlvbigpIHsgcmV0dXJuIHRoaXMuX2FjdGl2YXRpb24uYXNPYnNlcnZhYmxlKCk7IH1cbiAgZ2V0IGluYWN0aXZhdGlvbigpIHsgcmV0dXJuIHRoaXMuX2luYWN0aXZhdGlvbi5hc09ic2VydmFibGUoKTsgfVxuXG4gIGdldCBhY3RpdmUoKSB7IHJldHVybiB0aGlzLl9hY3RpdmU7IH1cbiAgZ2V0IHNlY3Rpb25JZCgpIHsgcmV0dXJuIHRoaXMuX3NlY3Rpb25JZDsgfVxuICBnZXQgc2VjdGlvbkNvZGUoKSB7IHJldHVybiB0aGlzLl9zZWN0aW9uQ29kZTsgfVxuICBnZXQgc2VjdGlvblRpdGxlKCkgeyByZXR1cm4gdGhpcy5fc2VjdGlvblRpdGxlOyB9XG4gIGdldCBzdWJTZWN0aW9ucygpIHsgcmV0dXJuIHRoaXMuX3N1YlNlY3Rpb25zOyB9XG4gIGdldCBzdWJTZWN0aW9uc09iaigpIHsgcmV0dXJuIHRoaXMuX3N1YlNlY3Rpb25zT2JqOyB9XG5cbiAgc2V0IGFjdGl2ZShhY3RpdmUpIHsgdGhpcy5fYWN0aXZlID0gYWN0aXZlOyB9XG4gIHNldCBzZWN0aW9uSWQoc2VjdGlvbklkKSB7IHRoaXMuX3NlY3Rpb25JZCA9IHNlY3Rpb25JZDsgfVxuICBzZXQgc2VjdGlvbkNvZGUoc2VjdGlvbkNvZGUpIHsgdGhpcy5fc2VjdGlvbkNvZGUgPSBzZWN0aW9uQ29kZTsgfVxuICBzZXQgc2VjdGlvblRpdGxlKHNlY3Rpb25UaXRsZSkgeyB0aGlzLl9zZWN0aW9uVGl0bGUgPSBzZWN0aW9uVGl0bGU7IH1cbiAgc2V0IHN1YlNlY3Rpb25zKHN1YlNlY3Rpb25zKSB7IHRoaXMuX3N1YlNlY3Rpb25zID0gc3ViU2VjdGlvbnM7IH1cbiAgc2V0IHN1YlNlY3Rpb25zT2JqKHN1YlNlY3Rpb25zT2JqKSB7IHRoaXMuX3N1YlNlY3Rpb25zT2JqID0gc3ViU2VjdGlvbnNPYmo7IH1cblxuICBhY3RpdmF0ZSgpIHtcbiAgICBpZiAoIXRoaXMuX2FjdGl2ZSkge1xuICAgICAgdGhpcy5fYWN0aXZlID0gdHJ1ZTtcbiAgICAgIHRoaXMuX3NlY3Rpb25Db2RlICYmIHRoaXMuX2FjdGl2YXRpb24ubmV4dCh0aGlzLl9zZWN0aW9uQ29kZSk7XG4gICAgfVxuICB9XG5cbiAgaW5hY3RpdmF0ZSgpIHtcbiAgICBpZiAodGhpcy5fYWN0aXZlKSB7XG4gICAgICB0aGlzLl9hY3RpdmUgPSBmYWxzZTtcbiAgICAgIHRoaXMuX3NlY3Rpb25Db2RlICYmIHRoaXMuX2luYWN0aXZhdGlvbi5uZXh0KHRoaXMuX3NlY3Rpb25Db2RlKTtcbiAgICB9XG4gIH1cblxuICBnZXQgdGl0bGUoKSB7IHJldHVybiB0aGlzLl9zZWN0aW9uVGl0bGU7IH1cbiAgc2V0IHRpdGxlKHRpdGxlKSB7IHRoaXMuX3NlY3Rpb25UaXRsZSA9IHRpdGxlOyB9XG5cbiAgZ2V0VmlzaWJsZVN1YnNlY3Rpb25zKHN0YXRlKSB7XG4gICAgcmV0dXJuIHRoaXMuX3N1YlNlY3Rpb25zLmZpbHRlcihzdWJTZWN0aW9uID0+IHN1YlNlY3Rpb24udmlzaWJsZSk7XG4gIH1cblxuICBnZXRTdWJzZWN0aW9uKHN1YlNlY3Rpb25Db2RlKSB7XG4gICAgcmV0dXJuICh0aGlzLl9zdWJTZWN0aW9uc09iaiAmJiB0aGlzLl9zdWJTZWN0aW9uc09ialtzdWJTZWN0aW9uQ29kZV0pXG4gICAgICA/IHRoaXMuX3N1YlNlY3Rpb25zT2JqW3N1YlNlY3Rpb25Db2RlXSA6IG51bGw7XG4gIH1cblxuICBhY3RpdmF0ZVN1YlNlY3Rpb24oc3ViU2VjdGlvbkNvZGUpIHtcbiAgICBpZiAoc3ViU2VjdGlvbkNvZGUgPT09IHRoaXMuX2V4Y2x1c2l2ZVN1YlNlY3Rpb25zQnlBdHRyW0FDVElWRV0pIHsgcmV0dXJuOyB9XG4gICAgY29uc3Qgc3ViU2VjdGlvbiA9ICh0aGlzLl9zdWJTZWN0aW9uc09iaiAmJiB0aGlzLl9zdWJTZWN0aW9uc09ialtzdWJTZWN0aW9uQ29kZV0pXG4gICAgICA/IHRoaXMuX3N1YlNlY3Rpb25zT2JqW3N1YlNlY3Rpb25Db2RlXSA6IG51bGw7XG4gICAgaWYgKHN1YlNlY3Rpb24pIHtcbiAgICAgIHN1YlNlY3Rpb24/LmFjdGl2YXRlKCk7XG4gICAgICB0aGlzLl9leGNsdXNpdmVTdWJTZWN0aW9uc0J5QXR0cltBQ1RJVkVdID0gc3ViU2VjdGlvbkNvZGU7XG4gICAgfVxuICB9XG5cbiAgZ2V0RmllbGRzKCkge1xuICAgIGxldCBmaWVsZHNBcnJheTogYW55W10gPSBbXTtcbiAgICBpZiAodGhpcy5fc3ViU2VjdGlvbnMgJiYgdGhpcy5fc3ViU2VjdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgZm9yIChjb25zdCBzdWJTZWN0aW9uIG9mIHRoaXMuX3N1YlNlY3Rpb25zKSB7XG4gICAgICAgIGNvbnN0IHN1YnNlY3Rpb25GaWVsZHM6IGFueVtdID0gc3ViU2VjdGlvbi5nZXRGaWVsZHMoKSA/PyBbXTtcbiAgICAgICAgaWYgKHN1YnNlY3Rpb25GaWVsZHM/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBmaWVsZHNBcnJheSA9IGZpZWxkc0FycmF5LmNvbmNhdChzdWJzZWN0aW9uRmllbGRzKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmllbGRzQXJyYXk7XG4gIH1cblxuICBnZXRBY3Rpb25zKCk6IEZvcm1BY3Rpb25bXSB7XG4gICAgbGV0IGFjdGlvbkFycmF5OiBhbnlbXSA9IFtdO1xuICAgIGlmICh0aGlzLl9zdWJTZWN0aW9ucyAmJiB0aGlzLl9zdWJTZWN0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICBmb3IgKGNvbnN0IHN1YlNlY3Rpb24gb2YgdGhpcy5fc3ViU2VjdGlvbnMpIHtcbiAgICAgICAgY29uc3Qgc3ViU2VjdGlvbkFjdGlvbnMgPSBzdWJTZWN0aW9uLmdldEFjdGlvbnMoKSA/PyBbXTtcbiAgICAgICAgaWYgKHN1YlNlY3Rpb25BY3Rpb25zPy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgYWN0aW9uQXJyYXkgPSBhY3Rpb25BcnJheS5jb25jYXQoc3ViU2VjdGlvbkFjdGlvbnMpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBhY3Rpb25BcnJheTtcbiAgfVxuXG4gIGdldEFjdGlvbk5hbWVzKCk6IHN0cmluZ1tdIHtcbiAgICBsZXQgYWN0aW9uQXJyYXk6IHN0cmluZ1tdID0gW107XG4gICAgaWYgKHRoaXMuX3N1YlNlY3Rpb25zICYmIHRoaXMuX3N1YlNlY3Rpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgIGZvciAoY29uc3Qgc3ViU2VjdGlvbiBvZiB0aGlzLl9zdWJTZWN0aW9ucykge1xuICAgICAgICBhY3Rpb25BcnJheSA9IGFjdGlvbkFycmF5LmNvbmNhdChzdWJTZWN0aW9uLmdldEFjdGlvbk5hbWVzKCkpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gYWN0aW9uQXJyYXk7XG4gIH1cblxuICBnZXRGaWVsZE5hbWVzKCkge1xuICAgIGxldCBmaWVsZHNBcnJheTogc3RyaW5nW10gPSBbXTtcbiAgICBpZiAodGhpcy5fc3ViU2VjdGlvbnMgJiYgdGhpcy5fc3ViU2VjdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgZm9yIChjb25zdCBzdWJTZWN0aW9uIG9mIHRoaXMuX3N1YlNlY3Rpb25zKSB7XG4gICAgICAgIGZpZWxkc0FycmF5ID0gZmllbGRzQXJyYXkuY29uY2F0KHN1YlNlY3Rpb24uZ2V0RmllbGROYW1lcygpKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZpZWxkc0FycmF5O1xuICB9XG5cbiAgZ2V0RmllbGQobmFtZSkge1xuICAgIGxldCBmaWVsZCA9IG51bGw7XG4gICAgaWYgKHRoaXMuX3N1YlNlY3Rpb25zICYmIHRoaXMuX3N1YlNlY3Rpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgIGZvciAoY29uc3Qgc3ViU2VjdGlvbiBvZiB0aGlzLl9zdWJTZWN0aW9ucykge1xuICAgICAgICBmaWVsZCA9IHN1YlNlY3Rpb24uZ2V0RmllbGQobmFtZSk7XG4gICAgICAgIGlmIChmaWVsZCkge1xuICAgICAgICAgIHJldHVybiBmaWVsZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIG92ZXJyaWRlIGZvcm1TdGF0ZUNoYW5nZUN1c3RvbVN1YnNjcmliZShmb3JtLCBmb3JtQ2hhbmdlU3ViamVjdCkge1xuICAgIHRoaXMuX3N1YlNlY3Rpb25zPy5mb3JFYWNoKHN1YnNlY3Rpb24gPT4ge1xuICAgICAgc3Vic2VjdGlvbj8uY29ubmVjdFdpdGhQYXJlbnRGb3JtKGZvcm0sIGZvcm1DaGFuZ2VTdWJqZWN0KTtcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -0,0 +1,99 @@
1
+ import { FormPiecePropagate } from './piece-propagate';
2
+ import { elementTypes } 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
+ this.propagationCustomAttributes = this._formConfig?.propagationCustomAttributes?.subsections ?? [];
17
+ if (!subsectionReceived) {
18
+ return;
19
+ }
20
+ this._subsectionId = (subsectionReceived.subsectionId) ? subsectionReceived.subsectionId.toString() : '';
21
+ this._subsectionCode = (subsectionReceived.subsectionCode) ? subsectionReceived.subsectionCode : '';
22
+ this._subsectionTitle = (subsectionReceived.subsectionTitle) ? subsectionReceived.subsectionTitle : '';
23
+ if (subsectionReceived.elements) {
24
+ for (const receivedElement of subsectionReceived.elements) {
25
+ let elementObject = null;
26
+ let arrayToAdd = [];
27
+ const { type, code } = receivedElement;
28
+ switch (type) {
29
+ case elementTypes.field:
30
+ elementObject = formObject.getField(code);
31
+ arrayToAdd = this._subSectionFields;
32
+ break;
33
+ case elementTypes.table:
34
+ elementObject = formObject.getTable(code);
35
+ arrayToAdd = this._subSectionTables;
36
+ break;
37
+ case elementTypes.action:
38
+ elementObject = formObject.getAction(code);
39
+ arrayToAdd = this._subSectionActions;
40
+ break;
41
+ }
42
+ if (elementObject) {
43
+ elementObject.elementType = type;
44
+ arrayToAdd.push(elementObject);
45
+ this._subSectionElements.push(elementObject);
46
+ this._elementsArray[code] = elementObject;
47
+ }
48
+ }
49
+ }
50
+ }
51
+ get customRender() { return this._customRender; }
52
+ set customRender(customRenderName) { this._customRender = customRenderName; }
53
+ get subsectionId() { return this._subsectionId; }
54
+ get subsectionCode() { return this._subsectionCode; }
55
+ get subsectionTitle() { return this._subsectionTitle; }
56
+ get subSectionElements() { return this._subSectionElements; }
57
+ get subSectionFields() { return this._subSectionFields; }
58
+ get subSectionTables() { return this._subSectionTables; }
59
+ get subSectionActions() { return this._subSectionActions; }
60
+ get elementsArray() { return this._elementsArray; }
61
+ get active() { return this._active; }
62
+ set subsectionId(subsectionId) { this._subsectionId = subsectionId; }
63
+ set subsectionCode(subsectionCode) { this._subsectionCode = subsectionCode; }
64
+ set subsectionTitle(subsectionTitle) { this._subsectionTitle = subsectionTitle; }
65
+ set subSectionElements(subSectionElements) { this._subSectionElements = subSectionElements; }
66
+ set subSectionFields(subSectionFields) { this._subSectionFields = subSectionFields; }
67
+ set subSectionTables(subSectionTables) { this._subSectionTables = subSectionTables; }
68
+ set subSectionActions(subSectionActions) { this._subSectionActions = subSectionActions; }
69
+ set elementsArray(elementsArray) { this._elementsArray = elementsArray; }
70
+ set active(active) { this._active = active; }
71
+ getField(name) {
72
+ return this._subSectionFields.find(fld => fld.name === name);
73
+ }
74
+ getFields() {
75
+ return this._subSectionFields;
76
+ }
77
+ getFieldNames() {
78
+ return this._subSectionFields.map(field => field.code);
79
+ }
80
+ getActions() {
81
+ return this._subSectionActions;
82
+ }
83
+ getActionNames() {
84
+ return this._subSectionActions.map(action => action.actionCode);
85
+ }
86
+ activate() {
87
+ if (!this._active) {
88
+ this._active = true;
89
+ // this.subsectionCode && this._activation.next(this.subsectionCode);
90
+ }
91
+ }
92
+ inactivate() {
93
+ if (this._active) {
94
+ this._active = false;
95
+ // this.subsectionCode && this._inactivation.next(this.subsectionCode);
96
+ }
97
+ }
98
+ }
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2VjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1YWluLW5nLWZvcm1zLWxpYi9zcmMvbGliL2NsYXNzZXMvZm9ybXMvc3Vic2VjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUV2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFaEQsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGtCQUFrQjtJQUNsRCxhQUFhLEdBQWtCLElBQUksQ0FBQztJQUNwQyxhQUFhLEdBQWtCLElBQUksQ0FBQztJQUNwQyxlQUFlLEdBQWtCLElBQUksQ0FBQztJQUN0QyxnQkFBZ0IsR0FBa0IsSUFBSSxDQUFDO0lBQ3ZDLG1CQUFtQixHQUFVLEVBQUUsQ0FBQztJQUNoQyxpQkFBaUIsR0FBVSxFQUFFLENBQUM7SUFDOUIsaUJBQWlCLEdBQVUsRUFBRSxDQUFDO0lBQzlCLGtCQUFrQixHQUFVLEVBQUUsQ0FBQztJQUMvQixjQUFjLEdBQVEsRUFBRSxDQUFDO0lBQ3pCLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFFeEIsWUFBWSxrQkFBa0IsRUFBRSxVQUFVLEVBQUUsVUFBVTtRQUNwRCxLQUFLLENBQUMsa0JBQWtCLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLDJCQUEyQixHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsMkJBQTJCLEVBQUUsV0FBVyxJQUFJLEVBQUUsQ0FBQztRQUNwRyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUFDLE9BQU87UUFBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFF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QyxJQUFJLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDO0lBQ2pDLENBQUM7SUFFRCxjQUFjO1FBQ1osT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztZQUNwQixxRUFBcUU7UUFDdkUsQ0FBQztJQUNILENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDckIsdUVBQXVFO1FBQ3pFLENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtUGllY2VQcm9wYWdhdGUgfSBmcm9tICcuL3BpZWNlLXByb3BhZ2F0ZSc7XG5pbXBvcnQgeyBGb3JtQWN0aW9uIH0gZnJvbSAnLi9hY3Rpb24nO1xuaW1wb3J0IHsgZWxlbWVudFR5cGVzIH0gZnJvbSAnLi9mb3JtLmNvbnN0YW50cyc7XG5cbmV4cG9ydCBjbGFzcyBSZWNvcmRGb3JtU3ViU2VjdGlvbiBleHRlbmRzIEZvcm1QaWVjZVByb3BhZ2F0ZSB7XG4gIHByaXZhdGUgX2N1c3RvbVJlbmRlcjogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgX3N1YnNlY3Rpb25JZDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgX3N1YnNlY3Rpb25Db2RlOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfc3Vic2VjdGlvblRpdGxlOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfc3ViU2VjdGlvbkVsZW1lbnRzOiBhbnlbXSA9IFtdO1xuICBwcml2YXRlIF9zdWJTZWN0aW9uRmllbGRzOiBhbnlbXSA9IFtdO1xuICBwcml2YXRlIF9zdWJTZWN0aW9uVGFibGVzOiBhbnlbXSA9IFtdO1xuICBwcml2YXRlIF9zdWJTZWN0aW9uQWN0aW9uczogYW55W10gPSBbXTtcbiAgcHJpdmF0ZSBfZWxlbWVudHNBcnJheTogYW55ID0ge307XG4gIHByaXZhdGUgX2FjdGl2ZSA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHN1YnNlY3Rpb25SZWNlaXZlZCwgZm9ybU9iamVjdCwgZm9ybUNvbmZpZykge1xuICAgIHN1cGVyKHN1YnNlY3Rpb25SZWNlaXZlZCwgZm9ybUNvbmZpZyk7XG4gICAgdGhpcy5wcm9wYWdhdGlvbkN1c3RvbUF0dHJpYnV0ZXMgPSB0aGlzLl9mb3JtQ29uZmlnPy5wcm9wYWdhdGlvbkN1c3RvbUF0dHJpYnV0ZXM/LnN1YnNlY3Rpb25zID8/IFtdO1xuICAgIGlmICghc3Vic2VjdGlvblJlY2VpdmVkKSB7IHJldHVybjsgfVxuICAgIHRoaXMuX3N1YnNlY3Rpb25JZCA9IChzdWJzZWN0aW9uUmVjZWl2ZWQuc3Vic2VjdGlvbklkKSA/IHN1YnNlY3Rpb25SZWNlaXZlZC5zdWJzZWN0aW9uSWQudG9TdHJpbmcoKSA6ICcnO1xuICAgIHRoaXMuX3N1YnNlY3Rpb25Db2RlID0gKHN1YnNlY3Rpb25SZWNlaXZlZC5zdWJzZWN0aW9uQ29kZSkgPyBzdWJzZWN0aW9uUmVjZWl2ZWQuc3Vic2VjdGlvbkNvZGUgOiAnJztcbiAgICB0aGlzLl9zdWJzZWN0aW9uVGl0bGUgPSAoc3Vic2VjdGlvblJlY2VpdmVkLnN1YnNlY3Rpb25UaXRsZSkgPyBzdWJzZWN0aW9uUmVjZWl2ZWQuc3Vic2VjdGlvblRpdGxlIDogJyc7XG4gICAgaWYgKHN1YnNlY3Rpb25SZWNlaXZlZC5lbGVtZW50cykge1xuICAgICAgZm9yIChjb25zdCByZWNlaXZlZEVsZW1lbnQgb2Ygc3Vic2VjdGlvblJlY2VpdmVkLmVsZW1lbnRzKSB7XG4gICAgICAgIGxldCBlbGVtZW50T2JqZWN0OiBhbnkgPSBudWxsO1xuICAgICAgICBsZXQgYXJyYXlUb0FkZDogYW55W10gPSBbXTtcbiAgICAgICAgY29uc3QgeyB0eXBlLCBjb2RlIH0gPSByZWNlaXZlZEVsZW1lbnQ7XG4gICAgICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgICAgIGNhc2UgZWxlbWVudFR5cGVzLmZpZWxkOlxuICAgICAgICAgICAgZWxlbWVudE9iamVjdCA9IGZvcm1PYmplY3QuZ2V0RmllbGQoY29kZSk7XG4gICAgICAgICAgICBhcnJheVRvQWRkID0gdGhpcy5fc3ViU2VjdGlvbkZpZWxkcztcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgZWxlbWVudFR5cGVzLnRhYmxlOlxuICAgICAgICAgICAgZWxlbWVudE9iamVjdCA9IGZvcm1PYmplY3QuZ2V0VGFibGUoY29kZSk7XG4gICAgICAgICAgICBhcnJheVRvQWRkID0gdGhpcy5fc3ViU2VjdGlvblRhYmxlcztcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgZWxlbWVudFR5cGVzLmFjdGlvbjpcbiAgICAgICAgICAgIGVsZW1lbnRPYmplY3QgPSBmb3JtT2JqZWN0LmdldEFjdGlvbihjb2RlKTtcbiAgICAgICAgICAgIGFycmF5VG9BZGQgPSB0aGlzLl9zdWJTZWN0aW9uQWN0aW9ucztcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGlmIChlbGVtZW50T2JqZWN0KSB7XG4gICAgICAgICAgZWxlbWVudE9iamVjdC5lbGVtZW50VHlwZSA9IHR5cGU7XG4gICAgICAgICAgYXJyYXlUb0FkZC5wdXNoKGVsZW1lbnRPYmplY3QpO1xuICAgICAgICAgIHRoaXMuX3N1YlNlY3Rpb25FbGVtZW50cy5wdXNoKGVsZW1lbnRPYmplY3QpO1xuICAgICAgICAgIHRoaXMuX2VsZW1lbnRzQXJyYXlbY29kZV0gPSBlbGVtZW50T2JqZWN0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZ2V0IGN1c3RvbVJlbmRlcigpIHsgcmV0dXJuIHRoaXMuX2N1c3RvbVJlbmRlcjsgfVxuICBzZXQgY3VzdG9tUmVuZGVyKGN1c3RvbVJlbmRlck5hbWUpIHsgdGhpcy5fY3VzdG9tUmVuZGVyID0gY3VzdG9tUmVuZGVyTmFtZTsgfVxuXG4gIGdldCBzdWJzZWN0aW9uSWQoKSB7IHJldHVybiB0aGlzLl9zdWJzZWN0aW9uSWQ7IH1cbiAgZ2V0IHN1YnNlY3Rpb25Db2RlKCkgeyByZXR1cm4gdGhpcy5fc3Vic2VjdGlvbkNvZGU7IH1cbiAgZ2V0IHN1YnNlY3Rpb25UaXRsZSgpIHsgcmV0dXJuIHRoaXMuX3N1YnNlY3Rpb25UaXRsZTsgfVxuICBnZXQgc3ViU2VjdGlvbkVsZW1lbnRzKCkgeyByZXR1cm4gdGhpcy5fc3ViU2VjdGlvbkVsZW1lbnRzOyB9XG4gIGdldCBzdWJTZWN0aW9uRmllbGRzKCkgeyByZXR1cm4gdGhpcy5fc3ViU2VjdGlvbkZpZWxkczsgfVxuICBnZXQgc3ViU2VjdGlvblRhYmxlcygpIHsgcmV0dXJuIHRoaXMuX3N1YlNlY3Rpb25UYWJsZXM7IH1cbiAgZ2V0IHN1YlNlY3Rpb25BY3Rpb25zKCkgeyByZXR1cm4gdGhpcy5fc3ViU2VjdGlvbkFjdGlvbnM7IH1cbiAgZ2V0IGVsZW1lbnRzQXJyYXkoKSB7IHJldHVybiB0aGlzLl9lbGVtZW50c0FycmF5OyB9XG4gIGdldCBhY3RpdmUoKSB7IHJldHVybiB0aGlzLl9hY3RpdmU7IH1cblxuICBzZXQgc3Vic2VjdGlvbklkKHN1YnNlY3Rpb25JZCkgeyB0aGlzLl9zdWJzZWN0aW9uSWQgPSBzdWJzZWN0aW9uSWQ7IH1cbiAgc2V0IHN1YnNlY3Rpb25Db2RlKHN1YnNlY3Rpb25Db2RlKSB7IHRoaXMuX3N1YnNlY3Rpb25Db2RlID0gc3Vic2VjdGlvbkNvZGU7IH1cbiAgc2V0IHN1YnNlY3Rpb25UaXRsZShzdWJzZWN0aW9uVGl0bGUpIHsgdGhpcy5fc3Vic2VjdGlvblRpdGxlID0gc3Vic2VjdGlvblRpdGxlOyB9XG4gIHNldCBzdWJTZWN0aW9uRWxlbWVudHMoc3ViU2VjdGlvbkVsZW1lbnRzKSB7IHRoaXMuX3N1YlNlY3Rpb25FbGVtZW50cyA9IHN1YlNlY3Rpb25FbGVtZW50czsgfVxuICBzZXQgc3ViU2VjdGlvbkZpZWxkcyhzdWJTZWN0aW9uRmllbGRzKSB7IHRoaXMuX3N1YlNlY3Rpb25GaWVsZHMgPSBzdWJTZWN0aW9uRmllbGRzOyB9XG4gIHNldCBzdWJTZWN0aW9uVGFibGVzKHN1YlNlY3Rpb25UYWJsZXMpIHsgdGhpcy5fc3ViU2VjdGlvblRhYmxlcyA9IHN1YlNlY3Rpb25UYWJsZXM7IH1cbiAgc2V0IHN1YlNlY3Rpb25BY3Rpb25zKHN1YlNlY3Rpb25BY3Rpb25zKSB7IHRoaXMuX3N1YlNlY3Rpb25BY3Rpb25zID0gc3ViU2VjdGlvbkFjdGlvbnM7IH1cbiAgc2V0IGVsZW1lbnRzQXJyYXkoZWxlbWVudHNBcnJheSkgeyB0aGlzLl9lbGVtZW50c0FycmF5ID0gZWxlbWVudHNBcnJheTsgfVxuICBzZXQgYWN0aXZlKGFjdGl2ZSkgeyB0aGlzLl9hY3RpdmUgPSBhY3RpdmU7IH1cblxuICBnZXRGaWVsZChuYW1lKSB7XG4gICAgcmV0dXJuIHRoaXMuX3N1YlNlY3Rpb25GaWVsZHMuZmluZChmbGQgPT4gZmxkLm5hbWUgPT09IG5hbWUpO1xuICB9XG5cbiAgZ2V0RmllbGRzKCkge1xuICAgIHJldHVybiB0aGlzLl9zdWJTZWN0aW9uRmllbGRzO1xuICB9XG5cbiAgZ2V0RmllbGROYW1lcygpIHtcbiAgICByZXR1cm4gdGhpcy5fc3ViU2VjdGlvbkZpZWxkcy5tYXAoZmllbGQgPT4gZmllbGQuY29kZSk7XG4gIH1cblxuICBnZXRBY3Rpb25zKCk6IEZvcm1BY3Rpb25bXSB7XG4gICAgcmV0dXJuIHRoaXMuX3N1YlNlY3Rpb25BY3Rpb25zO1xuICB9XG5cbiAgZ2V0QWN0aW9uTmFtZXMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLl9zdWJTZWN0aW9uQWN0aW9ucy5tYXAoYWN0aW9uID0+IGFjdGlvbi5hY3Rpb25Db2RlKTtcbiAgfVxuXG4gIGFjdGl2YXRlKCkge1xuICAgIGlmICghdGhpcy5fYWN0aXZlKSB7XG4gICAgICB0aGlzLl9hY3RpdmUgPSB0cnVlO1xuICAgICAgLy8gdGhpcy5zdWJzZWN0aW9uQ29kZSAmJiB0aGlzLl9hY3RpdmF0aW9uLm5leHQodGhpcy5zdWJzZWN0aW9uQ29kZSk7XG4gICAgfVxuICB9XG5cbiAgaW5hY3RpdmF0ZSgpIHtcbiAgICBpZiAodGhpcy5fYWN0aXZlKSB7XG4gICAgICB0aGlzLl9hY3RpdmUgPSBmYWxzZTtcbiAgICAgIC8vIHRoaXMuc3Vic2VjdGlvbkNvZGUgJiYgdGhpcy5faW5hY3RpdmF0aW9uLm5leHQodGhpcy5zdWJzZWN0aW9uQ29kZSk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,38 @@
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 || this.actionCode;
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
+ formStateChange(state) {
31
+ if (state) {
32
+ this._formState = state;
33
+ this._visible = this._absoluteVisible && this.viewOnState(state);
34
+ this._disabled = this._absoluteDisabled || !this.enabledOnState(state);
35
+ }
36
+ }
37
+ }
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVhaW4tbmctZm9ybXMtbGliL3NyYy9saWIvY2xhc3Nlcy9mb3Jtcy90YWJsZS9hY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNyQyxNQUFNLE9BQU8sV0FBWSxTQUFRLFNBQVM7SUFDeEMsVUFBVSxDQUFTO0lBQ25CLFdBQVcsQ0FBUztJQUNwQixRQUFRLENBQVM7SUFDakIsVUFBVSxDQUFTO0lBQ25CLFdBQVcsQ0FBUztJQUNwQixVQUFVLENBQVM7SUFDbkIsUUFBUSxDQUFTO0lBQ2pCLE9BQU8sQ0FBVTtJQUVqQixpQkFBaUIsR0FBa0IsSUFBSSxDQUFDO0lBQ3hDLGlCQUFpQixHQUFrQixJQUFJLENBQUM7SUFDeEMsb0JBQW9CLEdBQWtCLElBQUksQ0FBQztJQUUzQyxZQUFZLGdCQUFnQixFQUFFLFVBQVU7UUFDdEMsS0FBSyxDQUFDLGdCQUFnQixFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRXBDLElBQUksQ0FBQyxVQUFVLEdBQUcsZ0JBQWdCLENBQUMsVUFBVSxDQUFDO1FBQzlDLElBQUksQ0FBQyxXQUFXLEdBQUcsZ0JBQWdCLENBQUMsV0FBVyxDQUFDO1FBQ2hELElBQUksQ0FBQyxRQUFRLEdBQUcsZ0JBQWdCLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDN0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxnQkFBZ0IsQ0FBQyxVQUFVLElBQUksVUFBVSxDQUFDO1FBQzVELElBQUksQ0FBQyxXQUFXLEdBQUcsZ0JBQWdCLENBQUMsV0FBVyxJQUFJLFFBQVEsQ0FBQztRQUM1RCxJQUFJLENBQUMsUUFBUSxHQUFHLGdCQUFnQixDQUFDLFFBQVEsQ0FBQztRQUMxQyxJQUFJLENBQUMsVUFBVSxHQUFHLGdCQUFnQixDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUM7UUFDcEQsSUFBSSxDQUFDLE9BQU8sR0FBRyxnQkFBZ0IsRUFBRSxZQUFZLElBQUksS0FBSyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxnQkFBZ0IsQ0FBQyxtQkFBbUIsSUFBSSxJQUFJLENBQUM7UUFDdEUsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsZ0JBQWdCLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQztZQUNsRSxJQUFJLENBQUMsb0JBQW9CLEdBQUcsZ0JBQWdCLENBQUMsa0JBQWtCLElBQUksSUFBSSxDQUFDO1FBQzFFLENBQUM7SUFDSCxDQUFDO0lBRVEsZUFBZSxDQUFDLEtBQUs7UUFDNUIsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1lBQ3hCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDakUsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pFLENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtUGllY2UgfSBmcm9tICcuLi9waWVjZSc7XG5leHBvcnQgY2xhc3MgVGFibGVBY3Rpb24gZXh0ZW5kcyBGb3JtUGllY2Uge1xuICBhY3Rpb25Db2RlOiBzdHJpbmc7XG4gIGFjdGlvblRpdGxlOiBzdHJpbmc7XG4gIGljb25OYW1lOiBzdHJpbmc7XG4gIGFjdGlvblR5cGU6IHN0cmluZztcbiAgYWN0aW9uQ2xhc3M6IHN0cmluZztcbiAgc3RhdGVGaWVsZDogc3RyaW5nO1xuICBuZXdTdGF0ZTogc3RyaW5nO1xuICBiYWNrZW5kOiBib29sZWFuO1xuXG4gIHJlc3RyaWN0ZWRPbkZpZWxkOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgcmVzdHJpY3RlZE9uVmFsdWU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICByZXN0cmljdGVkT25PcGVyYXRvcjogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IoYWN0aW9uRGVmaW5pdGlvbiwgZm9ybUNvbmZpZykge1xuICAgIHN1cGVyKGFjdGlvbkRlZmluaXRpb24sIGZvcm1Db25maWcpO1xuXG4gICAgdGhpcy5hY3Rpb25Db2RlID0gYWN0aW9uRGVmaW5pdGlvbi5hY3Rpb25Db2RlO1xuICAgIHRoaXMuYWN0aW9uVGl0bGUgPSBhY3Rpb25EZWZpbml0aW9uLmFjdGlvblRpdGxlO1xuICAgIHRoaXMuaWNvbk5hbWUgPSBhY3Rpb25EZWZpbml0aW9uLmljb25OYW1lIHx8IHRoaXMuYWN0aW9uQ29kZTtcbiAgICB0aGlzLmFjdGlvblR5cGUgPSBhY3Rpb25EZWZpbml0aW9uLmFjdGlvblR5cGUgfHwgJ1NUQU5EQVJEJztcbiAgICB0aGlzLmFjdGlvbkNsYXNzID0gYWN0aW9uRGVmaW5pdGlvbi5hY3Rpb25DbGFzcyB8fCAnSU5MSU5FJztcbiAgICB0aGlzLm5ld1N0YXRlID0gYWN0aW9uRGVmaW5pdGlvbi5uZXdTdGF0ZTtcbiAgICB0aGlzLnN0YXRlRmllbGQgPSBhY3Rpb25EZWZpbml0aW9uLnN0YXRlRmllbGQgfHwgJyc7XG4gICAgdGhpcy5iYWNrZW5kID0gYWN0aW9uRGVmaW5pdGlvbj8uc2VydmVyQWN0aW9uID8/IGZhbHNlO1xuICAgIHRoaXMucmVzdHJpY3RlZE9uRmllbGQgPSBhY3Rpb25EZWZpbml0aW9uLmZpZWxkUmVzdHJpY3RlZENvZGUgPz8gbnVsbDtcbiAgICBpZiAodGhpcy5yZXN0cmljdGVkT25GaWVsZCkge1xuICAgICAgdGhpcy5yZXN0cmljdGVkT25WYWx1ZSA9IGFjdGlvbkRlZmluaXRpb24udmFsdWVSZXN0cmljdGVkID8/IG51bGw7XG4gICAgICB0aGlzLnJlc3RyaWN0ZWRPbk9wZXJhdG9yID0gYWN0aW9uRGVmaW5pdGlvbi5vcGVyYXRvclJlc3RyaWN0ZWQgfHwgbnVsbDtcbiAgICB9XG4gIH1cblxuICBvdmVycmlkZSBmb3JtU3RhdGVDaGFuZ2Uoc3RhdGUpIHtcbiAgICBpZiAoc3RhdGUpIHtcbiAgICAgIHRoaXMuX2Zvcm1TdGF0ZSA9IHN0YXRlO1xuICAgICAgdGhpcy5fdmlzaWJsZSA9IHRoaXMuX2Fic29sdXRlVmlzaWJsZSAmJiB0aGlzLnZpZXdPblN0YXRlKHN0YXRlKTtcbiAgICAgIHRoaXMuX2Rpc2FibGVkID0gdGhpcy5fYWJzb2x1dGVEaXNhYmxlZCB8fCAhdGhpcy5lbmFibGVkT25TdGF0ZShzdGF0ZSk7XG4gICAgfVxuICB9XG59XG4iXX0=