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.
- package/esm2022/lib/classes/forms/action.mjs +106 -0
- package/esm2022/lib/classes/forms/element.mjs +25 -0
- package/esm2022/lib/classes/forms/field.mjs +474 -0
- package/esm2022/lib/classes/forms/form.constants.mjs +26 -0
- package/esm2022/lib/classes/forms/form.mjs +608 -0
- package/esm2022/lib/classes/forms/piece-propagate.mjs +39 -0
- package/esm2022/lib/classes/forms/piece.mjs +134 -0
- package/esm2022/lib/classes/forms/section.mjs +151 -0
- package/esm2022/lib/classes/forms/subsection.mjs +99 -0
- package/esm2022/lib/classes/forms/table/action.mjs +38 -0
- package/esm2022/lib/classes/forms/table/column.mjs +74 -0
- package/esm2022/lib/classes/forms/table/row-data.mjs +116 -0
- package/esm2022/lib/classes/forms/table/table.mjs +535 -0
- package/esm2022/lib/components/elements/action.component.mjs +70 -0
- package/esm2022/lib/components/elements/field.component.mjs +115 -0
- package/esm2022/lib/components/elements/layout/element.component.mjs +21 -0
- package/esm2022/lib/components/elements/layout/form-error.component.mjs +23 -0
- package/esm2022/lib/components/elements/layout/form-header.component.mjs +23 -0
- package/esm2022/lib/components/elements/layout/piece.component.mjs +64 -0
- package/esm2022/lib/components/elements/layout/section.component.mjs +56 -0
- package/esm2022/lib/components/elements/layout/sub-section.component.mjs +56 -0
- package/esm2022/lib/components/elements/tables/table-record-action.component.mjs +72 -0
- package/esm2022/lib/components/elements/tables/table-record-field.component.mjs +31 -0
- package/esm2022/lib/components/elements/tables/table.component.mjs +109 -0
- package/esm2022/lib/components/forms/basic-form.mjs +1408 -0
- package/esm2022/lib/services/event-manager.service.mjs +43 -0
- package/esm2022/lib/services/file-manager.service.mjs +7 -0
- package/esm2022/lib/services/form-manager.service.mjs +81 -0
- package/esm2022/lib/tuain-ng-forms-lib.module.mjs +71 -0
- package/esm2022/public-api.mjs +19 -0
- package/esm2022/tuain-ng-forms-lib.mjs +5 -0
- package/fesm2022/tuain-ng-forms-lib.mjs +4602 -0
- package/fesm2022/tuain-ng-forms-lib.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/classes/forms/action.d.ts +40 -0
- package/lib/classes/forms/element.d.ts +9 -0
- package/lib/classes/forms/field.d.ts +206 -0
- package/lib/classes/forms/form.constants.d.ts +25 -0
- package/lib/classes/forms/form.d.ts +232 -0
- package/lib/classes/forms/piece-propagate.d.ts +13 -0
- package/lib/classes/forms/piece.d.ts +51 -0
- package/lib/classes/forms/section.d.ts +43 -0
- package/lib/classes/forms/subsection.d.ts +42 -0
- package/lib/classes/forms/table/action.d.ts +16 -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 +145 -0
- package/lib/components/elements/action.component.d.ts +22 -0
- package/lib/components/elements/field.component.d.ts +47 -0
- package/lib/components/elements/layout/element.component.d.ts +8 -0
- package/lib/components/elements/layout/form-error.component.d.ts +8 -0
- package/lib/components/elements/layout/form-header.component.d.ts +9 -0
- package/lib/components/elements/layout/piece.component.d.ts +18 -0
- package/lib/components/elements/layout/section.component.d.ts +13 -0
- package/lib/components/elements/layout/sub-section.component.d.ts +13 -0
- package/lib/components/elements/tables/table-record-action.component.d.ts +18 -0
- package/lib/components/elements/tables/table-record-field.component.d.ts +12 -0
- package/lib/components/elements/tables/table.component.d.ts +44 -0
- package/lib/components/forms/basic-form.d.ts +257 -0
- package/lib/services/event-manager.service.d.ts +11 -0
- package/lib/services/file-manager.service.d.ts +6 -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 +16 -2
- package/{src/public-api.ts → public-api.d.ts} +0 -5
- 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 -117
- package/src/lib/classes/forms/element.ts +0 -26
- package/src/lib/classes/forms/field.ts +0 -522
- package/src/lib/classes/forms/form.constants.ts +0 -28
- package/src/lib/classes/forms/form.ts +0 -692
- package/src/lib/classes/forms/piece-propagate.ts +0 -47
- package/src/lib/classes/forms/piece.ts +0 -164
- package/src/lib/classes/forms/section.ts +0 -165
- package/src/lib/classes/forms/subsection.ts +0 -109
- package/src/lib/classes/forms/table/action.ts +0 -41
- 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 -582
- package/src/lib/components/elements/action.component.ts +0 -70
- package/src/lib/components/elements/field.component.ts +0 -115
- package/src/lib/components/elements/layout/element.component.ts +0 -14
- package/src/lib/components/elements/layout/form-error.component.ts +0 -11
- package/src/lib/components/elements/layout/form-header.component.ts +0 -14
- package/src/lib/components/elements/layout/piece.component.ts +0 -60
- package/src/lib/components/elements/layout/section.component.ts +0 -52
- package/src/lib/components/elements/layout/sub-section.component.ts +0 -52
- package/src/lib/components/elements/tables/table-record-action.component.ts +0 -66
- package/src/lib/components/elements/tables/table-record-field.component.ts +0 -20
- package/src/lib/components/elements/tables/table.component.ts +0 -112
- package/src/lib/components/forms/basic-form.ts +0 -1464
- package/src/lib/services/event-manager.service.ts +0 -45
- package/src/lib/services/file-manager.service.ts +0 -7
- 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,70 @@
|
|
|
1
|
+
import { Component, signal, Input } from '@angular/core';
|
|
2
|
+
import { Subject, takeUntil } from 'rxjs';
|
|
3
|
+
import { ElementComponent } from './layout/element.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
const CUSTOM_ATTRIBUTES = 'customAttributes';
|
|
6
|
+
const signaledAttributes = [
|
|
7
|
+
'actionCode', 'actionName', 'iconName', 'inProgress', 'restrictedOnField', 'restrictedOnOperator',
|
|
8
|
+
'restrictedOnValue', 'visible', 'disabled',
|
|
9
|
+
];
|
|
10
|
+
export class ActionComponent extends ElementComponent {
|
|
11
|
+
destroy$ = new Subject();
|
|
12
|
+
actionCode = signal(null);
|
|
13
|
+
actionName = signal(null);
|
|
14
|
+
iconName = signal(null);
|
|
15
|
+
inProgress = signal(false);
|
|
16
|
+
restrictedOnField = signal(null);
|
|
17
|
+
restrictedOnOperator = signal(null);
|
|
18
|
+
restrictedOnValue = signal(null);
|
|
19
|
+
action = null;
|
|
20
|
+
updatePropagatedAttributes() {
|
|
21
|
+
this.updatePieceAttributes(this.action, signaledAttributes);
|
|
22
|
+
}
|
|
23
|
+
ngOnInit() {
|
|
24
|
+
if (!this.action) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
this.action.widget = this;
|
|
28
|
+
this.formConfig = this.action?._formConfig;
|
|
29
|
+
this.updatePropagatedAttributes();
|
|
30
|
+
this.replaceCustomAttributes(this.action?.customAttributes);
|
|
31
|
+
this.action?.attributeChange
|
|
32
|
+
.pipe(takeUntil(this.destroy$))
|
|
33
|
+
.subscribe(event => {
|
|
34
|
+
const { name: attribute, value = null } = event ?? {};
|
|
35
|
+
const attributeParts = attribute?.split('.') ?? [];
|
|
36
|
+
if (signaledAttributes.includes(attribute)) {
|
|
37
|
+
this.updatePieceAttribute(signaledAttributes, attribute, value);
|
|
38
|
+
}
|
|
39
|
+
else if (attributeParts?.length > 1 && attributeParts?.[0] === CUSTOM_ATTRIBUTES) {
|
|
40
|
+
const subAttribute = attributeParts?.[1] ?? null;
|
|
41
|
+
this.updateCustomAttribute(subAttribute, value);
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
this.start();
|
|
45
|
+
}
|
|
46
|
+
start() {
|
|
47
|
+
this.setForm(this.action?._form);
|
|
48
|
+
}
|
|
49
|
+
activate() {
|
|
50
|
+
if (this.action?.notifyActivation) {
|
|
51
|
+
this.action.notifyActivation();
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
ngOnDestroy() {
|
|
55
|
+
this.destroy$.next();
|
|
56
|
+
this.destroy$.complete();
|
|
57
|
+
}
|
|
58
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ActionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
59
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ActionComponent, selector: "lib-action", inputs: { action: "action" }, usesInheritance: true, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true });
|
|
60
|
+
}
|
|
61
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ActionComponent, decorators: [{
|
|
62
|
+
type: Component,
|
|
63
|
+
args: [{
|
|
64
|
+
selector: 'lib-action',
|
|
65
|
+
template: `<ng-content></ng-content>`
|
|
66
|
+
}]
|
|
67
|
+
}], propDecorators: { action: [{
|
|
68
|
+
type: Input
|
|
69
|
+
}] } });
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1YWluLW5nLWZvcm1zLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvZWxlbWVudHMvYWN0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFMUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBRTlELE1BQU0saUJBQWlCLEdBQUcsa0JBQWtCLENBQUM7QUFFN0MsTUFBTSxrQkFBa0IsR0FBRztJQUN6QixZQUFZLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsc0JBQXNCO0lBQ2pHLG1CQUFtQixFQUFFLFNBQVMsRUFBRSxVQUFVO0NBQzNDLENBQUM7QUFPRixNQUFNLE9BQU8sZUFBZ0IsU0FBUSxnQkFBZ0I7SUFDM0MsUUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFFdkMsVUFBVSxHQUFRLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQixVQUFVLEdBQVEsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9CLFFBQVEsR0FBUSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0IsVUFBVSxHQUFRLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoQyxpQkFBaUIsR0FBUSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEMsb0JBQW9CLEdBQVEsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pDLGlCQUFpQixHQUFRLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUU3QixNQUFNLEdBQXNCLElBQUksQ0FBQztJQUUxQywwQkFBMEI7UUFDeEIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsa0JBQWtCLENBQUMsQ0FBQTtJQUM3RCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFBQyxPQUFPO1FBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDMUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQztRQUMzQyxJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztRQUNsQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxNQUFNLEVBQUUsZUFBZTthQUN6QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUM5QixTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDakIsTUFBTSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsS0FBSyxHQUFHLElBQUksRUFBRSxHQUFHLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDdEQsTUFBTSxjQUFjLEdBQUcsU0FBUyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDbkQsSUFBSSxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztnQkFDM0MsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGtCQUFrQixFQUFFLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNsRSxDQUFDO2lCQUFNLElBQUksY0FBYyxFQUFFLE1BQU0sR0FBRyxDQUFDLElBQUksY0FBYyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssaUJBQWlCLEVBQUUsQ0FBQztnQkFDbkYsTUFBTSxZQUFZLEdBQUcsY0FBYyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO2dCQUNqRCxJQUFJLENBQUMscUJBQXFCLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ2xELENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNmLENBQUM7SUFFUSxLQUFLO1FBQ1osSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLGdCQUFnQixFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ2pDLENBQUM7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDO3dHQW5EVSxlQUFlOzRGQUFmLGVBQWUsdUdBSGhCLDJCQUEyQjs7NEZBRzFCLGVBQWU7a0JBTDNCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFlBQVk7b0JBQ3RCLFFBQVEsRUFBRSwyQkFBMkI7aUJBQ3RDOzhCQWFVLE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgc2lnbmFsLCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZvcm1BY3Rpb24gfSBmcm9tICcuLi8uLi9jbGFzc2VzL2Zvcm1zL2FjdGlvbic7XG5pbXBvcnQgeyBFbGVtZW50Q29tcG9uZW50IH0gZnJvbSAnLi9sYXlvdXQvZWxlbWVudC5jb21wb25lbnQnO1xuXG5jb25zdCBDVVNUT01fQVRUUklCVVRFUyA9ICdjdXN0b21BdHRyaWJ1dGVzJztcblxuY29uc3Qgc2lnbmFsZWRBdHRyaWJ1dGVzID0gW1xuICAnYWN0aW9uQ29kZScsICdhY3Rpb25OYW1lJywgJ2ljb25OYW1lJywgJ2luUHJvZ3Jlc3MnLCAncmVzdHJpY3RlZE9uRmllbGQnLCAncmVzdHJpY3RlZE9uT3BlcmF0b3InLFxuICAncmVzdHJpY3RlZE9uVmFsdWUnLCAndmlzaWJsZScsICdkaXNhYmxlZCcsXG5dO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItYWN0aW9uJyxcbiAgdGVtcGxhdGU6IGA8bmctY29udGVudD48L25nLWNvbnRlbnQ+YFxufSlcblxuZXhwb3J0IGNsYXNzIEFjdGlvbkNvbXBvbmVudCBleHRlbmRzIEVsZW1lbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBhY3Rpb25Db2RlOiBhbnkgPSBzaWduYWwobnVsbCk7XG4gIGFjdGlvbk5hbWU6IGFueSA9IHNpZ25hbChudWxsKTtcbiAgaWNvbk5hbWU6IGFueSA9IHNpZ25hbChudWxsKTtcbiAgaW5Qcm9ncmVzczogYW55ID0gc2lnbmFsKGZhbHNlKTtcbiAgcmVzdHJpY3RlZE9uRmllbGQ6IGFueSA9IHNpZ25hbChudWxsKTtcbiAgcmVzdHJpY3RlZE9uT3BlcmF0b3I6IGFueSA9IHNpZ25hbChudWxsKTtcbiAgcmVzdHJpY3RlZE9uVmFsdWU6IGFueSA9IHNpZ25hbChudWxsKTtcblxuICBASW5wdXQoKSBhY3Rpb246IEZvcm1BY3Rpb24gfCBudWxsID0gbnVsbDtcblxuICB1cGRhdGVQcm9wYWdhdGVkQXR0cmlidXRlcygpIHtcbiAgICB0aGlzLnVwZGF0ZVBpZWNlQXR0cmlidXRlcyh0aGlzLmFjdGlvbiwgc2lnbmFsZWRBdHRyaWJ1dGVzKVxuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKCF0aGlzLmFjdGlvbikgeyByZXR1cm47IH1cbiAgICB0aGlzLmFjdGlvbi53aWRnZXQgPSB0aGlzO1xuICAgIHRoaXMuZm9ybUNvbmZpZyA9IHRoaXMuYWN0aW9uPy5fZm9ybUNvbmZpZztcbiAgICB0aGlzLnVwZGF0ZVByb3BhZ2F0ZWRBdHRyaWJ1dGVzKCk7XG4gICAgdGhpcy5yZXBsYWNlQ3VzdG9tQXR0cmlidXRlcyh0aGlzLmFjdGlvbj8uY3VzdG9tQXR0cmlidXRlcyk7XG4gICAgdGhpcy5hY3Rpb24/LmF0dHJpYnV0ZUNoYW5nZVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICAgIGNvbnN0IHsgbmFtZTogYXR0cmlidXRlLCB2YWx1ZSA9IG51bGwgfSA9IGV2ZW50ID8/IHt9O1xuICAgICAgICBjb25zdCBhdHRyaWJ1dGVQYXJ0cyA9IGF0dHJpYnV0ZT8uc3BsaXQoJy4nKSA/PyBbXTtcbiAgICAgICAgaWYgKHNpZ25hbGVkQXR0cmlidXRlcy5pbmNsdWRlcyhhdHRyaWJ1dGUpKSB7XG4gICAgICAgICAgdGhpcy51cGRhdGVQaWVjZUF0dHJpYnV0ZShzaWduYWxlZEF0dHJpYnV0ZXMsIGF0dHJpYnV0ZSwgdmFsdWUpO1xuICAgICAgICB9IGVsc2UgaWYgKGF0dHJpYnV0ZVBhcnRzPy5sZW5ndGggPiAxICYmIGF0dHJpYnV0ZVBhcnRzPy5bMF0gPT09IENVU1RPTV9BVFRSSUJVVEVTKSB7XG4gICAgICAgICAgY29uc3Qgc3ViQXR0cmlidXRlID0gYXR0cmlidXRlUGFydHM/LlsxXSA/PyBudWxsO1xuICAgICAgICAgIHRoaXMudXBkYXRlQ3VzdG9tQXR0cmlidXRlKHN1YkF0dHJpYnV0ZSwgdmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB0aGlzLnN0YXJ0KCk7XG4gIH1cblxuICBvdmVycmlkZSBzdGFydCgpIHtcbiAgICB0aGlzLnNldEZvcm0odGhpcy5hY3Rpb24/Ll9mb3JtKTtcbiAgfVxuXG4gIGFjdGl2YXRlKCkge1xuICAgIGlmICh0aGlzLmFjdGlvbj8ubm90aWZ5QWN0aXZhdGlvbikge1xuICAgICAgdGhpcy5hY3Rpb24ubm90aWZ5QWN0aXZhdGlvbigpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxufSJdfQ==
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { Component, signal, Input, model } from '@angular/core';
|
|
2
|
+
import { Subject, takeUntil } from 'rxjs';
|
|
3
|
+
import { ElementComponent } from './layout/element.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
const CUSTOM_ATTRIBUTES = 'customAttributes';
|
|
6
|
+
const signaledAttributes = ['captureType', 'errorCode', 'errorMessage', 'errorType', 'defaultValue',
|
|
7
|
+
'defaultEditable', 'alignment', 'code', 'info', 'required', 'title', 'type', 'format', 'options',
|
|
8
|
+
'hasChanged', 'maxLength', 'maxValue', 'minLength', 'minValue', 'onValidation', 'outputOnly',
|
|
9
|
+
'placeholder', 'tooltip', 'validateOnServer', 'visibleLabel', 'visible', 'disabled', 'value',
|
|
10
|
+
];
|
|
11
|
+
const VALUE = 'value';
|
|
12
|
+
const FOCUS = 'focus';
|
|
13
|
+
export class FieldComponent extends ElementComponent {
|
|
14
|
+
destroy$ = new Subject();
|
|
15
|
+
// Atributos propagados desde el campo
|
|
16
|
+
captureType = signal('');
|
|
17
|
+
errorCode = signal('');
|
|
18
|
+
errorMessage = signal('');
|
|
19
|
+
errorType = signal('');
|
|
20
|
+
defaultValue = signal(null);
|
|
21
|
+
defaultEditable = signal(false);
|
|
22
|
+
alignment = signal('');
|
|
23
|
+
code = signal('');
|
|
24
|
+
info = signal(null);
|
|
25
|
+
required = signal(false);
|
|
26
|
+
title = signal('');
|
|
27
|
+
type = signal('');
|
|
28
|
+
format = signal(null);
|
|
29
|
+
options = signal([]);
|
|
30
|
+
hasChanged = signal(false);
|
|
31
|
+
minLength = signal(0);
|
|
32
|
+
maxLength = signal(0);
|
|
33
|
+
minValue = signal(null);
|
|
34
|
+
maxValue = signal(null);
|
|
35
|
+
onValidation = signal(false);
|
|
36
|
+
outputOnly = signal(false);
|
|
37
|
+
placeholder = signal('');
|
|
38
|
+
tooltip = signal('');
|
|
39
|
+
validateOnServer = signal(false);
|
|
40
|
+
visibleLabel = signal(true);
|
|
41
|
+
// value: any; // Valor del componente relacionado con el campo (pueden diferir en formato y tipo)
|
|
42
|
+
value = model(); // Valor del componente relacionado con el campo (pueden diferir en formato y tipo)
|
|
43
|
+
field = null;
|
|
44
|
+
// field = input.required<FieldDescriptor>();
|
|
45
|
+
updatePropagatedAttributes() {
|
|
46
|
+
this.updatePieceAttributes(this.field, signaledAttributes);
|
|
47
|
+
}
|
|
48
|
+
ngOnInit() {
|
|
49
|
+
if (!this.field) {
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
this.field.widget = this;
|
|
53
|
+
this.formConfig = this.field?._formConfig;
|
|
54
|
+
this.updatePropagatedAttributes();
|
|
55
|
+
this.updateValue();
|
|
56
|
+
this.replaceCustomAttributes(this.field?.customAttributes);
|
|
57
|
+
this.field?.attributeChange
|
|
58
|
+
.pipe(takeUntil(this.destroy$))
|
|
59
|
+
.subscribe(event => {
|
|
60
|
+
const { name: attribute, value = null } = event ?? {};
|
|
61
|
+
const attributeParts = attribute?.split('.') ?? [];
|
|
62
|
+
if (attribute === VALUE) {
|
|
63
|
+
this.updateValue();
|
|
64
|
+
}
|
|
65
|
+
else if (attribute === FOCUS) {
|
|
66
|
+
this.focus();
|
|
67
|
+
}
|
|
68
|
+
else if (signaledAttributes.includes(attribute)) {
|
|
69
|
+
this.updatePieceAttribute(signaledAttributes, attribute, value);
|
|
70
|
+
}
|
|
71
|
+
else if (attributeParts?.length > 1 && attributeParts?.[0] === CUSTOM_ATTRIBUTES) {
|
|
72
|
+
const subAttribute = attributeParts?.[1] ?? null;
|
|
73
|
+
this.updateCustomAttribute(subAttribute, value);
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
this.start();
|
|
77
|
+
}
|
|
78
|
+
updateValue() {
|
|
79
|
+
try {
|
|
80
|
+
this.value.set(this.field?.value);
|
|
81
|
+
}
|
|
82
|
+
catch (e) {
|
|
83
|
+
console.log(`Excepción en componente de campo ${e}`);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
onInputChange() { setTimeout(() => this.field?.notifyEditionPartial(), 50); }
|
|
87
|
+
onChangeContent() { setTimeout(() => this.field?.notifyEditionFinish(), 50); }
|
|
88
|
+
onShowInfo(detail = null) { setTimeout(() => this.field?.notifyEditionDetailRequest(detail), 50); }
|
|
89
|
+
focus() { }
|
|
90
|
+
updateObject(widgetUpdate = true) { this.field?.setValue(this.value(), widgetUpdate); }
|
|
91
|
+
inputChanged() {
|
|
92
|
+
this.updateObject();
|
|
93
|
+
this.onChangeContent();
|
|
94
|
+
}
|
|
95
|
+
inputTyped() {
|
|
96
|
+
this.updateObject(false);
|
|
97
|
+
this.onInputChange();
|
|
98
|
+
}
|
|
99
|
+
ngOnDestroy() {
|
|
100
|
+
this.destroy$.next();
|
|
101
|
+
this.destroy$.complete();
|
|
102
|
+
}
|
|
103
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
104
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.12", type: FieldComponent, selector: "lib-field", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, field: { classPropertyName: "field", publicName: "field", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange" }, usesInheritance: true, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true });
|
|
105
|
+
}
|
|
106
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FieldComponent, decorators: [{
|
|
107
|
+
type: Component,
|
|
108
|
+
args: [{
|
|
109
|
+
selector: 'lib-field',
|
|
110
|
+
template: `<ng-content></ng-content>`
|
|
111
|
+
}]
|
|
112
|
+
}], propDecorators: { field: [{
|
|
113
|
+
type: Input
|
|
114
|
+
}] } });
|
|
115
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVhaW4tbmctZm9ybXMtbGliL3NyYy9saWIvY29tcG9uZW50cy9lbGVtZW50cy9maWVsZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFTLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUxQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTs7QUFFN0QsTUFBTSxpQkFBaUIsR0FBRyxrQkFBa0IsQ0FBQztBQUU3QyxNQUFNLGtCQUFrQixHQUFHLENBQUMsYUFBYSxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLGNBQWM7SUFDakcsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFNBQVM7SUFDaEcsWUFBWSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsWUFBWTtJQUM1RixhQUFhLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE9BQU87Q0FDN0YsQ0FBQztBQUVGLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQztBQUN0QixNQUFNLEtBQUssR0FBRyxPQUFPLENBQUM7QUFLdEIsTUFBTSxPQUFPLGNBQWUsU0FBUSxnQkFBZ0I7SUFDMUMsUUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFFdkMsc0NBQXNDO0lBQ3RDLFdBQVcsR0FBUSxNQUFNLENBQVMsRUFBRSxDQUFDLENBQUM7SUFDdEMs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OUUsVUFBVSxDQUFDLE1BQU0sR0FBRyxJQUFJLElBQUksVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsMEJBQTBCLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRW5HLEtBQUssS0FBSyxDQUFDO0lBRVgsWUFBWSxDQUFDLFlBQVksR0FBRyxJQUFJLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUV2RixZQUFZO1FBQ1YsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7d0dBOUZVLGNBQWM7NEZBQWQsY0FBYyx3V0FGZiwyQkFBMkI7OzRGQUUxQixjQUFjO2tCQUoxQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxXQUFXO29CQUNyQixRQUFRLEVBQUUsMkJBQTJCO2lCQUN0Qzs4QkFpQ1UsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBzaWduYWwsIElucHV0LCBpbnB1dCwgbW9kZWwsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGaWVsZERlc2NyaXB0b3IgfSBmcm9tICcuLi8uLi9jbGFzc2VzL2Zvcm1zL2ZpZWxkJztcbmltcG9ydCB7IEVsZW1lbnRDb21wb25lbnQgfSBmcm9tICcuL2xheW91dC9lbGVtZW50LmNvbXBvbmVudCdcblxuY29uc3QgQ1VTVE9NX0FUVFJJQlVURVMgPSAnY3VzdG9tQXR0cmlidXRlcyc7XG5cbmNvbnN0IHNpZ25hbGVkQXR0cmlidXRlcyA9IFsnY2FwdHVyZVR5cGUnLCAnZXJyb3JDb2RlJywgJ2Vycm9yTWVzc2FnZScsICdlcnJvclR5cGUnLCAnZGVmYXVsdFZhbHVlJyxcbiAgJ2RlZmF1bHRFZGl0YWJsZScsICdhbGlnbm1lbnQnLCAnY29kZScsICdpbmZvJywgJ3JlcXVpcmVkJywgJ3RpdGxlJywgJ3R5cGUnLCAnZm9ybWF0JywgJ29wdGlvbnMnLFxuICAnaGFzQ2hhbmdlZCcsICdtYXhMZW5ndGgnLCAnbWF4VmFsdWUnLCAnbWluTGVuZ3RoJywgJ21pblZhbHVlJywgJ29uVmFsaWRhdGlvbicsICdvdXRwdXRPbmx5JyxcbiAgJ3BsYWNlaG9sZGVyJywgJ3Rvb2x0aXAnLCAndmFsaWRhdGVPblNlcnZlcicsICd2aXNpYmxlTGFiZWwnLCAndmlzaWJsZScsICdkaXNhYmxlZCcsICd2YWx1ZScsXG5dO1xuXG5jb25zdCBWQUxVRSA9ICd2YWx1ZSc7XG5jb25zdCBGT0NVUyA9ICdmb2N1cyc7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItZmllbGQnLFxuICB0ZW1wbGF0ZTogYDxuZy1jb250ZW50PjwvbmctY29udGVudD5gXG59KVxuZXhwb3J0IGNsYXNzIEZpZWxkQ29tcG9uZW50IGV4dGVuZHMgRWxlbWVudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIC8vIEF0cmlidXRvcyBwcm9wYWdhZG9zIGRlc2RlIGVsIGNhbXBvXG4gIGNhcHR1cmVUeXBlOiBhbnkgPSBzaWduYWw8c3RyaW5nPignJyk7XG4gIGVycm9yQ29kZTogYW55ID0gc2lnbmFsPHN0cmluZz4oJycpO1xuICBlcnJvck1lc3NhZ2U6IGFueSA9IHNpZ25hbDxzdHJpbmc+KCcnKTtcbiAgZXJyb3JUeXBlOiBhbnkgPSBzaWduYWw8c3RyaW5nPignJyk7XG4gIGRlZmF1bHRWYWx1ZTogYW55ID0gc2lnbmFsPGFueT4obnVsbCk7XG4gIGRlZmF1bHRFZGl0YWJsZTogYW55ID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcbiAgYWxpZ25tZW50OiBhbnkgPSBzaWduYWw8c3RyaW5nPignJyk7XG4gIGNvZGU6IGFueSA9IHNpZ25hbDxzdHJpbmc+KCcnKTtcbiAgaW5mbzogYW55ID0gc2lnbmFsPGFueT4obnVsbCk7XG4gIHJlcXVpcmVkOiBhbnkgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuICB0aXRsZTogYW55ID0gc2lnbmFsPHN0cmluZz4oJycpO1xuICB0eXBlOiBhbnkgPSBzaWduYWw8c3RyaW5nPignJyk7XG4gIGZvcm1hdDogYW55ID0gc2lnbmFsPGFueT4obnVsbCk7XG4gIG9wdGlvbnM6IGFueSA9IHNpZ25hbDxhbnlbXT4oW10pO1xuICBoYXNDaGFuZ2VkOiBhbnkgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuICBtaW5MZW5ndGg6IGFueSA9IHNpZ25hbDxudW1iZXI+KDApO1xuICBtYXhMZW5ndGg6IGFueSA9IHNpZ25hbDxudW1iZXI+KDApO1xuICBtaW5WYWx1ZTogYW55ID0gc2lnbmFsPGFueT4obnVsbCk7XG4gIG1heFZhbHVlOiBhbnkgPSBzaWduYWw8YW55PihudWxsKTtcbiAgb25WYWxpZGF0aW9uOiBhbnkgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuICBvdXRwdXRPbmx5OiBhbnkgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuICBwbGFjZWhvbGRlcjogYW55ID0gc2lnbmFsPHN0cmluZz4oJycpO1xuICB0b29sdGlwOiBhbnkgPSBzaWduYWw8c3RyaW5nPignJyk7XG4gIHZhbGlkYXRlT25TZXJ2ZXI6IGFueSA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG4gIHZpc2libGVMYWJlbDogYW55ID0gc2lnbmFsPGJvb2xlYW4+KHRydWUpO1xuXG4gIC8vIHZhbHVlOiBhbnk7ICAvLyBWYWxvciBkZWwgY29tcG9uZW50ZSByZWxhY2lvbmFkbyBjb24gZWwgY2FtcG8gKHB1ZWRlbiBkaWZlcmlyIGVuIGZvcm1hdG8geSB0aXBvKVxuICB2YWx1ZSA9IG1vZGVsPGFueT4oKTsgIC8vIFZhbG9yIGRlbCBjb21wb25lbnRlIHJlbGFjaW9uYWRvIGNvbiBlbCBjYW1wbyAocHVlZGVuIGRpZmVyaXIgZW4gZm9ybWF0byB5IHRpcG8pXG4gIEBJbnB1dCgpIGZpZWxkOiBGaWVsZERlc2NyaXB0b3IgfCBudWxsID0gbnVsbDtcbiAgLy8gZmllbGQgPSBpbnB1dC5yZXF1aXJlZDxGaWVsZERlc2NyaXB0b3I+KCk7XG5cbiAgdXBkYXRlUHJvcGFnYXRlZEF0dHJpYnV0ZXMoKSB7XG4gICAgdGhpcy51cGRhdGVQaWVjZUF0dHJpYnV0ZXModGhpcy5maWVsZCwgc2lnbmFsZWRBdHRyaWJ1dGVzKVxuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKCF0aGlzLmZpZWxkKSB7IHJldHVybjsgfVxuICAgIHRoaXMuZmllbGQud2lkZ2V0ID0gdGhpcztcbiAgICB0aGlzLmZvcm1Db25maWcgPSB0aGlzLmZpZWxkPy5fZm9ybUNvbmZpZztcbiAgICB0aGlzLnVwZGF0ZVByb3BhZ2F0ZWRBdHRyaWJ1dGVzKCk7XG4gICAgdGhpcy51cGRhdGVWYWx1ZSgpO1xuICAgIHRoaXMucmVwbGFjZUN1c3RvbUF0dHJpYnV0ZXModGhpcy5maWVsZD8uY3VzdG9tQXR0cmlidXRlcyk7XG4gICAgdGhpcy5maWVsZD8uYXR0cmlidXRlQ2hhbmdlXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgICAgY29uc3QgeyBuYW1lOiBhdHRyaWJ1dGUsIHZhbHVlID0gbnVsbCB9ID0gZXZlbnQgPz8ge307XG4gICAgICAgIGNvbnN0IGF0dHJpYnV0ZVBhcnRzID0gYXR0cmlidXRlPy5zcGxpdCgnLicpID8/IFtdO1xuICAgICAgICBpZiAoYXR0cmlidXRlID09PSBWQUxVRSkge1xuICAgICAgICAgIHRoaXMudXBkYXRlVmFsdWUoKTtcbiAgICAgICAgfSBlbHNlIGlmIChhdHRyaWJ1dGUgPT09IEZPQ1VTKSB7XG4gICAgICAgICAgdGhpcy5mb2N1cygpO1xuICAgICAgICB9IGVsc2UgaWYgKHNpZ25hbGVkQXR0cmlidXRlcy5pbmNsdWRlcyhhdHRyaWJ1dGUpKSB7XG4gICAgICAgICAgdGhpcy51cGRhdGVQaWVjZUF0dHJpYnV0ZShzaWduYWxlZEF0dHJpYnV0ZXMsIGF0dHJpYnV0ZSwgdmFsdWUpO1xuICAgICAgICB9IGVsc2UgaWYgKGF0dHJpYnV0ZVBhcnRzPy5sZW5ndGggPiAxICYmIGF0dHJpYnV0ZVBhcnRzPy5bMF0gPT09IENVU1RPTV9BVFRSSUJVVEVTKSB7XG4gICAgICAgICAgY29uc3Qgc3ViQXR0cmlidXRlID0gYXR0cmlidXRlUGFydHM/LlsxXSA/PyBudWxsO1xuICAgICAgICAgIHRoaXMudXBkYXRlQ3VzdG9tQXR0cmlidXRlKHN1YkF0dHJpYnV0ZSwgdmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB0aGlzLnN0YXJ0KCk7XG4gIH1cblxuICB1cGRhdGVWYWx1ZSgpIHtcbiAgICB0cnkge1xuICAgICAgdGhpcy52YWx1ZS5zZXQodGhpcy5maWVsZD8udmFsdWUpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGNvbnNvbGUubG9nKGBFeGNlcGNpw7NuIGVuIGNvbXBvbmVudGUgZGUgY2FtcG8gJHtlfWApO1xuICAgIH1cbiAgfVxuXG4gIG9uSW5wdXRDaGFuZ2UoKSB7IHNldFRpbWVvdXQoKCkgPT4gdGhpcy5maWVsZD8ubm90aWZ5RWRpdGlvblBhcnRpYWwoKSwgNTApOyB9XG4gIG9uQ2hhbmdlQ29udGVudCgpIHsgc2V0VGltZW91dCgoKSA9PiB0aGlzLmZpZWxkPy5ub3RpZnlFZGl0aW9uRmluaXNoKCksIDUwKTsgfVxuICBvblNob3dJbmZvKGRldGFpbCA9IG51bGwpIHsgc2V0VGltZW91dCgoKSA9PiB0aGlzLmZpZWxkPy5ub3RpZnlFZGl0aW9uRGV0YWlsUmVxdWVzdChkZXRhaWwpLCA1MCk7IH1cblxuICBmb2N1cygpIHsgfVxuXG4gIHVwZGF0ZU9iamVjdCh3aWRnZXRVcGRhdGUgPSB0cnVlKSB7IHRoaXMuZmllbGQ/LnNldFZhbHVlKHRoaXMudmFsdWUoKSwgd2lkZ2V0VXBkYXRlKTsgfVxuXG4gIGlucHV0Q2hhbmdlZCgpIHtcbiAgICB0aGlzLnVwZGF0ZU9iamVjdCgpO1xuICAgIHRoaXMub25DaGFuZ2VDb250ZW50KCk7XG4gIH1cblxuICBpbnB1dFR5cGVkKCkge1xuICAgIHRoaXMudXBkYXRlT2JqZWN0KGZhbHNlKTtcbiAgICB0aGlzLm9uSW5wdXRDaGFuZ2UoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { PieceComponent } from './piece.component';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class ElementComponent extends PieceComponent {
|
|
5
|
+
element;
|
|
6
|
+
start() {
|
|
7
|
+
this.setForm(this.element?._form);
|
|
8
|
+
}
|
|
9
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ElementComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
10
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ElementComponent, selector: "lib-element", inputs: { element: "element" }, usesInheritance: true, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true });
|
|
11
|
+
}
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ElementComponent, decorators: [{
|
|
13
|
+
type: Component,
|
|
14
|
+
args: [{
|
|
15
|
+
selector: 'lib-element',
|
|
16
|
+
template: `<ng-content></ng-content>`
|
|
17
|
+
}]
|
|
18
|
+
}], propDecorators: { element: [{
|
|
19
|
+
type: Input
|
|
20
|
+
}] } });
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWFpbi1uZy1mb3Jtcy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2VsZW1lbnRzL2xheW91dC9lbGVtZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBTW5ELE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxjQUFjO0lBQ3pDLE9BQU8sQ0FBTTtJQUV0QixLQUFLO1FBQ0gsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLENBQUM7d0dBTFUsZ0JBQWdCOzRGQUFoQixnQkFBZ0IsMEdBRmpCLDJCQUEyQjs7NEZBRTFCLGdCQUFnQjtrQkFKNUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsYUFBYTtvQkFDdkIsUUFBUSxFQUFFLDJCQUEyQjtpQkFDdEM7OEJBRVUsT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUGllY2VDb21wb25lbnQgfSBmcm9tICcuL3BpZWNlLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1lbGVtZW50JyxcbiAgdGVtcGxhdGU6IGA8bmctY29udGVudD48L25nLWNvbnRlbnQ+YFxufSlcbmV4cG9ydCBjbGFzcyBFbGVtZW50Q29tcG9uZW50IGV4dGVuZHMgUGllY2VDb21wb25lbnQge1xuICBASW5wdXQoKSBlbGVtZW50OiBhbnk7XG5cbiAgc3RhcnQoKSB7XG4gICAgdGhpcy5zZXRGb3JtKHRoaXMuZWxlbWVudD8uX2Zvcm0pO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class FormErrorComponent {
|
|
4
|
+
errorTitle;
|
|
5
|
+
errorMessage;
|
|
6
|
+
errorType;
|
|
7
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormErrorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
8
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FormErrorComponent, selector: "lib-form-error", inputs: { errorTitle: "errorTitle", errorMessage: "errorMessage", errorType: "errorType" }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true });
|
|
9
|
+
}
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormErrorComponent, decorators: [{
|
|
11
|
+
type: Component,
|
|
12
|
+
args: [{
|
|
13
|
+
selector: 'lib-form-error',
|
|
14
|
+
template: `<ng-content></ng-content>`
|
|
15
|
+
}]
|
|
16
|
+
}], propDecorators: { errorTitle: [{
|
|
17
|
+
type: Input
|
|
18
|
+
}], errorMessage: [{
|
|
19
|
+
type: Input
|
|
20
|
+
}], errorType: [{
|
|
21
|
+
type: Input
|
|
22
|
+
}] } });
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1lcnJvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWFpbi1uZy1mb3Jtcy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2VsZW1lbnRzL2xheW91dC9mb3JtLWVycm9yLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNakQsTUFBTSxPQUFPLGtCQUFrQjtJQUNwQixVQUFVLENBQU07SUFDaEIsWUFBWSxDQUFNO0lBQ2xCLFNBQVMsQ0FBTTt3R0FIYixrQkFBa0I7NEZBQWxCLGtCQUFrQixrSkFGbkIsMkJBQTJCOzs0RkFFMUIsa0JBQWtCO2tCQUo5QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFFBQVEsRUFBRSwyQkFBMkI7aUJBQ3RDOzhCQUVVLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItZm9ybS1lcnJvcicsXG4gIHRlbXBsYXRlOiBgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PmBcbn0pXG5leHBvcnQgY2xhc3MgRm9ybUVycm9yQ29tcG9uZW50IHtcbiAgQElucHV0KCkgZXJyb3JUaXRsZTogYW55O1xuICBASW5wdXQoKSBlcnJvck1lc3NhZ2U6IGFueTtcbiAgQElucHV0KCkgZXJyb3JUeXBlOiBhbnk7XG59XG4iXX0=
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Component, Input, Output, EventEmitter } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class FormHeaderComponent {
|
|
4
|
+
form;
|
|
5
|
+
goBackEvent = new EventEmitter();
|
|
6
|
+
goBackForm() {
|
|
7
|
+
this.goBackEvent.emit();
|
|
8
|
+
}
|
|
9
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
10
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FormHeaderComponent, selector: "lib-form-header", inputs: { form: "form" }, outputs: { goBackEvent: "goBackEvent" }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true });
|
|
11
|
+
}
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormHeaderComponent, decorators: [{
|
|
13
|
+
type: Component,
|
|
14
|
+
args: [{
|
|
15
|
+
selector: 'lib-form-header',
|
|
16
|
+
template: `<ng-content></ng-content>`
|
|
17
|
+
}]
|
|
18
|
+
}], propDecorators: { form: [{
|
|
19
|
+
type: Input
|
|
20
|
+
}], goBackEvent: [{
|
|
21
|
+
type: Output
|
|
22
|
+
}] } });
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVhaW4tbmctZm9ybXMtbGliL3NyYy9saWIvY29tcG9uZW50cy9lbGVtZW50cy9sYXlvdXQvZm9ybS1oZWFkZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTXZFLE1BQU0sT0FBTyxtQkFBbUI7SUFDckIsSUFBSSxDQUFNO0lBQ1QsV0FBVyxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO0lBRXJFLFVBQVU7UUFDUixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzFCLENBQUM7d0dBTlUsbUJBQW1COzRGQUFuQixtQkFBbUIsMEhBRnBCLDJCQUEyQjs7NEZBRTFCLG1CQUFtQjtrQkFKL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixRQUFRLEVBQUUsMkJBQTJCO2lCQUN0Qzs4QkFFVSxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0ksV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1mb3JtLWhlYWRlcicsXG4gIHRlbXBsYXRlOiBgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PmBcbn0pXG5leHBvcnQgY2xhc3MgRm9ybUhlYWRlckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGZvcm06IGFueTtcbiAgQE91dHB1dCgpIGdvQmFja0V2ZW50OiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgZ29CYWNrRm9ybSgpIHtcbiAgICB0aGlzLmdvQmFja0V2ZW50LmVtaXQoKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { Component, signal, computed } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
const CUSTOM_ATTRIBUTES = 'customAttributes';
|
|
4
|
+
export class PieceComponent {
|
|
5
|
+
form;
|
|
6
|
+
formConfig;
|
|
7
|
+
visible = signal(false);
|
|
8
|
+
disabled = signal(false);
|
|
9
|
+
enabled = computed(() => !this.disabled());
|
|
10
|
+
customAttributes = signal({});
|
|
11
|
+
setForm(form) { this.form = form; }
|
|
12
|
+
propagatedAttributeChange(attribute, value) { }
|
|
13
|
+
updatePieceAttribute(signaledAttributes, signaledAttribute, value) {
|
|
14
|
+
if (!signaledAttributes.includes(signaledAttribute)) {
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
this[signaledAttribute]?.set(value);
|
|
18
|
+
this.propagatedAttributeChange(signaledAttribute, value);
|
|
19
|
+
}
|
|
20
|
+
updatePieceAttributes(piece, signaledAttributes) {
|
|
21
|
+
if (!piece) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
// Se recore el conjunto de los atributos propagados desde el piece y se asigna el valor respectivo
|
|
25
|
+
for (let index = 0; index < signaledAttributes.length; index++) {
|
|
26
|
+
const signaledAttribute = signaledAttributes[index];
|
|
27
|
+
try {
|
|
28
|
+
this[signaledAttribute]?.set(piece?.[signaledAttribute]);
|
|
29
|
+
this.propagatedAttributeChange(signaledAttribute, piece?.[signaledAttribute]);
|
|
30
|
+
}
|
|
31
|
+
catch (e) {
|
|
32
|
+
console.log(`Señal ${signaledAttribute} invalida en el componente. ${e}`);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
// Función que las subclases pueden sobrecargar para manejar un comportamiento específico
|
|
37
|
+
customAttributeChange(subAttribute, value) { }
|
|
38
|
+
updateCustomAttribute(attrName, attrValue) {
|
|
39
|
+
this.customAttributes.update(oldCustomAttr => {
|
|
40
|
+
oldCustomAttr[attrName] = attrValue;
|
|
41
|
+
return oldCustomAttr;
|
|
42
|
+
});
|
|
43
|
+
// Ejecución de función personalizada ante un cambio de atributo personalizado
|
|
44
|
+
this.customAttributeChange(attrName, attrValue);
|
|
45
|
+
}
|
|
46
|
+
replaceCustomAttributes(customAttributes) {
|
|
47
|
+
this.customAttributes.set(customAttributes ?? {});
|
|
48
|
+
Object.keys(customAttributes).forEach(attrName => {
|
|
49
|
+
const attrValue = customAttributes[attrName];
|
|
50
|
+
// Ejecución de función personalizada ante un cambio de atributo personalizado
|
|
51
|
+
this.customAttributeChange(attrName, attrValue);
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PieceComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
55
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: PieceComponent, selector: "lib-piece", ngImport: i0, template: `<ng-content></ng-content>`, isInline: true });
|
|
56
|
+
}
|
|
57
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PieceComponent, decorators: [{
|
|
58
|
+
type: Component,
|
|
59
|
+
args: [{
|
|
60
|
+
selector: 'lib-piece',
|
|
61
|
+
template: `<ng-content></ng-content>`
|
|
62
|
+
}]
|
|
63
|
+
}] });
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGllY2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVhaW4tbmctZm9ybXMtbGliL3NyYy9saWIvY29tcG9uZW50cy9lbGVtZW50cy9sYXlvdXQvcGllY2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFNUQsTUFBTSxpQkFBaUIsR0FBRyxrQkFBa0IsQ0FBQztBQUs3QyxNQUFNLE9BQU8sY0FBYztJQUN6QixJQUFJLENBQU07SUFDVixVQUFVLENBQU07SUFDaEIsT0FBTyxHQUFRLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QixRQUFRLEdBQVEsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLE9BQU8sR0FBUSxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUNoRCxnQkFBZ0IsR0FBUSxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7SUFFbkMsT0FBTyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUM7SUFFbkMseUJBQXlCLENBQUMsU0FBaUIsRUFBRSxLQUFXLElBQUksQ0FBQztJQUU3RCxvQkFBb0IsQ0FBQyxrQkFBa0IsRUFBRSxpQkFBaUIsRUFBRSxLQUFLO1FBQy9ELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDO1lBQUMsT0FBTztRQUFDLENBQUM7UUFDaEUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQscUJBQXFCLENBQUMsS0FBSyxFQUFFLGtCQUFrQjtRQUM3QyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFBQyxPQUFPO1FBQUMsQ0FBQztRQUN2QixtR0FBbUc7UUFDbkcsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO1lBQy9ELE1BQU0saUJBQWlCLEdBQUcsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDcEQsSUFBSSxDQUFDO2dCQUNILElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUM7Z0JBQ3pELElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUM7WUFDaEYsQ0FBQztZQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7Z0JBQ1gsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLGlCQUFpQiwrQkFBK0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUM1RSxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCx5RkFBeUY7SUFDekYscUJBQXFCLENBQUMsWUFBb0IsRUFBRSxLQUFXLElBQUksQ0FBQztJQUU1RCxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsU0FBUztRQUN2QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxFQUFFO1lBQzNDLGFBQWEsQ0FBQyxRQUFRLENBQUMsR0FBRyxTQUFTLENBQUM7WUFDcEMsT0FBTyxhQUFhLENBQUM7UUFDdkIsQ0FBQyxDQUFDLENBQUM7UUFDSCw4RUFBOEU7UUFDOUUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsdUJBQXVCLENBQUMsZ0JBQWdCO1FBQ3RDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLElBQUksRUFBRSxDQUFDLENBQUM7UUFDbEQsTUFBTSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUMvQyxNQUFNLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUM3Qyw4RUFBOEU7WUFDOUUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUNsRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7d0dBbkRVLGNBQWM7NEZBQWQsY0FBYyxpREFGZiwyQkFBMkI7OzRGQUUxQixjQUFjO2tCQUoxQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxXQUFXO29CQUNyQixRQUFRLEVBQUUsMkJBQTJCO2lCQUN0QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgc2lnbmFsLCBjb21wdXRlZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5jb25zdCBDVVNUT01fQVRUUklCVVRFUyA9ICdjdXN0b21BdHRyaWJ1dGVzJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1waWVjZScsXG4gIHRlbXBsYXRlOiBgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PmBcbn0pXG5leHBvcnQgY2xhc3MgUGllY2VDb21wb25lbnQge1xuICBmb3JtOiBhbnk7XG4gIGZvcm1Db25maWc6IGFueTtcbiAgdmlzaWJsZTogYW55ID0gc2lnbmFsKGZhbHNlKTtcbiAgZGlzYWJsZWQ6IGFueSA9IHNpZ25hbChmYWxzZSk7XG4gIGVuYWJsZWQ6IGFueSA9IGNvbXB1dGVkKCgpID0+ICF0aGlzLmRpc2FibGVkKCkpO1xuICBjdXN0b21BdHRyaWJ1dGVzOiBhbnkgPSBzaWduYWwoe30pO1xuXG4gIHNldEZvcm0oZm9ybSkgeyB0aGlzLmZvcm0gPSBmb3JtOyB9XG5cbiAgcHJvcGFnYXRlZEF0dHJpYnV0ZUNoYW5nZShhdHRyaWJ1dGU6IHN0cmluZywgdmFsdWU/OiBhbnkpIHsgfVxuXG4gIHVwZGF0ZVBpZWNlQXR0cmlidXRlKHNpZ25hbGVkQXR0cmlidXRlcywgc2lnbmFsZWRBdHRyaWJ1dGUsIHZhbHVlKSB7XG4gICAgaWYgKCFzaWduYWxlZEF0dHJpYnV0ZXMuaW5jbHVkZXMoc2lnbmFsZWRBdHRyaWJ1dGUpKSB7IHJldHVybjsgfVxuICAgIHRoaXNbc2lnbmFsZWRBdHRyaWJ1dGVdPy5zZXQodmFsdWUpO1xuICAgIHRoaXMucHJvcGFnYXRlZEF0dHJpYnV0ZUNoYW5nZShzaWduYWxlZEF0dHJpYnV0ZSwgdmFsdWUpO1xuICB9XG5cbiAgdXBkYXRlUGllY2VBdHRyaWJ1dGVzKHBpZWNlLCBzaWduYWxlZEF0dHJpYnV0ZXMpIHtcbiAgICBpZiAoIXBpZWNlKSB7IHJldHVybjsgfVxuICAgIC8vIFNlIHJlY29yZSBlbCBjb25qdW50byBkZSBsb3MgYXRyaWJ1dG9zIHByb3BhZ2Fkb3MgZGVzZGUgZWwgcGllY2UgeSBzZSBhc2lnbmEgZWwgdmFsb3IgcmVzcGVjdGl2b1xuICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBzaWduYWxlZEF0dHJpYnV0ZXMubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICBjb25zdCBzaWduYWxlZEF0dHJpYnV0ZSA9IHNpZ25hbGVkQXR0cmlidXRlc1tpbmRleF07XG4gICAgICB0cnkge1xuICAgICAgICB0aGlzW3NpZ25hbGVkQXR0cmlidXRlXT8uc2V0KHBpZWNlPy5bc2lnbmFsZWRBdHRyaWJ1dGVdKTtcbiAgICAgICAgdGhpcy5wcm9wYWdhdGVkQXR0cmlidXRlQ2hhbmdlKHNpZ25hbGVkQXR0cmlidXRlLCBwaWVjZT8uW3NpZ25hbGVkQXR0cmlidXRlXSk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGBTZcOxYWwgJHtzaWduYWxlZEF0dHJpYnV0ZX0gaW52YWxpZGEgZW4gZWwgY29tcG9uZW50ZS4gJHtlfWApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEZ1bmNpw7NuIHF1ZSBsYXMgc3ViY2xhc2VzIHB1ZWRlbiBzb2JyZWNhcmdhciBwYXJhIG1hbmVqYXIgdW4gY29tcG9ydGFtaWVudG8gZXNwZWPDrWZpY29cbiAgY3VzdG9tQXR0cmlidXRlQ2hhbmdlKHN1YkF0dHJpYnV0ZTogc3RyaW5nLCB2YWx1ZT86IGFueSkgeyB9XG5cbiAgdXBkYXRlQ3VzdG9tQXR0cmlidXRlKGF0dHJOYW1lLCBhdHRyVmFsdWUpIHtcbiAgICB0aGlzLmN1c3RvbUF0dHJpYnV0ZXMudXBkYXRlKG9sZEN1c3RvbUF0dHIgPT4ge1xuICAgICAgb2xkQ3VzdG9tQXR0clthdHRyTmFtZV0gPSBhdHRyVmFsdWU7XG4gICAgICByZXR1cm4gb2xkQ3VzdG9tQXR0cjtcbiAgICB9KTtcbiAgICAvLyBFamVjdWNpw7NuIGRlIGZ1bmNpw7NuIHBlcnNvbmFsaXphZGEgYW50ZSB1biBjYW1iaW8gZGUgYXRyaWJ1dG8gcGVyc29uYWxpemFkb1xuICAgIHRoaXMuY3VzdG9tQXR0cmlidXRlQ2hhbmdlKGF0dHJOYW1lLCBhdHRyVmFsdWUpO1xuICB9XG5cbiAgcmVwbGFjZUN1c3RvbUF0dHJpYnV0ZXMoY3VzdG9tQXR0cmlidXRlcykge1xuICAgIHRoaXMuY3VzdG9tQXR0cmlidXRlcy5zZXQoY3VzdG9tQXR0cmlidXRlcyA/PyB7fSk7XG4gICAgT2JqZWN0LmtleXMoY3VzdG9tQXR0cmlidXRlcykuZm9yRWFjaChhdHRyTmFtZSA9PiB7XG4gICAgICBjb25zdCBhdHRyVmFsdWUgPSBjdXN0b21BdHRyaWJ1dGVzW2F0dHJOYW1lXTtcbiAgICAgIC8vIEVqZWN1Y2nDs24gZGUgZnVuY2nDs24gcGVyc29uYWxpemFkYSBhbnRlIHVuIGNhbWJpbyBkZSBhdHJpYnV0byBwZXJzb25hbGl6YWRvXG4gICAgICB0aGlzLmN1c3RvbUF0dHJpYnV0ZUNoYW5nZShhdHRyTmFtZSwgYXR0clZhbHVlKTtcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { Subject, takeUntil } from 'rxjs';
|
|
3
|
+
import { PieceComponent } from './piece.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
const CUSTOM_ATTRIBUTES = 'customAttributes';
|
|
6
|
+
const signaledAttributes = [
|
|
7
|
+
'visible', 'disabled',
|
|
8
|
+
];
|
|
9
|
+
export class SectionComponent extends PieceComponent {
|
|
10
|
+
destroy$ = new Subject();
|
|
11
|
+
section;
|
|
12
|
+
updatePropagatedAttributes() {
|
|
13
|
+
this.updatePieceAttributes(this.section, signaledAttributes);
|
|
14
|
+
}
|
|
15
|
+
ngOnInit() {
|
|
16
|
+
if (!this.section) {
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
this.formConfig = this.section?._formConfig;
|
|
20
|
+
this.updatePropagatedAttributes();
|
|
21
|
+
this.replaceCustomAttributes(this.section?.customAttributes);
|
|
22
|
+
this.section?.attributeChange
|
|
23
|
+
.pipe(takeUntil(this.destroy$))
|
|
24
|
+
.subscribe(event => {
|
|
25
|
+
const { name: attribute, value = null } = event ?? {};
|
|
26
|
+
const attributeParts = attribute?.split('.') ?? [];
|
|
27
|
+
if (signaledAttributes.includes(attribute)) {
|
|
28
|
+
this.updatePieceAttribute(signaledAttributes, attribute, value);
|
|
29
|
+
}
|
|
30
|
+
else if (attributeParts?.length > 1 && attributeParts?.[0] === CUSTOM_ATTRIBUTES) {
|
|
31
|
+
const subAttribute = attributeParts?.[1] ?? null;
|
|
32
|
+
this.updateCustomAttribute(subAttribute, value);
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
this.start();
|
|
36
|
+
}
|
|
37
|
+
start() {
|
|
38
|
+
this.setForm(this.section?._form);
|
|
39
|
+
}
|
|
40
|
+
ngOnDestroy() {
|
|
41
|
+
this.destroy$.next();
|
|
42
|
+
this.destroy$.complete();
|
|
43
|
+
}
|
|
44
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SectionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
45
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SectionComponent, selector: "lib-section", inputs: { section: "section" }, usesInheritance: true, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true });
|
|
46
|
+
}
|
|
47
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SectionComponent, decorators: [{
|
|
48
|
+
type: Component,
|
|
49
|
+
args: [{
|
|
50
|
+
selector: 'lib-section',
|
|
51
|
+
template: `<ng-content></ng-content>`
|
|
52
|
+
}]
|
|
53
|
+
}], propDecorators: { section: [{
|
|
54
|
+
type: Input
|
|
55
|
+
}] } });
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWFpbi1uZy1mb3Jtcy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2VsZW1lbnRzL2xheW91dC9zZWN0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBRW5ELE1BQU0saUJBQWlCLEdBQUcsa0JBQWtCLENBQUM7QUFFN0MsTUFBTSxrQkFBa0IsR0FBRztJQUN6QixTQUFTLEVBQUUsVUFBVTtDQUN0QixDQUFDO0FBTUYsTUFBTSxPQUFPLGdCQUFpQixTQUFRLGNBQWM7SUFDMUMsUUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFFOUIsT0FBTyxDQUFNO0lBRXRCLDBCQUEwQjtRQUN4QixJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxrQkFBa0IsQ0FBQyxDQUFBO0lBQzlELENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUFDLE9BQU87UUFBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUM7UUFDNUMsSUFBSSxDQUFDLDBCQUEwQixFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsT0FBTyxFQUFFLGVBQWU7YUFDMUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDOUIsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2pCLE1BQU0sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEtBQUssR0FBRyxJQUFJLEVBQUUsR0FBRyxLQUFLLElBQUksRUFBRSxDQUFDO1lBQ3RELE1BQU0sY0FBYyxHQUFHLFNBQVMsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ25ELElBQUksa0JBQWtCLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7Z0JBQzNDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxrQkFBa0IsRUFBRSxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDbEUsQ0FBQztpQkFBTSxJQUFJLGNBQWMsRUFBRSxNQUFNLEdBQUcsQ0FBQyxJQUFJLGNBQWMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLGlCQUFpQixFQUFFLENBQUM7Z0JBQ25GLE1BQU0sWUFBWSxHQUFHLGNBQWMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztnQkFDakQsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNsRCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDTCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDZixDQUFDO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDO3dHQXBDVSxnQkFBZ0I7NEZBQWhCLGdCQUFnQiwwR0FGakIsMkJBQTJCOzs0RkFFMUIsZ0JBQWdCO2tCQUo1QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxhQUFhO29CQUN2QixRQUFRLEVBQUUsMkJBQTJCO2lCQUN0Qzs4QkFJVSxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUGllY2VDb21wb25lbnQgfSBmcm9tICcuL3BpZWNlLmNvbXBvbmVudCc7XG5cbmNvbnN0IENVU1RPTV9BVFRSSUJVVEVTID0gJ2N1c3RvbUF0dHJpYnV0ZXMnO1xuXG5jb25zdCBzaWduYWxlZEF0dHJpYnV0ZXMgPSBbXG4gICd2aXNpYmxlJywgJ2Rpc2FibGVkJyxcbl07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1zZWN0aW9uJyxcbiAgdGVtcGxhdGU6IGA8bmctY29udGVudD48L25nLWNvbnRlbnQ+YFxufSlcbmV4cG9ydCBjbGFzcyBTZWN0aW9uQ29tcG9uZW50IGV4dGVuZHMgUGllY2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBASW5wdXQoKSBzZWN0aW9uOiBhbnk7XG5cbiAgdXBkYXRlUHJvcGFnYXRlZEF0dHJpYnV0ZXMoKSB7XG4gICAgdGhpcy51cGRhdGVQaWVjZUF0dHJpYnV0ZXModGhpcy5zZWN0aW9uLCBzaWduYWxlZEF0dHJpYnV0ZXMpXG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAoIXRoaXMuc2VjdGlvbikgeyByZXR1cm47IH1cbiAgICB0aGlzLmZvcm1Db25maWcgPSB0aGlzLnNlY3Rpb24/Ll9mb3JtQ29uZmlnO1xuICAgIHRoaXMudXBkYXRlUHJvcGFnYXRlZEF0dHJpYnV0ZXMoKTtcbiAgICB0aGlzLnJlcGxhY2VDdXN0b21BdHRyaWJ1dGVzKHRoaXMuc2VjdGlvbj8uY3VzdG9tQXR0cmlidXRlcyk7XG4gICAgdGhpcy5zZWN0aW9uPy5hdHRyaWJ1dGVDaGFuZ2VcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoZXZlbnQgPT4ge1xuICAgICAgICBjb25zdCB7IG5hbWU6IGF0dHJpYnV0ZSwgdmFsdWUgPSBudWxsIH0gPSBldmVudCA/PyB7fTtcbiAgICAgICAgY29uc3QgYXR0cmlidXRlUGFydHMgPSBhdHRyaWJ1dGU/LnNwbGl0KCcuJykgPz8gW107XG4gICAgICAgIGlmIChzaWduYWxlZEF0dHJpYnV0ZXMuaW5jbHVkZXMoYXR0cmlidXRlKSkge1xuICAgICAgICAgIHRoaXMudXBkYXRlUGllY2VBdHRyaWJ1dGUoc2lnbmFsZWRBdHRyaWJ1dGVzLCBhdHRyaWJ1dGUsIHZhbHVlKTtcbiAgICAgICAgfSBlbHNlIGlmIChhdHRyaWJ1dGVQYXJ0cz8ubGVuZ3RoID4gMSAmJiBhdHRyaWJ1dGVQYXJ0cz8uWzBdID09PSBDVVNUT01fQVRUUklCVVRFUykge1xuICAgICAgICAgIGNvbnN0IHN1YkF0dHJpYnV0ZSA9IGF0dHJpYnV0ZVBhcnRzPy5bMV0gPz8gbnVsbDtcbiAgICAgICAgICB0aGlzLnVwZGF0ZUN1c3RvbUF0dHJpYnV0ZShzdWJBdHRyaWJ1dGUsIHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgdGhpcy5zdGFydCgpO1xuICB9XG5cbiAgc3RhcnQoKSB7XG4gICAgdGhpcy5zZXRGb3JtKHRoaXMuc2VjdGlvbj8uX2Zvcm0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { Subject, takeUntil } from 'rxjs';
|
|
3
|
+
import { PieceComponent } from './piece.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
const CUSTOM_ATTRIBUTES = 'customAttributes';
|
|
6
|
+
const signaledAttributes = [
|
|
7
|
+
'visible', 'disabled',
|
|
8
|
+
];
|
|
9
|
+
export class SubSectionComponent extends PieceComponent {
|
|
10
|
+
destroy$ = new Subject();
|
|
11
|
+
subSection;
|
|
12
|
+
updatePropagatedAttributes() {
|
|
13
|
+
this.updatePieceAttributes(this.subSection, signaledAttributes);
|
|
14
|
+
}
|
|
15
|
+
ngOnInit() {
|
|
16
|
+
if (!this.subSection) {
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
this.formConfig = this.subSection?._formConfig;
|
|
20
|
+
this.updatePropagatedAttributes();
|
|
21
|
+
this.replaceCustomAttributes(this.subSection?.customAttributes);
|
|
22
|
+
this.subSection?.attributeChange
|
|
23
|
+
.pipe(takeUntil(this.destroy$))
|
|
24
|
+
.subscribe(event => {
|
|
25
|
+
const { name: attribute, value = null } = event ?? {};
|
|
26
|
+
const attributeParts = attribute?.split('.') ?? [];
|
|
27
|
+
if (signaledAttributes.includes(attribute)) {
|
|
28
|
+
this.updatePieceAttribute(signaledAttributes, attribute, value);
|
|
29
|
+
}
|
|
30
|
+
else if (attributeParts?.length > 1 && attributeParts?.[0] === CUSTOM_ATTRIBUTES) {
|
|
31
|
+
const subAttribute = attributeParts?.[1] ?? null;
|
|
32
|
+
this.updateCustomAttribute(subAttribute, value);
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
this.start();
|
|
36
|
+
}
|
|
37
|
+
start() {
|
|
38
|
+
this.setForm(this.subSection?._form);
|
|
39
|
+
}
|
|
40
|
+
ngOnDestroy() {
|
|
41
|
+
this.destroy$.next();
|
|
42
|
+
this.destroy$.complete();
|
|
43
|
+
}
|
|
44
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SubSectionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
45
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SubSectionComponent, selector: "lib-subsection", inputs: { subSection: "subSection" }, usesInheritance: true, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true });
|
|
46
|
+
}
|
|
47
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SubSectionComponent, decorators: [{
|
|
48
|
+
type: Component,
|
|
49
|
+
args: [{
|
|
50
|
+
selector: 'lib-subsection',
|
|
51
|
+
template: `<ng-content></ng-content>`
|
|
52
|
+
}]
|
|
53
|
+
}], propDecorators: { subSection: [{
|
|
54
|
+
type: Input
|
|
55
|
+
}] } });
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ViLXNlY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVhaW4tbmctZm9ybXMtbGliL3NyYy9saWIvY29tcG9uZW50cy9lbGVtZW50cy9sYXlvdXQvc3ViLXNlY3Rpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFFbkQsTUFBTSxpQkFBaUIsR0FBRyxrQkFBa0IsQ0FBQztBQUU3QyxNQUFNLGtCQUFrQixHQUFHO0lBQ3pCLFNBQVMsRUFBRSxVQUFVO0NBQ3RCLENBQUM7QUFNRixNQUFNLE9BQU8sbUJBQW9CLFNBQVEsY0FBYztJQUM3QyxRQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUU5QixVQUFVLENBQU07SUFFekIsMEJBQTBCO1FBQ3hCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLGtCQUFrQixDQUFDLENBQUE7SUFDakUsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQUMsT0FBTztRQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLFdBQVcsQ0FBQztRQUMvQyxJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztRQUNsQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxVQUFVLEVBQUUsZUFBZTthQUM3QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUM5QixTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDakIsTUFBTSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsS0FBSyxHQUFHLElBQUksRUFBRSxHQUFHLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDdEQsTUFBTSxjQUFjLEdBQUcsU0FBUyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDbkQsSUFBSSxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztnQkFDM0MsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGtCQUFrQixFQUFFLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNsRSxDQUFDO2lCQUFNLElBQUksY0FBYyxFQUFFLE1BQU0sR0FBRyxDQUFDLElBQUksY0FBYyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssaUJBQWlCLEVBQUUsQ0FBQztnQkFDbkYsTUFBTSxZQUFZLEdBQUcsY0FBYyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO2dCQUNqRCxJQUFJLENBQUMscUJBQXFCLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ2xELENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNmLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7d0dBcENVLG1CQUFtQjs0RkFBbkIsbUJBQW1CLG1IQUZwQiwyQkFBMkI7OzRGQUUxQixtQkFBbUI7a0JBSi9CLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsUUFBUSxFQUFFLDJCQUEyQjtpQkFDdEM7OEJBSVUsVUFBVTtzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBQaWVjZUNvbXBvbmVudCB9IGZyb20gJy4vcGllY2UuY29tcG9uZW50JztcblxuY29uc3QgQ1VTVE9NX0FUVFJJQlVURVMgPSAnY3VzdG9tQXR0cmlidXRlcyc7XG5cbmNvbnN0IHNpZ25hbGVkQXR0cmlidXRlcyA9IFtcbiAgJ3Zpc2libGUnLCAnZGlzYWJsZWQnLFxuXTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLXN1YnNlY3Rpb24nLFxuICB0ZW1wbGF0ZTogYDxuZy1jb250ZW50PjwvbmctY29udGVudD5gXG59KVxuZXhwb3J0IGNsYXNzIFN1YlNlY3Rpb25Db21wb25lbnQgZXh0ZW5kcyBQaWVjZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIEBJbnB1dCgpIHN1YlNlY3Rpb246IGFueTtcblxuICB1cGRhdGVQcm9wYWdhdGVkQXR0cmlidXRlcygpIHtcbiAgICB0aGlzLnVwZGF0ZVBpZWNlQXR0cmlidXRlcyh0aGlzLnN1YlNlY3Rpb24sIHNpZ25hbGVkQXR0cmlidXRlcylcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICghdGhpcy5zdWJTZWN0aW9uKSB7IHJldHVybjsgfVxuICAgIHRoaXMuZm9ybUNvbmZpZyA9IHRoaXMuc3ViU2VjdGlvbj8uX2Zvcm1Db25maWc7XG4gICAgdGhpcy51cGRhdGVQcm9wYWdhdGVkQXR0cmlidXRlcygpO1xuICAgIHRoaXMucmVwbGFjZUN1c3RvbUF0dHJpYnV0ZXModGhpcy5zdWJTZWN0aW9uPy5jdXN0b21BdHRyaWJ1dGVzKTtcbiAgICB0aGlzLnN1YlNlY3Rpb24/LmF0dHJpYnV0ZUNoYW5nZVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICAgIGNvbnN0IHsgbmFtZTogYXR0cmlidXRlLCB2YWx1ZSA9IG51bGwgfSA9IGV2ZW50ID8/IHt9O1xuICAgICAgICBjb25zdCBhdHRyaWJ1dGVQYXJ0cyA9IGF0dHJpYnV0ZT8uc3BsaXQoJy4nKSA/PyBbXTtcbiAgICAgICAgaWYgKHNpZ25hbGVkQXR0cmlidXRlcy5pbmNsdWRlcyhhdHRyaWJ1dGUpKSB7XG4gICAgICAgICAgdGhpcy51cGRhdGVQaWVjZUF0dHJpYnV0ZShzaWduYWxlZEF0dHJpYnV0ZXMsIGF0dHJpYnV0ZSwgdmFsdWUpO1xuICAgICAgICB9IGVsc2UgaWYgKGF0dHJpYnV0ZVBhcnRzPy5sZW5ndGggPiAxICYmIGF0dHJpYnV0ZVBhcnRzPy5bMF0gPT09IENVU1RPTV9BVFRSSUJVVEVTKSB7XG4gICAgICAgICAgY29uc3Qgc3ViQXR0cmlidXRlID0gYXR0cmlidXRlUGFydHM/LlsxXSA/PyBudWxsO1xuICAgICAgICAgIHRoaXMudXBkYXRlQ3VzdG9tQXR0cmlidXRlKHN1YkF0dHJpYnV0ZSwgdmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB0aGlzLnN0YXJ0KCk7XG4gIH1cblxuICBzdGFydCgpIHtcbiAgICB0aGlzLnNldEZvcm0odGhpcy5zdWJTZWN0aW9uPy5fZm9ybSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy } from '@angular/core';
|
|
2
|
+
import { PieceComponent } from '../layout/piece.component';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
const INLINE_ACTION = 'INLINE';
|
|
5
|
+
const CUSTOM_ATTRIBUTES = 'customAttributes';
|
|
6
|
+
const signaledAttributes = [
|
|
7
|
+
'visible', 'disabled',
|
|
8
|
+
];
|
|
9
|
+
export class LibTableRecordActionComponent extends PieceComponent {
|
|
10
|
+
recordId;
|
|
11
|
+
recordData;
|
|
12
|
+
action;
|
|
13
|
+
actionSelected = new EventEmitter();
|
|
14
|
+
updatePropagatedAttributes() {
|
|
15
|
+
this.updatePieceAttributes(this.action, signaledAttributes);
|
|
16
|
+
}
|
|
17
|
+
ngOnInit() {
|
|
18
|
+
if (!this.action) {
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
this.formConfig = this.action?._formConfig;
|
|
22
|
+
this.updatePropagatedAttributes();
|
|
23
|
+
this.replaceCustomAttributes(this.action?.customAttributes);
|
|
24
|
+
this.start();
|
|
25
|
+
}
|
|
26
|
+
start() {
|
|
27
|
+
if (this.action && this.action.restrictedOnField && this.recordData) {
|
|
28
|
+
const relatedField = this.action.restrictedOnField;
|
|
29
|
+
if (relatedField) {
|
|
30
|
+
const relatedFieldValue = this.recordData[relatedField];
|
|
31
|
+
const restrictionOper = this.action.restrictedOnOperator;
|
|
32
|
+
const restrictionValue = this.action.restrictedOnValue;
|
|
33
|
+
let visibility = false;
|
|
34
|
+
if ((restrictionOper === '==' || restrictionOper === '===') && relatedFieldValue === restrictionValue) {
|
|
35
|
+
visibility = true;
|
|
36
|
+
}
|
|
37
|
+
else if ((restrictionOper === '!=' || restrictionOper === '!==') && relatedFieldValue !== restrictionValue) {
|
|
38
|
+
visibility = true;
|
|
39
|
+
}
|
|
40
|
+
this.visible.set(visibility);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
onActivate() {
|
|
45
|
+
const tableEvent = {
|
|
46
|
+
actionCode: this.action?.actionCode ?? '',
|
|
47
|
+
recordId: this.recordId,
|
|
48
|
+
recordData: this.recordData,
|
|
49
|
+
};
|
|
50
|
+
this.actionSelected.emit(tableEvent);
|
|
51
|
+
}
|
|
52
|
+
class() { }
|
|
53
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LibTableRecordActionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
54
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: LibTableRecordActionComponent, selector: "lib-table-record-action", inputs: { recordId: "recordId", recordData: "recordData", action: "action" }, outputs: { actionSelected: "actionSelected" }, usesInheritance: true, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
55
|
+
}
|
|
56
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LibTableRecordActionComponent, decorators: [{
|
|
57
|
+
type: Component,
|
|
58
|
+
args: [{
|
|
59
|
+
selector: 'lib-table-record-action',
|
|
60
|
+
template: `<ng-content></ng-content>`,
|
|
61
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
|
62
|
+
}]
|
|
63
|
+
}], propDecorators: { recordId: [{
|
|
64
|
+
type: Input
|
|
65
|
+
}], recordData: [{
|
|
66
|
+
type: Input
|
|
67
|
+
}], action: [{
|
|
68
|
+
type: Input
|
|
69
|
+
}], actionSelected: [{
|
|
70
|
+
type: Output
|
|
71
|
+
}] } });
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtcmVjb3JkLWFjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWFpbi1uZy1mb3Jtcy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2VsZW1lbnRzL3RhYmxlcy90YWJsZS1yZWNvcmQtYWN0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQVUsWUFBWSxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7QUFJM0QsTUFBTSxhQUFhLEdBQUcsUUFBUSxDQUFDO0FBQy9CLE1BQU0saUJBQWlCLEdBQUcsa0JBQWtCLENBQUM7QUFFN0MsTUFBTSxrQkFBa0IsR0FBRztJQUN6QixTQUFTLEVBQUUsVUFBVTtDQUN0QixDQUFDO0FBUUYsTUFBTSxPQUFPLDZCQUE4QixTQUFRLGNBQWM7SUFDdEQsUUFBUSxDQUFNO0lBQ2QsVUFBVSxDQUFNO0lBQ2hCLE1BQU0sQ0FBMEI7SUFFL0IsY0FBYyxHQUFtQyxJQUFJLFlBQVksRUFBb0IsQ0FBQztJQUVoRywwQkFBMEI7UUFDeEIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsa0JBQWtCLENBQUMsQ0FBQTtJQUM3RCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFBQyxPQUFPO1FBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDO1FBQzNDLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO1FBQ2xDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFDNUQsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2YsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDcEUsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQztZQUNuRCxJQUFJLFlBQVksRUFBRSxDQUFDO2dCQUNqQixNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLENBQUM7Z0JBQ3hELE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsb0JBQW9CLENBQUM7Z0JBQ3pELE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQztnQkFDdkQsSUFBSSxVQUFVLEdBQUcsS0FBSyxDQUFDO2dCQUN2QixJQUFJLENBQUMsZUFBZSxLQUFLLElBQUksSUFBSSxlQUFlLEtBQUssS0FBSyxDQUFDLElBQUksaUJBQWlCLEtBQUssZ0JBQWdCLEVBQUUsQ0FBQztvQkFDdEcsVUFBVSxHQUFHLElBQUksQ0FBQztnQkFDcEIsQ0FBQztxQkFBTSxJQUFJLENBQUMsZUFBZSxLQUFLLElBQUksSUFBSSxlQUFlLEtBQUssS0FBSyxDQUFDLElBQUksaUJBQWlCLEtBQUssZ0JBQWdCLEVBQUUsQ0FBQztvQkFDN0csVUFBVSxHQUFHLElBQUksQ0FBQztnQkFDcEIsQ0FBQztnQkFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUMvQixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxVQUFVO1FBQ1IsTUFBTSxVQUFVLEdBQXFCO1lBQ25DLFVBQVUsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLFVBQVUsSUFBSSxFQUFFO1lBQ3pDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN2QixVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7U0FDNUIsQ0FBQztRQUNGLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxLQUFLLEtBQUssQ0FBQzt3R0E5Q0EsNkJBQTZCOzRGQUE3Qiw2QkFBNkIsbU5BSjlCLDJCQUEyQjs7NEZBSTFCLDZCQUE2QjtrQkFOekMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUseUJBQXlCO29CQUNuQyxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQ7OEJBR1UsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFFSSxjQUFjO3NCQUF2QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBPbkluaXQsIEV2ZW50RW1pdHRlciwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBpZWNlQ29tcG9uZW50IH0gZnJvbSAnLi4vbGF5b3V0L3BpZWNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUYWJsZUV2ZW50LCBUYWJsZUFjdGlvbkV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy9mb3Jtcy90YWJsZS90YWJsZSc7XG5pbXBvcnQgeyBUYWJsZUFjdGlvbiB9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvZm9ybXMvdGFibGUvYWN0aW9uJztcblxuY29uc3QgSU5MSU5FX0FDVElPTiA9ICdJTkxJTkUnO1xuY29uc3QgQ1VTVE9NX0FUVFJJQlVURVMgPSAnY3VzdG9tQXR0cmlidXRlcyc7XG5cbmNvbnN0IHNpZ25hbGVkQXR0cmlidXRlcyA9IFtcbiAgJ3Zpc2libGUnLCAnZGlzYWJsZWQnLFxuXTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLXRhYmxlLXJlY29yZC1hY3Rpb24nLFxuICB0ZW1wbGF0ZTogYDxuZy1jb250ZW50PjwvbmctY29udGVudD5gLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcblxuZXhwb3J0IGNsYXNzIExpYlRhYmxlUmVjb3JkQWN0aW9uQ29tcG9uZW50IGV4dGVuZHMgUGllY2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSByZWNvcmRJZDogYW55O1xuICBASW5wdXQoKSByZWNvcmREYXRhOiBhbnk7XG4gIEBJbnB1dCgpIGFjdGlvbjogVGFibGVBY3Rpb24gfCB1bmRlZmluZWQ7XG5cbiAgQE91dHB1dCgpIGFjdGlvblNlbGVjdGVkOiBFdmVudEVtaXR0ZXI8VGFibGVBY3Rpb25FdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPFRhYmxlQWN0aW9uRXZlbnQ+KCk7XG5cbiAgdXBkYXRlUHJvcGFnYXRlZEF0dHJpYnV0ZXMoKSB7XG4gICAgdGhpcy51cGRhdGVQaWVjZUF0dHJpYnV0ZXModGhpcy5hY3Rpb24sIHNpZ25hbGVkQXR0cmlidXRlcylcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICghdGhpcy5hY3Rpb24pIHsgcmV0dXJuOyB9XG4gICAgdGhpcy5mb3JtQ29uZmlnID0gdGhpcy5hY3Rpb24/Ll9mb3JtQ29uZmlnO1xuICAgIHRoaXMudXBkYXRlUHJvcGFnYXRlZEF0dHJpYnV0ZXMoKTtcbiAgICB0aGlzLnJlcGxhY2VDdXN0b21BdHRyaWJ1dGVzKHRoaXMuYWN0aW9uPy5jdXN0b21BdHRyaWJ1dGVzKTtcbiAgICB0aGlzLnN0YXJ0KCk7XG4gIH1cblxuICBzdGFydCgpIHtcbiAgICBpZiAodGhpcy5hY3Rpb24gJiYgdGhpcy5hY3Rpb24ucmVzdHJpY3RlZE9uRmllbGQgJiYgdGhpcy5yZWNvcmREYXRhKSB7XG4gICAgICBjb25zdCByZWxhdGVkRmllbGQgPSB0aGlzLmFjdGlvbi5yZXN0cmljdGVkT25GaWVsZDtcbiAgICAgIGlmIChyZWxhdGVkRmllbGQpIHtcbiAgICAgICAgY29uc3QgcmVsYXRlZEZpZWxkVmFsdWUgPSB0aGlzLnJlY29yZERhdGFbcmVsYXRlZEZpZWxkXTtcbiAgICAgICAgY29uc3QgcmVzdHJpY3Rpb25PcGVyID0gdGhpcy5hY3Rpb24ucmVzdHJpY3RlZE9uT3BlcmF0b3I7XG4gICAgICAgIGNvbnN0IHJlc3RyaWN0aW9uVmFsdWUgPSB0aGlzLmFjdGlvbi5yZXN0cmljdGVkT25WYWx1ZTtcbiAgICAgICAgbGV0IHZpc2liaWxpdHkgPSBmYWxzZTtcbiAgICAgICAgaWYgKChyZXN0cmljdGlvbk9wZXIgPT09ICc9PScgfHwgcmVzdHJpY3Rpb25PcGVyID09PSAnPT09JykgJiYgcmVsYXRlZEZpZWxkVmFsdWUgPT09IHJlc3RyaWN0aW9uVmFsdWUpIHtcbiAgICAgICAgICB2aXNpYmlsaXR5ID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIGlmICgocmVzdHJpY3Rpb25PcGVyID09PSAnIT0nIHx8IHJlc3RyaWN0aW9uT3BlciA9PT0gJyE9PScpICYmIHJlbGF0ZWRGaWVsZFZhbHVlICE9PSByZXN0cmljdGlvblZhbHVlKSB7XG4gICAgICAgICAgdmlzaWJpbGl0eSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy52aXNpYmxlLnNldCh2aXNpYmlsaXR5KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBvbkFjdGl2YXRlKCkge1xuICAgIGNvbnN0IHRhYmxlRXZlbnQ6IFRhYmxlQWN0aW9uRXZlbnQgPSB7XG4gICAgICBhY3Rpb25Db2RlOiB0aGlzLmFjdGlvbj8uYWN0aW9uQ29kZSA/PyAnJyxcbiAgICAgIHJlY29yZElkOiB0aGlzLnJlY29yZElkLFxuICAgICAgcmVjb3JkRGF0YTogdGhpcy5yZWNvcmREYXRhLFxuICAgIH07XG4gICAgdGhpcy5hY3Rpb25TZWxlY3RlZC5lbWl0KHRhYmxlRXZlbnQpO1xuICB9XG5cbiAgY2xhc3MoKSB7IH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Component, Input, ChangeDetectionStrategy } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class LibTableRecordFieldComponent {
|
|
4
|
+
fieldCode;
|
|
5
|
+
fieldType;
|
|
6
|
+
fieldValue;
|
|
7
|
+
column = null;
|
|
8
|
+
ngOnInit() {
|
|
9
|
+
this.start();
|
|
10
|
+
}
|
|
11
|
+
start() { }
|
|
12
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LibTableRecordFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
13
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: LibTableRecordFieldComponent, selector: "lib-table-record-field", inputs: { fieldCode: "fieldCode", fieldType: "fieldType", fieldValue: "fieldValue", column: "column" }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
14
|
+
}
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LibTableRecordFieldComponent, decorators: [{
|
|
16
|
+
type: Component,
|
|
17
|
+
args: [{
|
|
18
|
+
selector: 'lib-table-record-field',
|
|
19
|
+
template: `<ng-content></ng-content>`,
|
|
20
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
|
21
|
+
}]
|
|
22
|
+
}], propDecorators: { fieldCode: [{
|
|
23
|
+
type: Input
|
|
24
|
+
}], fieldType: [{
|
|
25
|
+
type: Input
|
|
26
|
+
}], fieldValue: [{
|
|
27
|
+
type: Input
|
|
28
|
+
}], column: [{
|
|
29
|
+
type: Input
|
|
30
|
+
}] } });
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtcmVjb3JkLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1YWluLW5nLWZvcm1zLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvZWxlbWVudHMvdGFibGVzL3RhYmxlLXJlY29yZC1maWVsZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsdUJBQXVCLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUWxGLE1BQU0sT0FBTyw0QkFBNEI7SUFDOUIsU0FBUyxDQUFNO0lBQ2YsU0FBUyxDQUFNO0lBQ2YsVUFBVSxDQUFNO0lBQ2hCLE1BQU0sR0FBUSxJQUFJLENBQUM7SUFFNUIsUUFBUTtRQUNOLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNmLENBQUM7SUFFRCxLQUFLLEtBQUssQ0FBQzt3R0FWQSw0QkFBNEI7NEZBQTVCLDRCQUE0QixzS0FKN0IsMkJBQTJCOzs0RkFJMUIsNEJBQTRCO2tCQU54QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx3QkFBd0I7b0JBQ2xDLFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRDs4QkFHVSxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi10YWJsZS1yZWNvcmQtZmllbGQnLFxuICB0ZW1wbGF0ZTogYDxuZy1jb250ZW50PjwvbmctY29udGVudD5gLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcblxuZXhwb3J0IGNsYXNzIExpYlRhYmxlUmVjb3JkRmllbGRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBmaWVsZENvZGU6IGFueTtcbiAgQElucHV0KCkgZmllbGRUeXBlOiBhbnk7XG4gIEBJbnB1dCgpIGZpZWxkVmFsdWU6IGFueTtcbiAgQElucHV0KCkgY29sdW1uOiBhbnkgPSBudWxsO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc3RhcnQoKTtcbiAgfVxuXG4gIHN0YXJ0KCkgeyB9XG59XG4iXX0=
|