tuain-ng-forms-lib 14.4.93 → 14.4.96
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/classes/forms/action.mjs +36 -0
- package/esm2020/lib/classes/forms/element.mjs +26 -0
- package/esm2020/lib/classes/forms/field.mjs +445 -0
- package/esm2020/lib/classes/forms/form.constants.mjs +26 -0
- package/esm2020/lib/classes/forms/form.mjs +431 -0
- package/esm2020/lib/classes/forms/piece-propagate.mjs +37 -0
- package/esm2020/lib/classes/forms/piece.mjs +95 -0
- package/esm2020/lib/classes/forms/section.mjs +138 -0
- package/esm2020/lib/classes/forms/subsection.mjs +81 -0
- package/esm2020/lib/classes/forms/table/action.mjs +18 -0
- package/esm2020/lib/classes/forms/table/column.mjs +74 -0
- package/esm2020/lib/classes/forms/table/row-data.mjs +116 -0
- package/esm2020/lib/classes/forms/table/table.mjs +416 -0
- package/esm2020/lib/components/elements/action.component.mjs +71 -0
- package/esm2020/lib/components/elements/field.component.mjs +81 -0
- package/esm2020/lib/components/elements/layout/element.component.mjs +20 -0
- package/esm2020/lib/components/elements/layout/form-error.component.mjs +20 -0
- package/esm2020/lib/components/elements/layout/form-header.component.mjs +31 -0
- package/esm2020/lib/components/elements/layout/piece.component.mjs +39 -0
- package/esm2020/lib/components/elements/layout/section.component.mjs +37 -0
- package/esm2020/lib/components/elements/layout/sub-section.component.mjs +37 -0
- package/esm2020/lib/components/elements/tables/table-record-action.component.mjs +56 -0
- package/esm2020/lib/components/elements/tables/table-record-field.component.mjs +30 -0
- package/esm2020/lib/components/elements/tables/table.component.mjs +89 -0
- package/esm2020/lib/components/forms/basic-form.mjs +1530 -0
- package/esm2020/lib/services/event-manager.service.mjs +18 -0
- package/esm2020/lib/services/file-manager.service.mjs +6 -0
- package/esm2020/lib/services/form-manager.service.mjs +80 -0
- package/esm2020/lib/tuain-ng-forms-lib.module.mjs +71 -0
- package/esm2020/public-api.mjs +19 -0
- package/esm2020/tuain-ng-forms-lib.mjs +5 -0
- package/fesm2015/tuain-ng-forms-lib.mjs +4276 -0
- package/fesm2015/tuain-ng-forms-lib.mjs.map +1 -0
- package/fesm2020/tuain-ng-forms-lib.mjs +4090 -0
- package/fesm2020/tuain-ng-forms-lib.mjs.map +1 -0
- package/lib/classes/forms/action.d.ts +22 -0
- package/lib/classes/forms/element.d.ts +17 -0
- package/lib/classes/forms/field.d.ts +205 -0
- package/lib/classes/forms/form.constants.d.ts +25 -0
- package/lib/classes/forms/form.d.ts +137 -0
- package/lib/classes/forms/piece-propagate.d.ts +13 -0
- package/lib/classes/forms/piece.d.ts +41 -0
- package/lib/classes/forms/section.d.ts +32 -0
- package/lib/classes/forms/subsection.d.ts +24 -0
- package/lib/classes/forms/table/action.d.ts +15 -0
- package/lib/classes/forms/table/column.d.ts +33 -0
- package/lib/classes/forms/table/row-data.d.ts +14 -0
- package/lib/classes/forms/table/table.d.ts +100 -0
- package/lib/components/elements/action.component.d.ts +17 -0
- package/lib/components/elements/field.component.d.ts +38 -0
- package/lib/components/elements/layout/element.component.d.ts +9 -0
- package/lib/components/elements/layout/form-error.component.d.ts +8 -0
- package/lib/components/elements/layout/form-header.component.d.ts +12 -0
- package/lib/components/elements/layout/piece.component.d.ts +12 -0
- package/lib/components/elements/layout/section.component.d.ts +11 -0
- package/lib/components/elements/layout/sub-section.component.d.ts +11 -0
- package/lib/components/elements/tables/table-record-action.component.d.ts +16 -0
- package/lib/components/elements/tables/table-record-field.component.d.ts +12 -0
- package/lib/components/elements/tables/table.component.d.ts +35 -0
- package/lib/components/forms/basic-form.d.ts +355 -0
- package/lib/services/event-manager.service.d.ts +9 -0
- package/lib/services/file-manager.service.d.ts +5 -0
- package/lib/services/form-manager.service.d.ts +28 -0
- package/lib/tuain-ng-forms-lib.module.d.ts +20 -0
- package/package.json +24 -6
- package/{src/public-api.ts → public-api.d.ts} +0 -5
- package/tuain-ng-forms-lib.d.ts +5 -0
- package/.browserslistrc +0 -16
- package/.yarn/cache/nanoid-npm-4.0.0-924f5c6312-7d5946df5c.zip +0 -0
- package/.yarn/cache/tslib-npm-2.4.1-36f0ed04db-19480d6e03.zip +0 -0
- package/.yarn/cache/yn-npm-5.0.0-b001dab23c-f0ec7710d3.zip +0 -0
- package/.yarn/install-state.gz +0 -0
- package/karma.conf.js +0 -44
- package/ng-package.json +0 -11
- package/src/lib/classes/forms/action.ts +0 -56
- package/src/lib/classes/forms/element.ts +0 -29
- package/src/lib/classes/forms/field.ts +0 -500
- package/src/lib/classes/forms/form.constants.ts +0 -28
- package/src/lib/classes/forms/form.ts +0 -508
- package/src/lib/classes/forms/piece-propagate.ts +0 -46
- package/src/lib/classes/forms/piece.ts +0 -122
- package/src/lib/classes/forms/section.ts +0 -152
- package/src/lib/classes/forms/subsection.ts +0 -90
- package/src/lib/classes/forms/table/action.ts +0 -32
- package/src/lib/classes/forms/table/column.ts +0 -94
- package/src/lib/classes/forms/table/row-data.ts +0 -121
- package/src/lib/classes/forms/table/table.ts +0 -478
- package/src/lib/components/elements/action.component.ts +0 -59
- package/src/lib/components/elements/field.component.ts +0 -92
- package/src/lib/components/elements/layout/element.component.ts +0 -13
- package/src/lib/components/elements/layout/form-error.component.ts +0 -11
- package/src/lib/components/elements/layout/form-header.component.ts +0 -17
- package/src/lib/components/elements/layout/piece.component.ts +0 -34
- package/src/lib/components/elements/layout/section.component.ts +0 -31
- package/src/lib/components/elements/layout/sub-section.component.ts +0 -31
- package/src/lib/components/elements/tables/table-record-action.component.ts +0 -50
- package/src/lib/components/elements/tables/table-record-field.component.ts +0 -20
- package/src/lib/components/elements/tables/table.component.ts +0 -86
- package/src/lib/components/forms/basic-form.ts +0 -1588
- package/src/lib/services/event-manager.service.ts +0 -21
- package/src/lib/services/file-manager.service.ts +0 -6
- package/src/lib/services/form-manager.service.ts +0 -89
- package/src/lib/services/icon-dictionary.service.ts +0 -159
- package/src/lib/tuain-ng-forms-lib.module.ts +0 -40
- package/src/test.ts +0 -27
- package/tsconfig.lib.json +0 -15
- package/tsconfig.lib.prod.json +0 -10
- package/tsconfig.spec.json +0 -17
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
export class FormPiece {
|
|
2
|
+
constructor(pieceDefinition, formConfig) {
|
|
3
|
+
this._formState = '';
|
|
4
|
+
this._absoluteVisible = true;
|
|
5
|
+
this._absoluteDisabled = false;
|
|
6
|
+
this.visibleStates = null;
|
|
7
|
+
this.enabledStates = null;
|
|
8
|
+
this._visible = true;
|
|
9
|
+
this._disabled = false;
|
|
10
|
+
this.customAttributes = {};
|
|
11
|
+
this._formConfig = formConfig;
|
|
12
|
+
this._isForced = false;
|
|
13
|
+
this._visibleForced = false;
|
|
14
|
+
this.setVisibleStates(pieceDefinition.visibleStates);
|
|
15
|
+
this.setEnabledStates(pieceDefinition.enabledStates);
|
|
16
|
+
this.enabled = !pieceDefinition?.disabled ?? false;
|
|
17
|
+
this.setVisibility(pieceDefinition?.visible ?? true);
|
|
18
|
+
this.customAttributes = pieceDefinition?.customAttributes ?? {};
|
|
19
|
+
if (pieceDefinition?.customAttributes) {
|
|
20
|
+
Object.keys(pieceDefinition?.customAttributes)
|
|
21
|
+
?.forEach(attr => this.customAttributes[attr] = pieceDefinition?.customAttributes[attr]);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
getCustomAttribute(name) { return this.customAttributes?.[name] ?? null; }
|
|
25
|
+
setCustomAttribute(name, value) { if (name) {
|
|
26
|
+
this.customAttributes[name] = value;
|
|
27
|
+
} }
|
|
28
|
+
setCustomAttributes(attributes) {
|
|
29
|
+
Object.entries(attributes).forEach(([name, value]) => {
|
|
30
|
+
this.setCustomAttribute(name, value);
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
matchAttribute(name, value) { return this.customAttributes?.[name] === value; }
|
|
34
|
+
setVisibleStates(newStates) {
|
|
35
|
+
const visibleStates = (!Array.isArray(newStates) && typeof newStates === 'string')
|
|
36
|
+
? newStates.split(',').map(state => state.trim()).filter(state => state.length > 0)
|
|
37
|
+
: newStates;
|
|
38
|
+
this.visibleStates = (Array.isArray(visibleStates)) ? visibleStates : [];
|
|
39
|
+
}
|
|
40
|
+
setEnabledStates(newStates) {
|
|
41
|
+
const enabledStates = (!Array.isArray(newStates) && typeof newStates === 'string')
|
|
42
|
+
? newStates.split(',').map(state => state.trim()).filter(state => state.length > 0)
|
|
43
|
+
: newStates;
|
|
44
|
+
this.enabledStates = (Array.isArray(enabledStates)) ? enabledStates : [];
|
|
45
|
+
}
|
|
46
|
+
viewOnState(state) { return (this.visibleStates && state) ? this.visibleStates.includes(state) : false; }
|
|
47
|
+
enabledOnState(state) { return (this.enabledStates && state) ? this.enabledStates.includes(state) : false; }
|
|
48
|
+
get absoluteVisible() { return this._absoluteVisible; }
|
|
49
|
+
get absoluteDisabled() { return this._absoluteDisabled; }
|
|
50
|
+
get visible() { return this._visible; }
|
|
51
|
+
set visible(visible) { this.setVisibility(visible); }
|
|
52
|
+
visibleOn(state) {
|
|
53
|
+
return this._absoluteVisible && this.viewOnState(state);
|
|
54
|
+
}
|
|
55
|
+
enabledOn(state) {
|
|
56
|
+
return !this._absoluteDisabled && this.enabledOnState(state);
|
|
57
|
+
}
|
|
58
|
+
setVisibility(visible, forced = null) {
|
|
59
|
+
this._absoluteVisible = !!visible;
|
|
60
|
+
if (forced !== null) {
|
|
61
|
+
this._isForced = forced;
|
|
62
|
+
this._visibleForced = visible;
|
|
63
|
+
}
|
|
64
|
+
this._visible = this._absoluteVisible && this.viewOnState(this._formState);
|
|
65
|
+
}
|
|
66
|
+
show(forced = null) {
|
|
67
|
+
this.setVisibility(true, forced);
|
|
68
|
+
}
|
|
69
|
+
hide(forced = null) {
|
|
70
|
+
this.setVisibility(false, forced);
|
|
71
|
+
}
|
|
72
|
+
get enabled() { return !this._disabled; }
|
|
73
|
+
set enabled(enabled) {
|
|
74
|
+
this._absoluteDisabled = !enabled;
|
|
75
|
+
this._disabled = this._absoluteDisabled || !this.enabledOnState(this._formState);
|
|
76
|
+
}
|
|
77
|
+
get editable() { return !this._disabled; }
|
|
78
|
+
get disabled() { return this._disabled; }
|
|
79
|
+
set disabled(disabled) { this.enabled = !disabled; }
|
|
80
|
+
enable() { this.enabled = true; }
|
|
81
|
+
disable() { this.enabled = false; }
|
|
82
|
+
formStateChangeCustomSubscribe(formChangeSubject) { }
|
|
83
|
+
formStateChange(state) {
|
|
84
|
+
if (state) {
|
|
85
|
+
this._formState = state;
|
|
86
|
+
this._visible = this._absoluteVisible && this.viewOnState(state);
|
|
87
|
+
this._disabled = this._absoluteDisabled || !this.enabledOnState(state);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
subscribeFormStateChange(formChangeSubject) {
|
|
91
|
+
this.formStateChangeCustomSubscribe(formChangeSubject);
|
|
92
|
+
formChangeSubject.subscribe(event => this.formStateChange(event?.state));
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGllY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWFpbi1uZy1mb3Jtcy1saWIvc3JjL2xpYi9jbGFzc2VzL2Zvcm1zL3BpZWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxTQUFTO0lBZXBCLFlBQVksZUFBb0IsRUFBRSxVQUFlO1FBZHZDLGVBQVUsR0FBVyxFQUFFLENBQUM7UUFHeEIscUJBQWdCLEdBQVksSUFBSSxDQUFDO1FBQ2pDLHNCQUFpQixHQUFZLEtBQUssQ0FBQztRQUVuQyxrQkFBYSxHQUFvQixJQUFJLENBQUM7UUFDdEMsa0JBQWEsR0FBb0IsSUFBSSxDQUFDO1FBR3pDLGFBQVEsR0FBWSxJQUFJLENBQUM7UUFDekIsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUMzQixxQkFBZ0IsR0FBUSxFQUFFLENBQUM7UUFHaEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUM7UUFDOUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdkIsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7UUFDNUIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRXJELElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxlQUFlLEVBQUUsUUFBUSxJQUFJLEtBQUssQ0FBQztRQUNuRCxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsRUFBRSxPQUFPLElBQUksSUFBSSxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGVBQWUsRUFBRSxnQkFBZ0IsSUFBSSxFQUFFLENBQUM7UUFDaEUsSUFBSSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUU7WUFDckMsTUFBTSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsZ0JBQWdCLENB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RCx3QkFBd0IsQ0FBQyxpQkFBaUI7UUFDeEMsSUFBSSxDQUFDLDhCQUE4QixDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDdkQsaUJBQWlCLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUMzRSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGNsYXNzIEZvcm1QaWVjZSB7XG4gIHByb3RlY3RlZCBfZm9ybVN0YXRlOiBzdHJpbmcgPSAnJztcbiAgcHJvdGVjdGVkIF92aXNpYmxlRm9yY2VkOiBib29sZWFuO1xuICBwcm90ZWN0ZWQgX2lzRm9yY2VkOiBib29sZWFuO1xuICBwcm90ZWN0ZWQgX2Fic29sdXRlVmlzaWJsZTogYm9vbGVhbiA9IHRydWU7XG4gIHByb3RlY3RlZCBfYWJzb2x1dGVEaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHByb3RlY3RlZCB2aXNpYmxlU3RhdGVzOiBzdHJpbmdbXSB8IG51bGwgPSBudWxsO1xuICBwcm90ZWN0ZWQgZW5hYmxlZFN0YXRlczogc3RyaW5nW10gfCBudWxsID0gbnVsbDtcblxuICBwdWJsaWMgX2Zvcm1Db25maWc6IGFueTtcbiAgcHVibGljIF92aXNpYmxlOiBib29sZWFuID0gdHJ1ZTtcbiAgcHVibGljIF9kaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgY3VzdG9tQXR0cmlidXRlczogYW55ID0ge307XG5cbiAgY29uc3RydWN0b3IocGllY2VEZWZpbml0aW9uOiBhbnksIGZvcm1Db25maWc6IGFueSkge1xuICAgIHRoaXMuX2Zvcm1Db25maWcgPSBmb3JtQ29uZmlnO1xuICAgIHRoaXMuX2lzRm9yY2VkID0gZmFsc2U7XG4gICAgdGhpcy5fdmlzaWJsZUZvcmNlZCA9IGZhbHNlO1xuICAgIHRoaXMuc2V0VmlzaWJsZVN0YXRlcyhwaWVjZURlZmluaXRpb24udmlzaWJsZVN0YXRlcyk7XG4gICAgdGhpcy5zZXRFbmFibGVkU3RhdGVzKHBpZWNlRGVmaW5pdGlvbi5lbmFibGVkU3RhdGVzKTtcblxuICAgIHRoaXMuZW5hYmxlZCA9ICFwaWVjZURlZmluaXRpb24/LmRpc2FibGVkID8/IGZhbHNlO1xuICAgIHRoaXMuc2V0VmlzaWJpbGl0eShwaWVjZURlZmluaXRpb24/LnZpc2libGUgPz8gdHJ1ZSk7XG4gICAgdGhpcy5jdXN0b21BdHRyaWJ1dGVzID0gcGllY2VEZWZpbml0aW9uPy5jdXN0b21BdHRyaWJ1dGVzID8/IHt9O1xuICAgIGlmIChwaWVjZURlZmluaXRpb24/LmN1c3RvbUF0dHJpYnV0ZXMpIHtcbiAgICAgIE9iamVjdC5rZXlzKHBpZWNlRGVmaW5pdGlvbj8uY3VzdG9tQXR0cmlidXRlcylcbiAgICAgICAgPy5mb3JFYWNoKGF0dHIgPT4gdGhpcy5jdXN0b21BdHRyaWJ1dGVzW2F0dHJdID0gcGllY2VEZWZpbml0aW9uPy5jdXN0b21BdHRyaWJ1dGVzW2F0dHJdKVxuICAgIH1cbiAgfVxuXG4gIGdldEN1c3RvbUF0dHJpYnV0ZShuYW1lOiBzdHJpbmcpOiBhbnkgeyByZXR1cm4gdGhpcy5jdXN0b21BdHRyaWJ1dGVzPy5bbmFtZV0gPz8gbnVsbDsgfVxuICBzZXRDdXN0b21BdHRyaWJ1dGUobmFtZTogc3RyaW5nLCB2YWx1ZTogYW55KTogdm9pZCB7IGlmIChuYW1lKSB7IHRoaXMuY3VzdG9tQXR0cmlidXRlc1tuYW1lXSA9IHZhbHVlOyB9IH1cblxuICBzZXRDdXN0b21BdHRyaWJ1dGVzKGF0dHJpYnV0ZXM6IGFueSk6IHZvaWQge1xuICAgIE9iamVjdC5lbnRyaWVzKGF0dHJpYnV0ZXMpLmZvckVhY2goKFtuYW1lLCB2YWx1ZV0pID0+IHtcbiAgICAgIHRoaXMuc2V0Q3VzdG9tQXR0cmlidXRlKG5hbWUsIHZhbHVlKTtcbiAgICB9KTtcbiAgfVxuXG4gIG1hdGNoQXR0cmlidXRlKG5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5jdXN0b21BdHRyaWJ1dGVzPy5bbmFtZV0gPT09IHZhbHVlOyB9XG5cbiAgc2V0VmlzaWJsZVN0YXRlcyhuZXdTdGF0ZXM6IGFueSk6IHZvaWQge1xuICAgIGNvbnN0IHZpc2libGVTdGF0ZXMgPSAoIUFycmF5LmlzQXJyYXkobmV3U3RhdGVzKSAmJiB0eXBlb2YgbmV3U3RhdGVzID09PSAnc3RyaW5nJylcbiAgICAgID8gbmV3U3RhdGVzLnNwbGl0KCcsJykubWFwKHN0YXRlID0+IHN0YXRlLnRyaW0oKSkuZmlsdGVyKHN0YXRlID0+IHN0YXRlLmxlbmd0aCA+IDApXG4gICAgICA6IG5ld1N0YXRlcztcbiAgICB0aGlzLnZpc2libGVTdGF0ZXMgPSAoQXJyYXkuaXNBcnJheSh2aXNpYmxlU3RhdGVzKSkgPyB2aXNpYmxlU3RhdGVzIDogW107XG4gIH1cblxuICBzZXRFbmFibGVkU3RhdGVzKG5ld1N0YXRlczogYW55KTogdm9pZCB7XG4gICAgY29uc3QgZW5hYmxlZFN0YXRlcyA9ICghQXJyYXkuaXNBcnJheShuZXdTdGF0ZXMpICYmIHR5cGVvZiBuZXdTdGF0ZXMgPT09ICdzdHJpbmcnKVxuICAgICAgPyBuZXdTdGF0ZXMuc3BsaXQoJywnKS5tYXAoc3RhdGUgPT4gc3RhdGUudHJpbSgpKS5maWx0ZXIoc3RhdGUgPT4gc3RhdGUubGVuZ3RoID4gMClcbiAgICAgIDogbmV3U3RhdGVzO1xuICAgIHRoaXMuZW5hYmxlZFN0YXRlcyA9IChBcnJheS5pc0FycmF5KGVuYWJsZWRTdGF0ZXMpKSA/IGVuYWJsZWRTdGF0ZXMgOiBbXTtcbiAgfVxuXG4gIHZpZXdPblN0YXRlKHN0YXRlOiBzdHJpbmcpOiBib29sZWFuIHsgcmV0dXJuICh0aGlzLnZpc2libGVTdGF0ZXMgJiYgc3RhdGUpID8gdGhpcy52aXNpYmxlU3RhdGVzLmluY2x1ZGVzKHN0YXRlKSA6IGZhbHNlOyB9XG4gIGVuYWJsZWRPblN0YXRlKHN0YXRlOiBzdHJpbmcpOiBib29sZWFuIHsgcmV0dXJuICh0aGlzLmVuYWJsZWRTdGF0ZXMgJiYgc3RhdGUpID8gdGhpcy5lbmFibGVkU3RhdGVzLmluY2x1ZGVzKHN0YXRlKSA6IGZhbHNlOyB9XG5cbiAgZ2V0IGFic29sdXRlVmlzaWJsZSgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuX2Fic29sdXRlVmlzaWJsZTsgfVxuICBnZXQgYWJzb2x1dGVEaXNhYmxlZCgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuX2Fic29sdXRlRGlzYWJsZWQ7IH1cblxuICBnZXQgdmlzaWJsZSgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuX3Zpc2libGU7IH1cbiAgc2V0IHZpc2libGUodmlzaWJsZTogYm9vbGVhbikgeyB0aGlzLnNldFZpc2liaWxpdHkodmlzaWJsZSk7IH1cblxuICB2aXNpYmxlT24oc3RhdGU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9hYnNvbHV0ZVZpc2libGUgJiYgdGhpcy52aWV3T25TdGF0ZShzdGF0ZSk7XG4gIH1cblxuICBlbmFibGVkT24oc3RhdGU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5fYWJzb2x1dGVEaXNhYmxlZCAmJiB0aGlzLmVuYWJsZWRPblN0YXRlKHN0YXRlKTtcbiAgfVxuXG4gIHNldFZpc2liaWxpdHkodmlzaWJsZTogYm9vbGVhbiwgZm9yY2VkOiBib29sZWFuIHwgbnVsbCA9IG51bGwpOiB2b2lkIHtcbiAgICB0aGlzLl9hYnNvbHV0ZVZpc2libGUgPSAhIXZpc2libGU7XG4gICAgaWYgKGZvcmNlZCAhPT0gbnVsbCkge1xuICAgICAgdGhpcy5faXNGb3JjZWQgPSBmb3JjZWQ7XG4gICAgICB0aGlzLl92aXNpYmxlRm9yY2VkID0gdmlzaWJsZTtcbiAgICB9XG4gICAgdGhpcy5fdmlzaWJsZSA9IHRoaXMuX2Fic29sdXRlVmlzaWJsZSAmJiB0aGlzLnZpZXdPblN0YXRlKHRoaXMuX2Zvcm1TdGF0ZSk7XG4gIH1cblxuICBzaG93KGZvcmNlZDogYm9vbGVhbiB8IG51bGwgPSBudWxsKTogdm9pZCB7XG4gICAgdGhpcy5zZXRWaXNpYmlsaXR5KHRydWUsIGZvcmNlZCk7XG4gIH1cblxuICBoaWRlKGZvcmNlZDogYm9vbGVhbiB8IG51bGwgPSBudWxsKTogdm9pZCB7XG4gICAgdGhpcy5zZXRWaXNpYmlsaXR5KGZhbHNlLCBmb3JjZWQpO1xuICB9XG5cbiAgZ2V0IGVuYWJsZWQoKTogYm9vbGVhbiB7IHJldHVybiAhdGhpcy5fZGlzYWJsZWQ7IH1cbiAgc2V0IGVuYWJsZWQoZW5hYmxlZCkge1xuICAgIHRoaXMuX2Fic29sdXRlRGlzYWJsZWQgPSAhZW5hYmxlZDtcbiAgICB0aGlzLl9kaXNhYmxlZCA9IHRoaXMuX2Fic29sdXRlRGlzYWJsZWQgfHwgIXRoaXMuZW5hYmxlZE9uU3RhdGUodGhpcy5fZm9ybVN0YXRlKTtcbiAgfVxuXG4gIGdldCBlZGl0YWJsZSgpOiBib29sZWFuIHsgcmV0dXJuICF0aGlzLl9kaXNhYmxlZDsgfVxuXG4gIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuX2Rpc2FibGVkOyB9XG5cbiAgc2V0IGRpc2FibGVkKGRpc2FibGVkKSB7IHRoaXMuZW5hYmxlZCA9ICFkaXNhYmxlZDsgfVxuXG4gIGVuYWJsZSgpOiB2b2lkIHsgdGhpcy5lbmFibGVkID0gdHJ1ZTsgfVxuICBkaXNhYmxlKCk6IHZvaWQgeyB0aGlzLmVuYWJsZWQgPSBmYWxzZTsgfVxuXG4gIGZvcm1TdGF0ZUNoYW5nZUN1c3RvbVN1YnNjcmliZShmb3JtQ2hhbmdlU3ViamVjdCkgeyB9XG5cbiAgZm9ybVN0YXRlQ2hhbmdlKHN0YXRlKSB7XG4gICAgaWYgKHN0YXRlKSB7XG4gICAgICB0aGlzLl9mb3JtU3RhdGUgPSBzdGF0ZTtcbiAgICAgIHRoaXMuX3Zpc2libGUgPSB0aGlzLl9hYnNvbHV0ZVZpc2libGUgJiYgdGhpcy52aWV3T25TdGF0ZShzdGF0ZSk7XG4gICAgICB0aGlzLl9kaXNhYmxlZCA9IHRoaXMuX2Fic29sdXRlRGlzYWJsZWQgfHwgIXRoaXMuZW5hYmxlZE9uU3RhdGUoc3RhdGUpO1xuICAgIH1cbiAgfVxuXG4gIHN1YnNjcmliZUZvcm1TdGF0ZUNoYW5nZShmb3JtQ2hhbmdlU3ViamVjdCkge1xuICAgIHRoaXMuZm9ybVN0YXRlQ2hhbmdlQ3VzdG9tU3Vic2NyaWJlKGZvcm1DaGFuZ2VTdWJqZWN0KTtcbiAgICBmb3JtQ2hhbmdlU3ViamVjdC5zdWJzY3JpYmUoZXZlbnQgPT4gdGhpcy5mb3JtU3RhdGVDaGFuZ2UoZXZlbnQ/LnN0YXRlKSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,138 @@
|
|
|
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
|
+
constructor(sectionReceived, formObject, formConfig) {
|
|
7
|
+
super(sectionReceived, formConfig);
|
|
8
|
+
this._activation = new Subject();
|
|
9
|
+
this._inactivation = new Subject();
|
|
10
|
+
this.active = false;
|
|
11
|
+
this.sectionId = null;
|
|
12
|
+
this.sectionCode = null;
|
|
13
|
+
this.sectionTitle = null;
|
|
14
|
+
this.subSections = [];
|
|
15
|
+
this._exclusiveSubSectionsByAttr = {};
|
|
16
|
+
this.propagationCustomAttributes = this._formConfig?.propagationCustomAttributes?.sections ?? [];
|
|
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; }
|
|
45
|
+
get inactivation() { return this._inactivation; }
|
|
46
|
+
activate() {
|
|
47
|
+
if (!this.active) {
|
|
48
|
+
this.active = true;
|
|
49
|
+
this.sectionCode && this._activation.next(this.sectionCode);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
inactivate() {
|
|
53
|
+
if (this.active) {
|
|
54
|
+
this.active = false;
|
|
55
|
+
this.sectionCode && this._inactivation.next(this.sectionCode);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
get title() { return this.sectionTitle; }
|
|
59
|
+
set title(title) { this.sectionTitle = title; }
|
|
60
|
+
getVisibleSubsections(state) {
|
|
61
|
+
return this.subSections.filter(subSection => subSection.visible);
|
|
62
|
+
}
|
|
63
|
+
getSubsection(subSectionCode) {
|
|
64
|
+
return (this.subSectionsObj && this.subSectionsObj[subSectionCode])
|
|
65
|
+
? this.subSectionsObj[subSectionCode] : null;
|
|
66
|
+
}
|
|
67
|
+
activateSubSection(subSectionCode) {
|
|
68
|
+
if (subSectionCode === this._exclusiveSubSectionsByAttr[ACTIVE]) {
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
const subSection = (this.subSectionsObj && this.subSectionsObj[subSectionCode])
|
|
72
|
+
? this.subSectionsObj[subSectionCode] : null;
|
|
73
|
+
if (subSection) {
|
|
74
|
+
subSection?.activate();
|
|
75
|
+
this._exclusiveSubSectionsByAttr[ACTIVE] = subSectionCode;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
getFields() {
|
|
79
|
+
let fieldsArray = [];
|
|
80
|
+
if (this.subSections && this.subSections.length > 0) {
|
|
81
|
+
for (const subSection of this.subSections) {
|
|
82
|
+
const subsectionFields = subSection.getFields() ?? [];
|
|
83
|
+
if (subsectionFields?.length > 0) {
|
|
84
|
+
fieldsArray = fieldsArray.concat(subsectionFields);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
return fieldsArray;
|
|
89
|
+
}
|
|
90
|
+
getActions() {
|
|
91
|
+
let actionArray = [];
|
|
92
|
+
if (this.subSections && this.subSections.length > 0) {
|
|
93
|
+
for (const subSection of this.subSections) {
|
|
94
|
+
const subSectionActions = subSection.getActions() ?? [];
|
|
95
|
+
if (subSectionActions?.length > 0) {
|
|
96
|
+
actionArray = actionArray.concat(subSectionActions);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
return actionArray;
|
|
101
|
+
}
|
|
102
|
+
getActionNames() {
|
|
103
|
+
let actionArray = [];
|
|
104
|
+
if (this.subSections && this.subSections.length > 0) {
|
|
105
|
+
for (const subSection of this.subSections) {
|
|
106
|
+
actionArray = actionArray.concat(subSection.getActionNames());
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
return actionArray;
|
|
110
|
+
}
|
|
111
|
+
getFieldNames() {
|
|
112
|
+
let fieldsArray = [];
|
|
113
|
+
if (this.subSections && this.subSections.length > 0) {
|
|
114
|
+
for (const subSection of this.subSections) {
|
|
115
|
+
fieldsArray = fieldsArray.concat(subSection.getFieldNames());
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
return fieldsArray;
|
|
119
|
+
}
|
|
120
|
+
getField(name) {
|
|
121
|
+
let field = null;
|
|
122
|
+
if (this.subSections && this.subSections.length > 0) {
|
|
123
|
+
for (const subSection of this.subSections) {
|
|
124
|
+
field = subSection.getField(name);
|
|
125
|
+
if (field) {
|
|
126
|
+
return field;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
return null;
|
|
131
|
+
}
|
|
132
|
+
formStateChangeCustomSubscribe(formChangeSubject) {
|
|
133
|
+
this.subSections?.forEach(subsection => {
|
|
134
|
+
subsection?.subscribeFormStateChange(formChangeSubject);
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1YWluLW5nLWZvcm1zLWxpYi9zcmMvbGliL2NsYXNzZXMvZm9ybXMvc2VjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXZELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUVwRCxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUM7QUFFeEIsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGtCQUFrQjtJQVl2RCxZQUFZLGVBQWUsRUFBRSxVQUFVLEVBQUUsVUFBVTtRQUNqRCxLQUFLLENBQUMsZUFBZSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBWnBCLGdCQUFXLEdBQUcsSUFBSSxPQUFPLEVBQVUsQ0FBQztRQUNwQyxrQkFBYSxHQUFHLElBQUksT0FBTyxFQUFVLENBQUM7UUFFdkQsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUNmLGNBQVMsR0FBa0IsSUFBSSxDQUFDO1FBQ2hDLGdCQUFXLEdBQWtCLElBQUksQ0FBQztRQUNsQyxpQkFBWSxHQUFrQixJQUFJLENBQUM7UUFDbkMsZ0JBQVcsR0FBMkIsRUFBRSxDQUFDO1FBRWpDLGdDQUEyQixHQUFHLEVBQUUsQ0FBQztRQUl2QyxJQUFJLENBQUMsMkJBQTJCLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSwyQkFBMkIsRUFBRSxRQUFRLElBQUksRUFBRSxDQUFDO1FBQ2pHLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFBRSxPQUFPO1NBQUU7UUFDakMsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFD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QUNELE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxRQUFRLENBQUMsSUFBSTtRQUNYLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ25ELEtBQUssTUFBTSxVQUFVLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDekMsS0FBSyxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ2xDLElBQUksS0FBSyxFQUFFO29CQUNULE9BQU8sS0FBSyxDQUFDO2lCQUNkO2FBQ0Y7U0FDRjtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVRLDhCQUE4QixDQUFDLGlCQUFpQjtRQUN2RCxJQUFJLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUNyQyxVQUFVLEVBQUUsd0JBQXdCLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUMxRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZvcm1QaWVjZVByb3BhZ2F0ZSB9IGZyb20gJy4vcGllY2UtcHJvcGFnYXRlJztcbmltcG9ydCB7IEZvcm1BY3Rpb24gfSBmcm9tICcuL2FjdGlvbic7XG5pbXBvcnQgeyBSZWNvcmRGb3JtU3ViU2VjdGlvbiB9IGZyb20gJy4vc3Vic2VjdGlvbic7XG5cbmNvbnN0IEFDVElWRSA9ICdhY3RpdmUnO1xuXG5leHBvcnQgY2xhc3MgUmVjb3JkRm9ybVNlY3Rpb24gZXh0ZW5kcyBGb3JtUGllY2VQcm9wYWdhdGUge1xuICBwcml2YXRlIHJlYWRvbmx5IF9hY3RpdmF0aW9uID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9pbmFjdGl2YXRpb24gPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XG5cbiAgYWN0aXZlID0gZmFsc2U7XG4gIHNlY3Rpb25JZDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIHNlY3Rpb25Db2RlOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgc2VjdGlvblRpdGxlOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgc3ViU2VjdGlvbnM6IFJlY29yZEZvcm1TdWJTZWN0aW9uW10gPSBbXTtcbiAgc3ViU2VjdGlvbnNPYmo6IGFueTtcbiAgcHJpdmF0ZSBfZXhjbHVzaXZlU3ViU2VjdGlvbnNCeUF0dHIgPSB7fTtcblxuICBjb25zdHJ1Y3RvcihzZWN0aW9uUmVjZWl2ZWQsIGZvcm1PYmplY3QsIGZvcm1Db25maWcpIHtcbiAgICBzdXBlcihzZWN0aW9uUmVjZWl2ZWQsIGZvcm1Db25maWcpO1xuICAgIHRoaXMucHJvcGFnYXRpb25DdXN0b21BdHRyaWJ1dGVzID0gdGhpcy5fZm9ybUNvbmZpZz8ucHJvcGFnYXRpb25DdXN0b21BdHRyaWJ1dGVzPy5zZWN0aW9ucyA/PyBbXTtcbiAgICBpZiAoIXNlY3Rpb25SZWNlaXZlZCkgeyByZXR1cm47IH1cbiAgICB0aGlzLnNlY3Rpb25JZCA9IChzZWN0aW9uUmVjZWl2ZWQuc2VjdGlvbklkKSA/IHNlY3Rpb25SZWNlaXZlZC5zZWN0aW9uSWQudG9TdHJpbmcoKSA6ICcnO1xuICAgIHRoaXMuc2VjdGlvbkNvZGUgPSAoc2VjdGlvblJlY2VpdmVkLnNlY3Rpb25Db2RlKSA/IHNlY3Rpb25SZWNlaXZlZC5zZWN0aW9uQ29kZSA6ICcnO1xuICAgIHRoaXMuc2VjdGlvblRpdGxlID0gKHNlY3Rpb25SZWNlaXZlZC5zZWN0aW9uVGl0bGUpID8gc2VjdGlvblJlY2VpdmVkLnNlY3Rpb25UaXRsZSA6ICcnO1xuICAgIHRoaXMuc3ViU2VjdGlvbnMgPSBbXTtcbiAgICB0aGlzLnN1YlNlY3Rpb25zT2JqID0ge307XG4gICAgaWYgKHNlY3Rpb25SZWNlaXZlZC5zdWJzZWN0aW9ucykge1xuICAgICAgY29uc3Qgc3Vic2VjdGlvbnMgPSBzZWN0aW9uUmVjZWl2ZWQuc3Vic2VjdGlvbnMubWFwKHN1YlNlY0RlZiA9PiB7XG4gICAgICAgIGNvbnN0IHZpc2libGVTdGF0ZXMgPSBzdWJTZWNEZWYudmlzaWJsZVN0YXRlcyA/PyBbXTtcbiAgICAgICAgaWYgKHN1YlNlY0RlZi5lbGVtZW50cyAmJiBBcnJheS5pc0FycmF5KHN1YlNlY0RlZi5lbGVtZW50cykpIHtcbiAgICAgICAgICBzdWJTZWNEZWYuZWxlbWVudHMgPSBzdWJTZWNEZWYuZWxlbWVudHMubWFwKGVsbSA9PiAoeyBjb2RlOiBlbG0uZWxlbWVudENvZGUsIHR5cGU6IGVsbS5lbGVtZW50VHlwZU5hbWUgfSkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7IC4uLnN1YlNlY0RlZiwgdmlzaWJsZVN0YXRlcyB9O1xuICAgICAgfSk7XG4gICAgICBmb3IgKGNvbnN0IHN1YnNlY3Rpb25SZWNlaXZlZCBvZiBzdWJzZWN0aW9ucykge1xuICAgICAgICBjb25zdCBzdWJTZWN0aW9uVG9BZGQgPSBuZXcgUmVjb3JkRm9ybVN1YlNlY3Rpb24oc3Vic2VjdGlvblJlY2VpdmVkLCBmb3JtT2JqZWN0LCBmb3JtQ29uZmlnKTtcbiAgICAgICAgY29uc3Qgc3Vic2VjdGlvbkNvZGUgPSBzdWJTZWN0aW9uVG9BZGQuc3Vic2VjdGlvbkNvZGU7XG4gICAgICAgIGlmIChzdWJzZWN0aW9uQ29kZSkge1xuICAgICAgICAgIHRoaXMuc3ViU2VjdGlvbnMucHVzaChzdWJTZWN0aW9uVG9BZGQpO1xuICAgICAgICAgIHRoaXMuc3ViU2VjdGlvbnNPYmpbc3Vic2VjdGlvbkNvZGVdID0gc3ViU2VjdGlvblRvQWRkO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZ2V0IGNvZGUoKSB7IHJldHVybiB0aGlzLnNlY3Rpb25Db2RlOyB9XG4gIGdldCBhY3RpdmF0aW9uKCkgeyByZXR1cm4gdGhpcy5fYWN0aXZhdGlvbjsgfVxuICBnZXQgaW5hY3RpdmF0aW9uKCkgeyByZXR1cm4gdGhpcy5faW5hY3RpdmF0aW9uOyB9XG5cbiAgYWN0aXZhdGUoKSB7XG4gICAgaWYgKCF0aGlzLmFjdGl2ZSkge1xuICAgICAgdGhpcy5hY3RpdmUgPSB0cnVlO1xuICAgICAgdGhpcy5zZWN0aW9uQ29kZSAmJiB0aGlzLl9hY3RpdmF0aW9uLm5leHQodGhpcy5zZWN0aW9uQ29kZSk7XG4gICAgfVxuICB9XG5cbiAgaW5hY3RpdmF0ZSgpIHtcbiAgICBpZiAodGhpcy5hY3RpdmUpIHtcbiAgICAgIHRoaXMuYWN0aXZlID0gZmFsc2U7XG4gICAgICB0aGlzLnNlY3Rpb25Db2RlICYmIHRoaXMuX2luYWN0aXZhdGlvbi5uZXh0KHRoaXMuc2VjdGlvbkNvZGUpO1xuICAgIH1cbiAgfVxuXG4gIGdldCB0aXRsZSgpIHsgcmV0dXJuIHRoaXMuc2VjdGlvblRpdGxlOyB9XG4gIHNldCB0aXRsZSh0aXRsZSkgeyB0aGlzLnNlY3Rpb25UaXRsZSA9IHRpdGxlOyB9XG5cbiAgZ2V0VmlzaWJsZVN1YnNlY3Rpb25zKHN0YXRlKSB7XG4gICAgcmV0dXJuIHRoaXMuc3ViU2VjdGlvbnMuZmlsdGVyKHN1YlNlY3Rpb24gPT4gc3ViU2VjdGlvbi52aXNpYmxlKTtcbiAgfVxuXG4gIGdldFN1YnNlY3Rpb24oc3ViU2VjdGlvbkNvZGUpIHtcbiAgICByZXR1cm4gKHRoaXMuc3ViU2VjdGlvbnNPYmogJiYgdGhpcy5zdWJTZWN0aW9uc09ialtzdWJTZWN0aW9uQ29kZV0pXG4gICAgICA/IHRoaXMuc3ViU2VjdGlvbnNPYmpbc3ViU2VjdGlvbkNvZGVdIDogbnVsbDtcbiAgfVxuXG4gIGFjdGl2YXRlU3ViU2VjdGlvbihzdWJTZWN0aW9uQ29kZSkge1xuICAgIGlmIChzdWJTZWN0aW9uQ29kZSA9PT0gdGhpcy5fZXhjbHVzaXZlU3ViU2VjdGlvbnNCeUF0dHJbQUNUSVZFXSkgeyByZXR1cm47IH1cbiAgICBjb25zdCBzdWJTZWN0aW9uID0gKHRoaXMuc3ViU2VjdGlvbnNPYmogJiYgdGhpcy5zdWJTZWN0aW9uc09ialtzdWJTZWN0aW9uQ29kZV0pXG4gICAgICA/IHRoaXMuc3ViU2VjdGlvbnNPYmpbc3ViU2VjdGlvbkNvZGVdIDogbnVsbDtcbiAgICBpZiAoc3ViU2VjdGlvbikge1xuICAgICAgc3ViU2VjdGlvbj8uYWN0aXZhdGUoKTtcbiAgICAgIHRoaXMuX2V4Y2x1c2l2ZVN1YlNlY3Rpb25zQnlBdHRyW0FDVElWRV0gPSBzdWJTZWN0aW9uQ29kZTtcbiAgICB9XG4gIH1cblxuICBnZXRGaWVsZHMoKSB7XG4gICAgbGV0IGZpZWxkc0FycmF5OiBhbnlbXSA9IFtdO1xuICAgIGlmICh0aGlzLnN1YlNlY3Rpb25zICYmIHRoaXMuc3ViU2VjdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgZm9yIChjb25zdCBzdWJTZWN0aW9uIG9mIHRoaXMuc3ViU2VjdGlvbnMpIHtcbiAgICAgICAgY29uc3Qgc3Vic2VjdGlvbkZpZWxkczogYW55W10gPSBzdWJTZWN0aW9uLmdldEZpZWxkcygpID8/IFtdO1xuICAgICAgICBpZiAoc3Vic2VjdGlvbkZpZWxkcz8ubGVuZ3RoID4gMCkge1xuICAgICAgICAgIGZpZWxkc0FycmF5ID0gZmllbGRzQXJyYXkuY29uY2F0KHN1YnNlY3Rpb25GaWVsZHMpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmaWVsZHNBcnJheTtcbiAgfVxuXG4gIGdldEFjdGlvbnMoKTogRm9ybUFjdGlvbltdIHtcbiAgICBsZXQgYWN0aW9uQXJyYXk6IGFueVtdID0gW107XG4gICAgaWYgKHRoaXMuc3ViU2VjdGlvbnMgJiYgdGhpcy5zdWJTZWN0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICBmb3IgKGNvbnN0IHN1YlNlY3Rpb24gb2YgdGhpcy5zdWJTZWN0aW9ucykge1xuICAgICAgICBjb25zdCBzdWJTZWN0aW9uQWN0aW9ucyA9IHN1YlNlY3Rpb24uZ2V0QWN0aW9ucygpID8/IFtdO1xuICAgICAgICBpZiAoc3ViU2VjdGlvbkFjdGlvbnM/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBhY3Rpb25BcnJheSA9IGFjdGlvbkFycmF5LmNvbmNhdChzdWJTZWN0aW9uQWN0aW9ucyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGFjdGlvbkFycmF5O1xuICB9XG5cbiAgZ2V0QWN0aW9uTmFtZXMoKTogc3RyaW5nW10ge1xuICAgIGxldCBhY3Rpb25BcnJheTogc3RyaW5nW10gPSBbXTtcbiAgICBpZiAodGhpcy5zdWJTZWN0aW9ucyAmJiB0aGlzLnN1YlNlY3Rpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgIGZvciAoY29uc3Qgc3ViU2VjdGlvbiBvZiB0aGlzLnN1YlNlY3Rpb25zKSB7XG4gICAgICAgIGFjdGlvbkFycmF5ID0gYWN0aW9uQXJyYXkuY29uY2F0KHN1YlNlY3Rpb24uZ2V0QWN0aW9uTmFtZXMoKSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBhY3Rpb25BcnJheTtcbiAgfVxuXG4gIGdldEZpZWxkTmFtZXMoKSB7XG4gICAgbGV0IGZpZWxkc0FycmF5OiBzdHJpbmdbXSA9IFtdO1xuICAgIGlmICh0aGlzLnN1YlNlY3Rpb25zICYmIHRoaXMuc3ViU2VjdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgZm9yIChjb25zdCBzdWJTZWN0aW9uIG9mIHRoaXMuc3ViU2VjdGlvbnMpIHtcbiAgICAgICAgZmllbGRzQXJyYXkgPSBmaWVsZHNBcnJheS5jb25jYXQoc3ViU2VjdGlvbi5nZXRGaWVsZE5hbWVzKCkpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmllbGRzQXJyYXk7XG4gIH1cblxuICBnZXRGaWVsZChuYW1lKSB7XG4gICAgbGV0IGZpZWxkID0gbnVsbDtcbiAgICBpZiAodGhpcy5zdWJTZWN0aW9ucyAmJiB0aGlzLnN1YlNlY3Rpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgIGZvciAoY29uc3Qgc3ViU2VjdGlvbiBvZiB0aGlzLnN1YlNlY3Rpb25zKSB7XG4gICAgICAgIGZpZWxkID0gc3ViU2VjdGlvbi5nZXRGaWVsZChuYW1lKTtcbiAgICAgICAgaWYgKGZpZWxkKSB7XG4gICAgICAgICAgcmV0dXJuIGZpZWxkO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgb3ZlcnJpZGUgZm9ybVN0YXRlQ2hhbmdlQ3VzdG9tU3Vic2NyaWJlKGZvcm1DaGFuZ2VTdWJqZWN0KSB7XG4gICAgdGhpcy5zdWJTZWN0aW9ucz8uZm9yRWFjaChzdWJzZWN0aW9uID0+IHtcbiAgICAgIHN1YnNlY3Rpb24/LnN1YnNjcmliZUZvcm1TdGF0ZUNoYW5nZShmb3JtQ2hhbmdlU3ViamVjdCk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { FormPiecePropagate } from './piece-propagate';
|
|
2
|
+
import { elementTypes } from './form.constants';
|
|
3
|
+
export class RecordFormSubSection extends FormPiecePropagate {
|
|
4
|
+
constructor(subsectionReceived, formObject, formConfig) {
|
|
5
|
+
super(subsectionReceived, formConfig);
|
|
6
|
+
this._customRender = null;
|
|
7
|
+
this.subsectionId = null;
|
|
8
|
+
this.subsectionCode = null;
|
|
9
|
+
this.subsectionTitle = null;
|
|
10
|
+
this.subSectionElements = [];
|
|
11
|
+
this.subSectionFields = [];
|
|
12
|
+
this.subSectionTables = [];
|
|
13
|
+
this.subSectionActions = [];
|
|
14
|
+
this.elementsArray = {};
|
|
15
|
+
this.active = false;
|
|
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
|
+
getField(name) {
|
|
54
|
+
return this.subSectionFields.find(fld => fld.name === name);
|
|
55
|
+
}
|
|
56
|
+
getFields() {
|
|
57
|
+
return this.subSectionFields;
|
|
58
|
+
}
|
|
59
|
+
getFieldNames() {
|
|
60
|
+
return this.subSectionFields.map(field => field.code);
|
|
61
|
+
}
|
|
62
|
+
getActions() {
|
|
63
|
+
return this.subSectionActions;
|
|
64
|
+
}
|
|
65
|
+
getActionNames() {
|
|
66
|
+
return this.subSectionActions.map(action => action.actionCode);
|
|
67
|
+
}
|
|
68
|
+
activate() {
|
|
69
|
+
if (!this.active) {
|
|
70
|
+
this.active = true;
|
|
71
|
+
// this.subsectionCode && this._activation.next(this.subsectionCode);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
inactivate() {
|
|
75
|
+
if (this.active) {
|
|
76
|
+
this.active = false;
|
|
77
|
+
// this.subsectionCode && this._inactivation.next(this.subsectionCode);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2VjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1YWluLW5nLWZvcm1zLWxpYi9zcmMvbGliL2NsYXNzZXMvZm9ybXMvc3Vic2VjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUV2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFaEQsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGtCQUFrQjtJQWExRCxZQUFZLGtCQUFrQixFQUFFLFVBQVUsRUFBRSxVQUFVO1FBQ3BELEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxVQUFVLENBQUMsQ0FBQztRQWJ4QyxrQkFBYSxHQUFrQixJQUFJLENBQUM7UUFDcEMsaUJBQVksR0FBa0IsSUFBSSxDQUFDO1FBQ25DLG1CQUFjLEdBQWtCLElBQUksQ0FBQztRQUNyQyxvQkFBZSxHQUFrQixJQUFJLENBQUM7UUFFdEMsdUJBQWtCLEdBQVUsRUFBRSxDQUFDO1FBQy9CLHFCQUFnQixHQUFVLEVBQUUsQ0FBQztRQUM3QixxQkFBZ0IsR0FBVSxFQUFFLENBQUM7UUFDN0Isc0JBQWlCLEdBQVUsRUFBRSxDQUFDO1FBQzlCLGtCQUFhLEdBQVEsRUFBRSxDQUFDO1FBQ3hCLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFJYixJQUFJLENBQUMsMkJBQTJCLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSwyQkFBMkIsRUFBRSxXQUFXLElBQUksRUFBRSxDQUFDO1FBQ3BHLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUFFLE9BQU87U0FBRTtRQUNwQyxJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FB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QUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztZQUNwQix1RUFBdUU7U0FDeEU7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtUGllY2VQcm9wYWdhdGUgfSBmcm9tICcuL3BpZWNlLXByb3BhZ2F0ZSc7XG5pbXBvcnQgeyBGb3JtQWN0aW9uIH0gZnJvbSAnLi9hY3Rpb24nO1xuaW1wb3J0IHsgZWxlbWVudFR5cGVzIH0gZnJvbSAnLi9mb3JtLmNvbnN0YW50cyc7XG5cbmV4cG9ydCBjbGFzcyBSZWNvcmRGb3JtU3ViU2VjdGlvbiBleHRlbmRzIEZvcm1QaWVjZVByb3BhZ2F0ZSB7XG4gIF9jdXN0b21SZW5kZXI6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBzdWJzZWN0aW9uSWQ6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBzdWJzZWN0aW9uQ29kZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIHN1YnNlY3Rpb25UaXRsZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgc3ViU2VjdGlvbkVsZW1lbnRzOiBhbnlbXSA9IFtdO1xuICBzdWJTZWN0aW9uRmllbGRzOiBhbnlbXSA9IFtdO1xuICBzdWJTZWN0aW9uVGFibGVzOiBhbnlbXSA9IFtdO1xuICBzdWJTZWN0aW9uQWN0aW9uczogYW55W10gPSBbXTtcbiAgZWxlbWVudHNBcnJheTogYW55ID0ge307XG4gIGFjdGl2ZSA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHN1YnNlY3Rpb25SZWNlaXZlZCwgZm9ybU9iamVjdCwgZm9ybUNvbmZpZykge1xuICAgIHN1cGVyKHN1YnNlY3Rpb25SZWNlaXZlZCwgZm9ybUNvbmZpZyk7XG4gICAgdGhpcy5wcm9wYWdhdGlvbkN1c3RvbUF0dHJpYnV0ZXMgPSB0aGlzLl9mb3JtQ29uZmlnPy5wcm9wYWdhdGlvbkN1c3RvbUF0dHJpYnV0ZXM/LnN1YnNlY3Rpb25zID8/IFtdO1xuICAgIGlmICghc3Vic2VjdGlvblJlY2VpdmVkKSB7IHJldHVybjsgfVxuICAgIHRoaXMuc3Vic2VjdGlvbklkID0gKHN1YnNlY3Rpb25SZWNlaXZlZC5zdWJzZWN0aW9uSWQpID8gc3Vic2VjdGlvblJlY2VpdmVkLnN1YnNlY3Rpb25JZC50b1N0cmluZygpIDogJyc7XG4gICAgdGhpcy5zdWJzZWN0aW9uQ29kZSA9IChzdWJzZWN0aW9uUmVjZWl2ZWQuc3Vic2VjdGlvbkNvZGUpID8gc3Vic2VjdGlvblJlY2VpdmVkLnN1YnNlY3Rpb25Db2RlIDogJyc7XG4gICAgdGhpcy5zdWJzZWN0aW9uVGl0bGUgPSAoc3Vic2VjdGlvblJlY2VpdmVkLnN1YnNlY3Rpb25UaXRsZSkgPyBzdWJzZWN0aW9uUmVjZWl2ZWQuc3Vic2VjdGlvblRpdGxlIDogJyc7XG4gICAgaWYgKHN1YnNlY3Rpb25SZWNlaXZlZC5lbGVtZW50cykge1xuICAgICAgZm9yIChjb25zdCByZWNlaXZlZEVsZW1lbnQgb2Ygc3Vic2VjdGlvblJlY2VpdmVkLmVsZW1lbnRzKSB7XG4gICAgICAgIGxldCBlbGVtZW50T2JqZWN0OiBhbnkgPSBudWxsO1xuICAgICAgICBsZXQgYXJyYXlUb0FkZDogYW55W10gPSBbXTtcbiAgICAgICAgY29uc3QgeyB0eXBlLCBjb2RlIH0gPSByZWNlaXZlZEVsZW1lbnQ7XG4gICAgICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgICAgIGNhc2UgZWxlbWVudFR5cGVzLmZpZWxkOlxuICAgICAgICAgICAgZWxlbWVudE9iamVjdCA9IGZvcm1PYmplY3QuZ2V0RmllbGQoY29kZSk7XG4gICAgICAgICAgICBhcnJheVRvQWRkID0gdGhpcy5zdWJTZWN0aW9uRmllbGRzO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBlbGVtZW50VHlwZXMudGFibGU6XG4gICAgICAgICAgICBlbGVtZW50T2JqZWN0ID0gZm9ybU9iamVjdC5nZXRUYWJsZShjb2RlKTtcbiAgICAgICAgICAgIGFycmF5VG9BZGQgPSB0aGlzLnN1YlNlY3Rpb25UYWJsZXM7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIGVsZW1lbnRUeXBlcy5hY3Rpb246XG4gICAgICAgICAgICBlbGVtZW50T2JqZWN0ID0gZm9ybU9iamVjdC5nZXRBY3Rpb24oY29kZSk7XG4gICAgICAgICAgICBhcnJheVRvQWRkID0gdGhpcy5zdWJTZWN0aW9uQWN0aW9ucztcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGlmIChlbGVtZW50T2JqZWN0KSB7XG4gICAgICAgICAgZWxlbWVudE9iamVjdC5lbGVtZW50VHlwZSA9IHR5cGU7XG4gICAgICAgICAgYXJyYXlUb0FkZC5wdXNoKGVsZW1lbnRPYmplY3QpO1xuICAgICAgICAgIHRoaXMuc3ViU2VjdGlvbkVsZW1lbnRzLnB1c2goZWxlbWVudE9iamVjdCk7XG4gICAgICAgICAgdGhpcy5lbGVtZW50c0FycmF5W2NvZGVdID0gZWxlbWVudE9iamVjdDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGdldCBjdXN0b21SZW5kZXIoKSB7IHJldHVybiB0aGlzLl9jdXN0b21SZW5kZXI7IH1cbiAgc2V0IGN1c3RvbVJlbmRlcihjdXN0b21SZW5kZXJOYW1lKSB7IHRoaXMuX2N1c3RvbVJlbmRlciA9IGN1c3RvbVJlbmRlck5hbWU7IH1cblxuICBnZXRGaWVsZChuYW1lKSB7XG4gICAgcmV0dXJuIHRoaXMuc3ViU2VjdGlvbkZpZWxkcy5maW5kKGZsZCA9PiBmbGQubmFtZSA9PT0gbmFtZSk7XG4gIH1cblxuICBnZXRGaWVsZHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3ViU2VjdGlvbkZpZWxkcztcbiAgfVxuXG4gIGdldEZpZWxkTmFtZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3ViU2VjdGlvbkZpZWxkcy5tYXAoZmllbGQgPT4gZmllbGQuY29kZSk7XG4gIH1cblxuICBnZXRBY3Rpb25zKCk6IEZvcm1BY3Rpb25bXSB7XG4gICAgcmV0dXJuIHRoaXMuc3ViU2VjdGlvbkFjdGlvbnM7XG4gIH1cblxuICBnZXRBY3Rpb25OYW1lcygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuc3ViU2VjdGlvbkFjdGlvbnMubWFwKGFjdGlvbiA9PiBhY3Rpb24uYWN0aW9uQ29kZSk7XG4gIH1cblxuICBhY3RpdmF0ZSgpIHtcbiAgICBpZiAoIXRoaXMuYWN0aXZlKSB7XG4gICAgICB0aGlzLmFjdGl2ZSA9IHRydWU7XG4gICAgICAvLyB0aGlzLnN1YnNlY3Rpb25Db2RlICYmIHRoaXMuX2FjdGl2YXRpb24ubmV4dCh0aGlzLnN1YnNlY3Rpb25Db2RlKTtcbiAgICB9XG4gIH1cblxuICBpbmFjdGl2YXRlKCkge1xuICAgIGlmICh0aGlzLmFjdGl2ZSkge1xuICAgICAgdGhpcy5hY3RpdmUgPSBmYWxzZTtcbiAgICAgIC8vIHRoaXMuc3Vic2VjdGlvbkNvZGUgJiYgdGhpcy5faW5hY3RpdmF0aW9uLm5leHQodGhpcy5zdWJzZWN0aW9uQ29kZSk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { FormPiece } from '../piece';
|
|
2
|
+
export class TableAction extends FormPiece {
|
|
3
|
+
constructor(actionDefinition, formConfig) {
|
|
4
|
+
super(actionDefinition, formConfig);
|
|
5
|
+
this.actionCode = actionDefinition.actionCode;
|
|
6
|
+
this.actionTitle = actionDefinition.actionTitle;
|
|
7
|
+
this.iconName = actionDefinition.iconName || this.actionCode;
|
|
8
|
+
this.actionType = actionDefinition.actionType || 'STANDARD';
|
|
9
|
+
this.actionClass = actionDefinition.actionClass || 'INLINE';
|
|
10
|
+
this.newState = actionDefinition.newState;
|
|
11
|
+
this.stateField = actionDefinition.stateField || '';
|
|
12
|
+
this.backend = actionDefinition?.serverAction ?? false;
|
|
13
|
+
this.restrictedOnField = actionDefinition.fieldRestrictedCode || '';
|
|
14
|
+
this.restrictedOnValue = actionDefinition.valueRestricted ?? '';
|
|
15
|
+
this.restrictedOnOperator = actionDefinition.operatorRestricted || '';
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVhaW4tbmctZm9ybXMtbGliL3NyYy9saWIvY2xhc3Nlcy9mb3Jtcy90YWJsZS9hY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNyQyxNQUFNLE9BQU8sV0FBWSxTQUFRLFNBQVM7SUFleEMsWUFBWSxnQkFBZ0IsRUFBRSxVQUFVO1FBQ3RDLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUVwQyxJQUFJLENBQUMsVUFBVSxHQUFHLGdCQUFnQixDQUFDLFVBQVUsQ0FBQztRQUM5QyxJQUFJLENBQUMsV0FBVyxHQUFHLGdCQUFnQixDQUFDLFdBQVcsQ0FBQztRQUNoRCxJQUFJLENBQUMsUUFBUSxHQUFHLGdCQUFnQixDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQzdELElBQUksQ0FBQyxVQUFVLEdBQUcsZ0JBQWdCLENBQUMsVUFBVSxJQUFJLFVBQVUsQ0FBQztRQUM1RCxJQUFJLENBQUMsV0FBVyxHQUFHLGdCQUFnQixDQUFDLFdBQVcsSUFBSSxRQUFRLENBQUM7UUFDNUQsSUFBSSxDQUFDLFFBQVEsR0FBRyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUM7UUFDMUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxnQkFBZ0IsQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDO1FBQ3BELElBQUksQ0FBQyxPQUFPLEdBQUcsZ0JBQWdCLEVBQUUsWUFBWSxJQUFJLEtBQUssQ0FBQztRQUN2RCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsZ0JBQWdCLENBQUMsbUJBQW1CLElBQUksRUFBRSxDQUFDO1FBQ3BFLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxnQkFBZ0IsQ0FBQyxlQUFlLElBQUksRUFBRSxDQUFDO1FBQ2hFLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxnQkFBZ0IsQ0FBQyxrQkFBa0IsSUFBSSxFQUFFLENBQUM7SUFDeEUsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybVBpZWNlIH0gZnJvbSAnLi4vcGllY2UnO1xuZXhwb3J0IGNsYXNzIFRhYmxlQWN0aW9uIGV4dGVuZHMgRm9ybVBpZWNlIHtcbiAgbmV3U3RhdGU6IHN0cmluZztcblxuICBhY3Rpb25Db2RlOiBzdHJpbmc7XG4gIGFjdGlvblRpdGxlOiBzdHJpbmc7XG4gIGljb25OYW1lOiBzdHJpbmc7XG4gIGFjdGlvblR5cGU6IHN0cmluZztcbiAgYWN0aW9uQ2xhc3M6IHN0cmluZztcbiAgc3RhdGVGaWVsZDogc3RyaW5nO1xuXG4gIGJhY2tlbmQ6IGJvb2xlYW47XG4gIHJlc3RyaWN0ZWRPbkZpZWxkOiBzdHJpbmc7XG4gIHJlc3RyaWN0ZWRPblZhbHVlOiBzdHJpbmc7XG4gIHJlc3RyaWN0ZWRPbk9wZXJhdG9yOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoYWN0aW9uRGVmaW5pdGlvbiwgZm9ybUNvbmZpZykge1xuICAgIHN1cGVyKGFjdGlvbkRlZmluaXRpb24sIGZvcm1Db25maWcpO1xuXG4gICAgdGhpcy5hY3Rpb25Db2RlID0gYWN0aW9uRGVmaW5pdGlvbi5hY3Rpb25Db2RlO1xuICAgIHRoaXMuYWN0aW9uVGl0bGUgPSBhY3Rpb25EZWZpbml0aW9uLmFjdGlvblRpdGxlO1xuICAgIHRoaXMuaWNvbk5hbWUgPSBhY3Rpb25EZWZpbml0aW9uLmljb25OYW1lIHx8IHRoaXMuYWN0aW9uQ29kZTtcbiAgICB0aGlzLmFjdGlvblR5cGUgPSBhY3Rpb25EZWZpbml0aW9uLmFjdGlvblR5cGUgfHwgJ1NUQU5EQVJEJztcbiAgICB0aGlzLmFjdGlvbkNsYXNzID0gYWN0aW9uRGVmaW5pdGlvbi5hY3Rpb25DbGFzcyB8fCAnSU5MSU5FJztcbiAgICB0aGlzLm5ld1N0YXRlID0gYWN0aW9uRGVmaW5pdGlvbi5uZXdTdGF0ZTtcbiAgICB0aGlzLnN0YXRlRmllbGQgPSBhY3Rpb25EZWZpbml0aW9uLnN0YXRlRmllbGQgfHwgJyc7XG4gICAgdGhpcy5iYWNrZW5kID0gYWN0aW9uRGVmaW5pdGlvbj8uc2VydmVyQWN0aW9uID8/IGZhbHNlO1xuICAgIHRoaXMucmVzdHJpY3RlZE9uRmllbGQgPSBhY3Rpb25EZWZpbml0aW9uLmZpZWxkUmVzdHJpY3RlZENvZGUgfHwgJyc7XG4gICAgdGhpcy5yZXN0cmljdGVkT25WYWx1ZSA9IGFjdGlvbkRlZmluaXRpb24udmFsdWVSZXN0cmljdGVkID8/ICcnO1xuICAgIHRoaXMucmVzdHJpY3RlZE9uT3BlcmF0b3IgPSBhY3Rpb25EZWZpbml0aW9uLm9wZXJhdG9yUmVzdHJpY3RlZCB8fCAnJztcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { FormPiece } from '../piece';
|
|
2
|
+
export class RecordTableColumn extends FormPiece {
|
|
3
|
+
constructor(recTableColReceived, formConfig) {
|
|
4
|
+
super(recTableColReceived, formConfig);
|
|
5
|
+
this.fieldCode = '';
|
|
6
|
+
this.fieldTitle = '';
|
|
7
|
+
this.fieldType = '';
|
|
8
|
+
this.fieldAlignment = '';
|
|
9
|
+
this.fieldFormat = '';
|
|
10
|
+
this.sortable = true;
|
|
11
|
+
this.searchable = true;
|
|
12
|
+
this.sortDirections = [];
|
|
13
|
+
// Filtros
|
|
14
|
+
this.filterVisible = false;
|
|
15
|
+
this.filterDef = null;
|
|
16
|
+
this.filterSetup = null;
|
|
17
|
+
this.filterDef = null;
|
|
18
|
+
if (recTableColReceived) {
|
|
19
|
+
this.fieldCode = recTableColReceived.fieldCode;
|
|
20
|
+
this.fieldTitle = recTableColReceived.fieldTitle;
|
|
21
|
+
this.fieldType = recTableColReceived.fieldTypeCode || this._formConfig.fieldTypes.text;
|
|
22
|
+
const defaultTypeAlignment = (this._formConfig.tableFieldStyles[this.fieldType] != null) ? this._formConfig.tableFieldStyles[this.fieldType]['text-align'] : 'left';
|
|
23
|
+
this.fieldAlignment = (recTableColReceived.alignment != null) ? recTableColReceived.alignment.toLowerCase() : defaultTypeAlignment;
|
|
24
|
+
this._absoluteVisible = recTableColReceived?.visible ?? true;
|
|
25
|
+
this.sortable = recTableColReceived?.sortable ?? false;
|
|
26
|
+
this.searchable = recTableColReceived?.searchable ?? true;
|
|
27
|
+
this.sortDirections = (this.sortable) ? ['ascend', 'descend'] : [];
|
|
28
|
+
this.fieldFormat = recTableColReceived.format || '';
|
|
29
|
+
this.customAttributes = recTableColReceived?.customAttributes ?? {};
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
setSearchable(searchable = true) { this.searchable = searchable; }
|
|
33
|
+
hideFilter() {
|
|
34
|
+
this.filterVisible = false;
|
|
35
|
+
}
|
|
36
|
+
addFilterDefinition(filterDefinition) {
|
|
37
|
+
this.filterDef = {
|
|
38
|
+
operators: filterDefinition.operators,
|
|
39
|
+
options: filterDefinition.options ?? null,
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
get filterDefinition() {
|
|
43
|
+
return this.filterDef;
|
|
44
|
+
}
|
|
45
|
+
addFilter(columnValues, operator) {
|
|
46
|
+
this.filterSetup = {
|
|
47
|
+
fieldCode: this.fieldCode,
|
|
48
|
+
operator: operator ?? this.filterDef?.operators[0],
|
|
49
|
+
values: columnValues,
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
get filter() {
|
|
53
|
+
return this.filterSetup;
|
|
54
|
+
}
|
|
55
|
+
removeFilter() {
|
|
56
|
+
this.filterSetup = null;
|
|
57
|
+
}
|
|
58
|
+
get options() {
|
|
59
|
+
if (this.filterDef?.operators?.length === 1 && this.filterDef?.operators[0] === 'IN') {
|
|
60
|
+
return this.filterDef?.options;
|
|
61
|
+
}
|
|
62
|
+
return null;
|
|
63
|
+
}
|
|
64
|
+
serSortDirections(ascend, descend) {
|
|
65
|
+
this.sortDirections = [];
|
|
66
|
+
if (ascend) {
|
|
67
|
+
this.sortDirections.unshift('ascend');
|
|
68
|
+
}
|
|
69
|
+
if (descend) {
|
|
70
|
+
this.sortDirections.unshift('descend');
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVhaW4tbmctZm9ybXMtbGliL3NyYy9saWIvY2xhc3Nlcy9mb3Jtcy90YWJsZS9jb2x1bW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQVlyQyxNQUFNLE9BQU8saUJBQWtCLFNBQVEsU0FBUztJQWM5QyxZQUFZLG1CQUFtQixFQUFFLFVBQVU7UUFDekMsS0FBSyxDQUFDLG1CQUFtQixFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBZHpDLGNBQVMsR0FBVyxFQUFFLENBQUM7UUFDdkIsZUFBVSxHQUFXLEVBQUUsQ0FBQztRQUN4QixjQUFTLEdBQVcsRUFBRSxDQUFDO1FBQ3ZCLG1CQUFjLEdBQVcsRUFBRSxDQUFDO1FBQzVCLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBQ3pCLGFBQVEsR0FBWSxJQUFJLENBQUM7UUFDekIsZUFBVSxHQUFZLElBQUksQ0FBQztRQUMzQixtQkFBYyxHQUFhLEVBQUUsQ0FBQztRQUM5QixVQUFVO1FBQ1Ysa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFDL0IsY0FBUyxHQUFxQixJQUFJLENBQUM7UUFDbkMsZ0JBQVcsR0FBdUIsSUFBSSxDQUFDO1FBSXJDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLElBQUksbUJBQW1CLEVBQUU7WUFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxtQkFBbUIsQ0FBQyxTQUFTLENBQUM7WUFDL0MsSUFBSSxDQUFDLFVBQVUsR0FBRyxtQkFBbUIsQ0FBQyxVQUFVLENBQUM7WUFDakQsSUFBSSxDQUFDLFNBQVMsR0FBRyxtQkFBbUIsQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO1lBQ3ZGLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxJQUFJLENBQUMs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QztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvcm1QaWVjZSB9IGZyb20gJy4uL3BpZWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBGaWx0ZXJEZWYge1xuICBvcGVyYXRvcnM6IHN0cmluZ1tdO1xuICBvcHRpb25zOiBhbnlbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGaWx0ZXJTZXR1cCB7XG4gIGZpZWxkQ29kZTogc3RyaW5nO1xuICBvcGVyYXRvcjogc3RyaW5nO1xuICB2YWx1ZXM6IGFueVtdO1xufVxuZXhwb3J0IGNsYXNzIFJlY29yZFRhYmxlQ29sdW1uIGV4dGVuZHMgRm9ybVBpZWNlIHtcbiAgZmllbGRDb2RlOiBzdHJpbmcgPSAnJztcbiAgZmllbGRUaXRsZTogc3RyaW5nID0gJyc7XG4gIGZpZWxkVHlwZTogc3RyaW5nID0gJyc7XG4gIGZpZWxkQWxpZ25tZW50OiBzdHJpbmcgPSAnJztcbiAgZmllbGRGb3JtYXQ6IHN0cmluZyA9ICcnO1xuICBzb3J0YWJsZTogYm9vbGVhbiA9IHRydWU7XG4gIHNlYXJjaGFibGU6IGJvb2xlYW4gPSB0cnVlO1xuICBzb3J0RGlyZWN0aW9uczogc3RyaW5nW10gPSBbXTtcbiAgLy8gRmlsdHJvc1xuICBmaWx0ZXJWaXNpYmxlOiBib29sZWFuID0gZmFsc2U7XG4gIGZpbHRlckRlZjogRmlsdGVyRGVmIHwgbnVsbCA9IG51bGw7XG4gIGZpbHRlclNldHVwOiBGaWx0ZXJTZXR1cCB8IG51bGwgPSBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKHJlY1RhYmxlQ29sUmVjZWl2ZWQsIGZvcm1Db25maWcpIHtcbiAgICBzdXBlcihyZWNUYWJsZUNvbFJlY2VpdmVkLCBmb3JtQ29uZmlnKTtcbiAgICB0aGlzLmZpbHRlckRlZiA9IG51bGw7XG4gICAgaWYgKHJlY1RhYmxlQ29sUmVjZWl2ZWQpIHtcbiAgICAgIHRoaXMuZmllbGRDb2RlID0gcmVjVGFibGVDb2xSZWNlaXZlZC5maWVsZENvZGU7XG4gICAgICB0aGlzLmZpZWxkVGl0bGUgPSByZWNUYWJsZUNvbFJlY2VpdmVkLmZpZWxkVGl0bGU7XG4gICAgICB0aGlzLmZpZWxkVHlwZSA9IHJlY1RhYmxlQ29sUmVjZWl2ZWQuZmllbGRUeXBlQ29kZSB8fCB0aGlzLl9mb3JtQ29uZmlnLmZpZWxkVHlwZXMudGV4dDtcbiAgICAgIGNvbnN0IGRlZmF1bHRUeXBlQWxpZ25tZW50ID0gKHRoaXMuX2Zvcm1Db25maWcudGFibGVGaWVsZFN0eWxlc1t0aGlzLmZpZWxkVHlwZV0gIT0gbnVsbCkgPyB0aGlzLl9mb3JtQ29uZmlnLnRhYmxlRmllbGRTdHlsZXNbdGhpcy5maWVsZFR5cGVdWyd0ZXh0LWFsaWduJ10gOiAnbGVmdCc7XG4gICAgICB0aGlzLmZpZWxkQWxpZ25tZW50ID0gKHJlY1RhYmxlQ29sUmVjZWl2ZWQuYWxpZ25tZW50ICE9IG51bGwpID8gcmVjVGFibGVDb2xSZWNlaXZlZC5hbGlnbm1lbnQudG9Mb3dlckNhc2UoKSA6IGRlZmF1bHRUeXBlQWxpZ25tZW50O1xuICAgICAgdGhpcy5fYWJzb2x1dGVWaXNpYmxlID0gcmVjVGFibGVDb2xSZWNlaXZlZD8udmlzaWJsZSA/PyB0cnVlO1xuICAgICAgdGhpcy5zb3J0YWJsZSA9IHJlY1RhYmxlQ29sUmVjZWl2ZWQ/LnNvcnRhYmxlID8/IGZhbHNlO1xuICAgICAgdGhpcy5zZWFyY2hhYmxlID0gcmVjVGFibGVDb2xSZWNlaXZlZD8uc2VhcmNoYWJsZSA/PyB0cnVlO1xuICAgICAgdGhpcy5zb3J0RGlyZWN0aW9ucyA9ICh0aGlzLnNvcnRhYmxlKSA/IFsnYXNjZW5kJywgJ2Rlc2NlbmQnXSA6IFtdO1xuICAgICAgdGhpcy5maWVsZEZvcm1hdCA9IHJlY1RhYmxlQ29sUmVjZWl2ZWQuZm9ybWF0IHx8ICcnO1xuICAgICAgdGhpcy5jdXN0b21BdHRyaWJ1dGVzID0gcmVjVGFibGVDb2xSZWNlaXZlZD8uY3VzdG9tQXR0cmlidXRlcyA/PyB7fTtcbiAgICB9XG4gIH1cblxuICBzZXRTZWFyY2hhYmxlKHNlYXJjaGFibGUgPSB0cnVlKSB7IHRoaXMuc2VhcmNoYWJsZSA9IHNlYXJjaGFibGU7IH1cblxuICBoaWRlRmlsdGVyKCkge1xuICAgIHRoaXMuZmlsdGVyVmlzaWJsZSA9IGZhbHNlO1xuICB9XG5cbiAgYWRkRmlsdGVyRGVmaW5pdGlvbihmaWx0ZXJEZWZpbml0aW9uKSB7XG4gICAgdGhpcy5maWx0ZXJEZWYgPSB7XG4gICAgICBvcGVyYXRvcnM6IGZpbHRlckRlZmluaXRpb24ub3BlcmF0b3JzLFxuICAgICAgb3B0aW9uczogZmlsdGVyRGVmaW5pdGlvbi5vcHRpb25zID8/IG51bGwsXG4gICAgfTtcbiAgfVxuXG4gIGdldCBmaWx0ZXJEZWZpbml0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLmZpbHRlckRlZjtcbiAgfVxuXG4gIGFkZEZpbHRlcihjb2x1bW5WYWx1ZXMsIG9wZXJhdG9yKSB7XG4gICAgdGhpcy5maWx0ZXJTZXR1cCA9IHtcbiAgICAgIGZpZWxkQ29kZTogdGhpcy5maWVsZENvZGUsXG4gICAgICBvcGVyYXRvcjogb3BlcmF0b3IgPz8gdGhpcy5maWx0ZXJEZWY/Lm9wZXJhdG9yc1swXSxcbiAgICAgIHZhbHVlczogY29sdW1uVmFsdWVzLFxuICAgIH1cbiAgfVxuXG4gIGdldCBmaWx0ZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyU2V0dXA7XG4gIH1cblxuICByZW1vdmVGaWx0ZXIoKSB7XG4gICAgdGhpcy5maWx0ZXJTZXR1cCA9IG51bGw7XG4gIH1cblxuICBnZXQgb3B0aW9ucygpIHtcbiAgICBpZiAodGhpcy5maWx0ZXJEZWY/Lm9wZXJhdG9ycz8ubGVuZ3RoID09PSAxICYmIHRoaXMuZmlsdGVyRGVmPy5vcGVyYXRvcnNbMF0gPT09ICdJTicpIHtcbiAgICAgIHJldHVybiB0aGlzLmZpbHRlckRlZj8ub3B0aW9ucztcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBzZXJTb3J0RGlyZWN0aW9ucyhhc2NlbmQ6IGJvb2xlYW4sIGRlc2NlbmQ6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnNvcnREaXJlY3Rpb25zID0gW107XG4gICAgaWYgKGFzY2VuZCkge1xuICAgICAgdGhpcy5zb3J0RGlyZWN0aW9ucy51bnNoaWZ0KCdhc2NlbmQnKTtcbiAgICB9XG4gICAgaWYgKGRlc2NlbmQpIHtcbiAgICAgIHRoaXMuc29ydERpcmVjdGlvbnMudW5zaGlmdCgnZGVzY2VuZCcpO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { operators } from '../form.constants';
|
|
2
|
+
export class TableRecordData {
|
|
3
|
+
constructor(recordReceived, recordDefinition, selectionFieldName = null) {
|
|
4
|
+
this.recordId = null;
|
|
5
|
+
this.selected = false;
|
|
6
|
+
this.recordData = {};
|
|
7
|
+
const { tableRecordId, recordData } = recordReceived;
|
|
8
|
+
this.recordId = tableRecordId;
|
|
9
|
+
if (!recordDefinition || recordDefinition.length === 0 || !recordData || recordData.length === 0) {
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
12
|
+
const fieldNames = recordDefinition.map(column => column.fieldCode);
|
|
13
|
+
if (Array.isArray(recordData)) {
|
|
14
|
+
const rawRecordData = recordData.filter(fieldData => fieldData.fieldCode && fieldNames.includes(fieldData.fieldCode));
|
|
15
|
+
rawRecordData.forEach(fieldData => {
|
|
16
|
+
const { fieldCode, fieldValue } = fieldData;
|
|
17
|
+
const fieldDef = recordDefinition.find(column => column.fieldCode === fieldCode);
|
|
18
|
+
this.recordData[fieldCode] = fieldValue ?? '';
|
|
19
|
+
if (fieldCode === selectionFieldName) {
|
|
20
|
+
this.selected = fieldValue;
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
const fields = Object.keys(recordData);
|
|
26
|
+
fields.forEach(fieldCode => {
|
|
27
|
+
const fieldValue = recordData[fieldCode];
|
|
28
|
+
const fieldDef = recordDefinition.find(column => column.fieldCode === fieldCode);
|
|
29
|
+
this.recordData[fieldCode] = fieldValue ?? '';
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
toggleSelect() { this.selected = !this.selected; }
|
|
34
|
+
select() { this.selected = true; }
|
|
35
|
+
unselect() { this.selected = false; }
|
|
36
|
+
get recordIdKey() {
|
|
37
|
+
return (typeof this.recordId === 'object')
|
|
38
|
+
? JSON.stringify(this.recordId) : this.recordId;
|
|
39
|
+
}
|
|
40
|
+
getFieldValue(fieldCode) {
|
|
41
|
+
return (fieldCode && this.recordData) ? this.recordData[fieldCode] : null;
|
|
42
|
+
}
|
|
43
|
+
hasPattern(words, columnObj) {
|
|
44
|
+
if (!words || words.length === 0) {
|
|
45
|
+
return true;
|
|
46
|
+
}
|
|
47
|
+
for (const word of words) {
|
|
48
|
+
let wordIsPresent = false;
|
|
49
|
+
for (const fieldCode in this.recordData) {
|
|
50
|
+
const columnDef = columnObj?.[fieldCode];
|
|
51
|
+
if (columnDef?.searchable && this.recordData.hasOwnProperty(fieldCode)) {
|
|
52
|
+
const term = word.toUpperCase();
|
|
53
|
+
let fieldValue;
|
|
54
|
+
if (columnDef.fieldType.toUpperCase().includes('DATE')) {
|
|
55
|
+
fieldValue = this.recordData[fieldCode].substring(0, 16);
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
fieldValue = this.recordData[fieldCode];
|
|
59
|
+
}
|
|
60
|
+
if (fieldValue.toString().toUpperCase().includes(term)) {
|
|
61
|
+
wordIsPresent = true;
|
|
62
|
+
break;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
if (!wordIsPresent) {
|
|
67
|
+
return false;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
return true;
|
|
71
|
+
}
|
|
72
|
+
hasCondition(columnFilters) {
|
|
73
|
+
if (!columnFilters || columnFilters.length === 0) {
|
|
74
|
+
return true;
|
|
75
|
+
}
|
|
76
|
+
for (const condition of columnFilters) {
|
|
77
|
+
const { fieldCode, operator, values } = condition;
|
|
78
|
+
if (this.recordData.hasOwnProperty(fieldCode)) {
|
|
79
|
+
const fieldValue = this.recordData[fieldCode];
|
|
80
|
+
const stringValue = fieldValue.toString().toUpperCase();
|
|
81
|
+
if (operator === operators.G && fieldValue <= values[0]) {
|
|
82
|
+
return false;
|
|
83
|
+
}
|
|
84
|
+
if (operator === operators.L && fieldValue >= values[0]) {
|
|
85
|
+
return false;
|
|
86
|
+
}
|
|
87
|
+
if (operator === operators.GE && fieldValue < values[0]) {
|
|
88
|
+
return false;
|
|
89
|
+
}
|
|
90
|
+
if (operator === operators.LE && fieldValue > values[0]) {
|
|
91
|
+
return false;
|
|
92
|
+
}
|
|
93
|
+
if (operator === operators.IN && !values.includes(fieldValue)) {
|
|
94
|
+
return false;
|
|
95
|
+
}
|
|
96
|
+
if (operator === operators.EQ) {
|
|
97
|
+
return fieldValue === values[0];
|
|
98
|
+
}
|
|
99
|
+
if (operator === operators.NEQ && fieldValue === values[0]) {
|
|
100
|
+
return false;
|
|
101
|
+
}
|
|
102
|
+
if (operator === operators.HAS && !stringValue.includes(values[0].toString().toUpperCase())) {
|
|
103
|
+
return false;
|
|
104
|
+
}
|
|
105
|
+
if (operator === operators.NOTHAS && stringValue.includes(values[0].toString().toUpperCase())) {
|
|
106
|
+
return false;
|
|
107
|
+
}
|
|
108
|
+
if (operator === operators.BETWEEN && (fieldValue < values[0] || fieldValue > values[1])) {
|
|
109
|
+
return false;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
return true;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWFpbi1uZy1mb3Jtcy1saWIvc3JjL2xpYi9jbGFzc2VzL2Zvcm1zL3RhYmxlL3Jvdy1kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUU5QyxNQUFNLE9BQU8sZUFBZTtJQUsxQixZQUFZLGNBQWMsRUFBRSxnQkFBcUMsRUFBRSxrQkFBa0IsR0FBRyxJQUFJO1FBSjVGLGFBQVEsR0FBa0IsSUFBSSxDQUFDO1FBQy9CLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsZUFBVSxHQUFRLEVBQUUsQ0FBQztRQUduQixNQUFNLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxHQUFHLGNBQWMsQ0FBQztRQUNyRCxJQUFJLENBQUMsUUFBUSxHQUFHLGFBQWEsQ0FBQztRQUM5QixJQUFJLENBQUMsZ0JBQWdCLElBQUksZ0JBQWdCLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxVQUFVLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUNoRyxPQUFPO1NBQ1I7UUFDRCxNQUFNLFVBQVUsR0FBRyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDcEUsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQzdCLE1BQU0sYUFBYSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsU0FBUyxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7WUFDdEgsYUFBYSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRTtnQkFDaEMsTUFBTSxFQUFFLFNB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QUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVjb3JkVGFibGVDb2x1bW4gfSBmcm9tICcuL2NvbHVtbic7XG5pbXBvcnQgeyBvcGVyYXRvcnMgfSBmcm9tICcuLi9mb3JtLmNvbnN0YW50cyc7XG5cbmV4cG9ydCBjbGFzcyBUYWJsZVJlY29yZERhdGEge1xuICByZWNvcmRJZDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIHNlbGVjdGVkOiBib29sZWFuID0gZmFsc2U7XG4gIHJlY29yZERhdGE6IGFueSA9IHt9O1xuXG4gIGNvbnN0cnVjdG9yKHJlY29yZFJlY2VpdmVkLCByZWNvcmREZWZpbml0aW9uOiBSZWNvcmRUYWJsZUNvbHVtbltdLCBzZWxlY3Rpb25GaWVsZE5hbWUgPSBudWxsKSB7XG4gICAgY29uc3QgeyB0YWJsZVJlY29yZElkLCByZWNvcmREYXRhIH0gPSByZWNvcmRSZWNlaXZlZDtcbiAgICB0aGlzLnJlY29yZElkID0gdGFibGVSZWNvcmRJZDtcbiAgICBpZiAoIXJlY29yZERlZmluaXRpb24gfHwgcmVjb3JkRGVmaW5pdGlvbi5sZW5ndGggPT09IDAgfHwgIXJlY29yZERhdGEgfHwgcmVjb3JkRGF0YS5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgZmllbGROYW1lcyA9IHJlY29yZERlZmluaXRpb24ubWFwKGNvbHVtbiA9PiBjb2x1bW4uZmllbGRDb2RlKTtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShyZWNvcmREYXRhKSkge1xuICAgICAgY29uc3QgcmF3UmVjb3JkRGF0YSA9IHJlY29yZERhdGEuZmlsdGVyKGZpZWxkRGF0YSA9PiBmaWVsZERhdGEuZmllbGRDb2RlICYmIGZpZWxkTmFtZXMuaW5jbHVkZXMoZmllbGREYXRhLmZpZWxkQ29kZSkpO1xuICAgICAgcmF3UmVjb3JkRGF0YS5mb3JFYWNoKGZpZWxkRGF0YSA9PiB7XG4gICAgICAgIGNvbnN0IHsgZmllbGRDb2RlLCBmaWVsZFZhbHVlIH0gPSBmaWVsZERhdGE7XG4gICAgICAgIGNvbnN0IGZpZWxkRGVmID0gcmVjb3JkRGVmaW5pdGlvbi5maW5kKGNvbHVtbiA9PiBjb2x1bW4uZmllbGRDb2RlID09PSBmaWVsZENvZGUpO1xuICAgICAgICB0aGlzLnJlY29yZERhdGFbZmllbGRDb2RlXSA9IGZpZWxkVmFsdWUgPz8gJyc7XG4gICAgICAgIGlmIChmaWVsZENvZGUgPT09IHNlbGVjdGlvbkZpZWxkTmFtZSkge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWQgPSBmaWVsZFZhbHVlO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgZmllbGRzID0gT2JqZWN0LmtleXMocmVjb3JkRGF0YSk7XG4gICAgICBmaWVsZHMuZm9yRWFjaChmaWVsZENvZGUgPT4ge1xuICAgICAgICBjb25zdCBmaWVsZFZhbHVlID0gcmVjb3JkRGF0YVtmaWVsZENvZGVdO1xuICAgICAgICBjb25zdCBmaWVsZERlZiA9IHJlY29yZERlZmluaXRpb24uZmluZChjb2x1bW4gPT4gY29sdW1uLmZpZWxkQ29kZSA9PT0gZmllbGRDb2RlKTtcbiAgICAgICAgdGhpcy5yZWNvcmREYXRhW2ZpZWxkQ29kZV0gPSBmaWVsZFZhbHVlID8/ICcnO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgdG9nZ2xlU2VsZWN0KCkgeyB0aGlzLnNlbGVjdGVkID0gIXRoaXMuc2VsZWN0ZWQ7IH1cbiAgc2VsZWN0KCkgeyB0aGlzLnNlbGVjdGVkID0gdHJ1ZTsgfVxuICB1bnNlbGVjdCgpIHsgdGhpcy5zZWxlY3RlZCA9IGZhbHNlOyB9XG5cbiAgZ2V0IHJlY29yZElkS2V5KCkge1xuICAgIHJldHVybiAodHlwZW9mIHRoaXMucmVjb3JkSWQgPT09ICdvYmplY3QnKVxuICAgICAgPyBKU09OLnN0cmluZ2lmeSh0aGlzLnJlY29yZElkKSA6IHRoaXMucmVjb3JkSWQ7XG4gIH1cblxuICBnZXRGaWVsZFZhbHVlKGZpZWxkQ29kZSk6IGFueSB7XG4gICAgcmV0dXJuIChmaWVsZENvZGUgJiYgdGhpcy5yZWNvcmREYXRhKSA/IHRoaXMucmVjb3JkRGF0YVtmaWVsZENvZGVdIDogbnVsbDtcbiAgfVxuXG4gIGhhc1BhdHRlcm4od29yZHMsIGNvbHVtbk9iaikge1xuICAgIGlmICghd29yZHMgfHwgd29yZHMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgZm9yIChjb25zdCB3b3JkIG9mIHdvcmRzKSB7XG4gICAgICBsZXQgd29yZElzUHJlc2VudCA9IGZhbHNlO1xuICAgICAgZm9yIChjb25zdCBmaWVsZENvZGUgaW4gdGhpcy5yZWNvcmREYXRhKSB7XG4gICAgICAgIGNvbnN0IGNvbHVtbkRlZiA9IGNvbHVtbk9iaj8uW2ZpZWxkQ29kZV07XG4gICAgICAgIGlmIChjb2x1bW5EZWY/LnNlYXJjaGFibGUgJiYgdGhpcy5yZWNvcmREYXRhLmhhc093blByb3BlcnR5KGZpZWxkQ29kZSkpIHtcbiAgICAgICAgICBjb25zdCB0ZXJtID0gd29yZC50b1VwcGVyQ2FzZSgpO1xuICAgICAgICAgIGxldCBmaWVsZFZhbHVlO1xuICAgICAgICAgIGlmIChjb2x1bW5EZWYuZmllbGRUeXBlLnRvVXBwZXJDYXNlKCkuaW5jbHVkZXMoJ0RBVEUnKSkge1xuICAgICAgICAgICAgZmllbGRWYWx1ZSA9IHRoaXMucmVjb3JkRGF0YVtmaWVsZENvZGVdLnN1YnN0cmluZygwLCAxNik7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGZpZWxkVmFsdWUgPSB0aGlzLnJlY29yZERhdGFbZmllbGRDb2RlXTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGZpZWxkVmFsdWUudG9TdHJpbmcoKS50b1VwcGVyQ2FzZSgpLmluY2x1ZGVzKHRlcm0pKSB7XG4gICAgICAgICAgICB3b3JkSXNQcmVzZW50ID0gdHJ1ZTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKCF3b3JkSXNQcmVzZW50KSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBoYXNDb25kaXRpb24oY29sdW1uRmlsdGVycykge1xuICAgIGlmICghY29sdW1uRmlsdGVycyB8fCBjb2x1bW5GaWx0ZXJzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGZvciAoY29uc3QgY29uZGl0aW9uIG9mIGNvbHVtbkZpbHRlcnMpIHtcbiAgICAgIGNvbnN0IHsgZmllbGRDb2RlLCBvcGVyYXRvciwgdmFsdWVzIH0gPSBjb25kaXRpb247XG4gICAgICBpZiAodGhpcy5yZWNvcmREYXRhLmhhc093blByb3BlcnR5KGZpZWxkQ29kZSkpIHtcbiAgICAgICAgY29uc3QgZmllbGRWYWx1ZSA9IHRoaXMucmVjb3JkRGF0YVtmaWVsZENvZGVdO1xuICAgICAgICBjb25zdCBzdHJpbmdWYWx1ZSA9IGZpZWxkVmFsdWUudG9TdHJpbmcoKS50b1VwcGVyQ2FzZSgpO1xuICAgICAgICBpZiAob3BlcmF0b3IgPT09IG9wZXJhdG9ycy5HICYmIGZpZWxkVmFsdWUgPD0gdmFsdWVzWzBdKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChvcGVyYXRvciA9PT0gb3BlcmF0b3JzLkwgJiYgZmllbGRWYWx1ZSA+PSB2YWx1ZXNbMF0pIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG9wZXJhdG9yID09PSBvcGVyYXRvcnMuR0UgJiYgZmllbGRWYWx1ZSA8IHZhbHVlc1swXSkge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAob3BlcmF0b3IgPT09IG9wZXJhdG9ycy5MRSAmJiBmaWVsZFZhbHVlID4gdmFsdWVzWzBdKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChvcGVyYXRvciA9PT0gb3BlcmF0b3JzLklOICYmICF2YWx1ZXMuaW5jbHVkZXMoZmllbGRWYWx1ZSkpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG9wZXJhdG9yID09PSBvcGVyYXRvcnMuRVEpIHtcbiAgICAgICAgICByZXR1cm4gZmllbGRWYWx1ZSA9PT0gdmFsdWVzWzBdO1xuICAgICAgICB9XG4gICAgICAgIGlmIChvcGVyYXRvciA9PT0gb3BlcmF0b3JzLk5FUSAmJiBmaWVsZFZhbHVlID09PSB2YWx1ZXNbMF0pIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG9wZXJhdG9yID09PSBvcGVyYXRvcnMuSEFTICYmICFzdHJpbmdWYWx1ZS5pbmNsdWRlcyh2YWx1ZXNbMF0udG9TdHJpbmcoKS50b1VwcGVyQ2FzZSgpKSkge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAob3BlcmF0b3IgPT09IG9wZXJhdG9ycy5OT1RIQVMgJiYgc3RyaW5nVmFsdWUuaW5jbHVkZXModmFsdWVzWzBdLnRvU3RyaW5nKCkudG9VcHBlckNhc2UoKSkpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG9wZXJhdG9yID09PSBvcGVyYXRvcnMuQkVUV0VFTiAmJiAoZmllbGRWYWx1ZSA8IHZhbHVlc1swXSB8fCBmaWVsZFZhbHVlID4gdmFsdWVzWzFdKSkge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuIl19
|