tuain-ng-forms-lib 15.2.11 → 17.0.0
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 +78 -0
- package/esm2022/lib/classes/forms/element.mjs +18 -0
- package/esm2022/lib/classes/forms/field.mjs +458 -0
- package/esm2022/lib/classes/forms/form.mjs +581 -0
- package/esm2022/lib/classes/forms/piece-propagate.mjs +39 -0
- package/esm2022/lib/classes/forms/piece.mjs +126 -0
- package/esm2022/lib/classes/forms/section.mjs +139 -0
- package/esm2022/lib/classes/forms/subsection.mjs +81 -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 +481 -0
- package/esm2022/lib/components/elements/action.component.mjs +52 -0
- package/esm2022/lib/components/elements/field.component.mjs +112 -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 +40 -0
- package/esm2022/lib/components/elements/layout/section.component.mjs +40 -0
- package/esm2022/lib/components/elements/layout/sub-section.component.mjs +40 -0
- package/esm2022/lib/components/elements/tables/table-record-action.component.mjs +67 -0
- package/esm2022/lib/components/elements/tables/table-record-field.component.mjs +31 -0
- package/esm2022/lib/components/elements/tables/table.component.mjs +95 -0
- package/esm2022/lib/components/forms/basic-form.mjs +1314 -0
- package/esm2022/lib/services/event-manager.service.mjs +43 -0
- package/esm2022/lib/services/form-manager.service.mjs +81 -0
- package/{esm2020 → esm2022}/lib/tuain-ng-forms-lib.module.mjs +29 -29
- package/{fesm2020 → fesm2022}/tuain-ng-forms-lib.mjs +331 -270
- package/fesm2022/tuain-ng-forms-lib.mjs.map +1 -0
- package/lib/components/elements/action.component.d.ts +1 -1
- package/lib/components/elements/field.component.d.ts +1 -2
- package/lib/components/elements/layout/element.component.d.ts +1 -1
- package/lib/components/elements/layout/form-error.component.d.ts +1 -1
- package/lib/components/elements/layout/form-header.component.d.ts +1 -1
- package/lib/components/elements/layout/piece.component.d.ts +1 -1
- package/lib/components/elements/layout/section.component.d.ts +1 -1
- package/lib/components/elements/layout/sub-section.component.d.ts +1 -1
- package/lib/components/elements/tables/table-record-action.component.d.ts +1 -1
- package/lib/components/elements/tables/table-record-field.component.d.ts +1 -1
- package/lib/components/elements/tables/table.component.d.ts +1 -1
- package/lib/components/forms/basic-form.d.ts +1 -1
- package/package.json +7 -13
- package/esm2020/lib/classes/forms/action.mjs +0 -72
- package/esm2020/lib/classes/forms/element.mjs +0 -18
- package/esm2020/lib/classes/forms/field.mjs +0 -456
- package/esm2020/lib/classes/forms/form.mjs +0 -574
- package/esm2020/lib/classes/forms/piece-propagate.mjs +0 -41
- package/esm2020/lib/classes/forms/piece.mjs +0 -123
- package/esm2020/lib/classes/forms/section.mjs +0 -138
- package/esm2020/lib/classes/forms/subsection.mjs +0 -81
- package/esm2020/lib/classes/forms/table/action.mjs +0 -30
- package/esm2020/lib/classes/forms/table/column.mjs +0 -74
- package/esm2020/lib/classes/forms/table/row-data.mjs +0 -116
- package/esm2020/lib/classes/forms/table/table.mjs +0 -464
- package/esm2020/lib/components/elements/action.component.mjs +0 -55
- package/esm2020/lib/components/elements/field.component.mjs +0 -104
- package/esm2020/lib/components/elements/layout/element.component.mjs +0 -20
- package/esm2020/lib/components/elements/layout/form-error.component.mjs +0 -20
- package/esm2020/lib/components/elements/layout/form-header.component.mjs +0 -24
- package/esm2020/lib/components/elements/layout/piece.component.mjs +0 -40
- package/esm2020/lib/components/elements/layout/section.component.mjs +0 -39
- package/esm2020/lib/components/elements/layout/sub-section.component.mjs +0 -39
- package/esm2020/lib/components/elements/tables/table-record-action.component.mjs +0 -67
- package/esm2020/lib/components/elements/tables/table-record-field.component.mjs +0 -30
- package/esm2020/lib/components/elements/tables/table.component.mjs +0 -92
- package/esm2020/lib/components/forms/basic-form.mjs +0 -1310
- package/esm2020/lib/services/event-manager.service.mjs +0 -43
- package/esm2020/lib/services/form-manager.service.mjs +0 -80
- package/fesm2015/tuain-ng-forms-lib.mjs +0 -4315
- package/fesm2015/tuain-ng-forms-lib.mjs.map +0 -1
- package/fesm2020/tuain-ng-forms-lib.mjs.map +0 -1
- /package/{esm2020 → esm2022}/lib/classes/forms/form.constants.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/services/file-manager.service.mjs +0 -0
- /package/{esm2020 → esm2022}/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/tuain-ng-forms-lib.mjs +0 -0
- /package/{tuain-ng-forms-lib.d.ts → index.d.ts} +0 -0
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { ElementComponent } from './layout/element.component';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
const VALUE = 'value';
|
|
5
|
+
const FOCUS = 'focus';
|
|
6
|
+
export class FieldComponent extends ElementComponent {
|
|
7
|
+
// Atributos obtenidos estáticamente
|
|
8
|
+
code = '';
|
|
9
|
+
value;
|
|
10
|
+
info = '';
|
|
11
|
+
alignment = '';
|
|
12
|
+
tooltip = '';
|
|
13
|
+
// Atributos actualizados por subscripción
|
|
14
|
+
minLength;
|
|
15
|
+
maxLength;
|
|
16
|
+
minValue;
|
|
17
|
+
maxValue;
|
|
18
|
+
onValidation;
|
|
19
|
+
captureType;
|
|
20
|
+
title;
|
|
21
|
+
type;
|
|
22
|
+
visibleLabel;
|
|
23
|
+
required;
|
|
24
|
+
options;
|
|
25
|
+
errorType;
|
|
26
|
+
errorCode;
|
|
27
|
+
errorMessage;
|
|
28
|
+
field = null;
|
|
29
|
+
ngOnInit() {
|
|
30
|
+
if (!this.field) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
this.formConfig = this.field?._formConfig;
|
|
34
|
+
const mapping = Object.entries(this.formConfig?.fieldPropagateAttributes);
|
|
35
|
+
const customAttributesMapping = this.formConfig?.propagationCustomAttributes.fields ?? [];
|
|
36
|
+
for (let index = 0; index < mapping.length; index++) {
|
|
37
|
+
const fieldAttr = mapping[index]?.[0];
|
|
38
|
+
const componentAttr = mapping[index]?.[1]?.toString() ?? '';
|
|
39
|
+
if (componentAttr) {
|
|
40
|
+
const value = this.field?.[fieldAttr];
|
|
41
|
+
this.defaultProcessAttributeChange(componentAttr, value);
|
|
42
|
+
this.customProcessAttributeChange(componentAttr, value);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
// Atributos personalizados
|
|
46
|
+
for (let index = 0; index < customAttributesMapping.length; index++) {
|
|
47
|
+
const customAttribute = customAttributesMapping[index];
|
|
48
|
+
if (customAttribute) {
|
|
49
|
+
const value = this.field?.getCustomAttribute(customAttribute);
|
|
50
|
+
const fullName = `customAttributes.${customAttribute}`;
|
|
51
|
+
if (value) {
|
|
52
|
+
this.defaultProcessAttributeChange(fullName, value);
|
|
53
|
+
this.customProcessAttributeChange(fullName, value);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
// Subscripción a cambios en atributos
|
|
58
|
+
this.field?.attributeChange.subscribe(event => {
|
|
59
|
+
const { name: componentAttr, value = null } = event ?? {};
|
|
60
|
+
if (componentAttr) {
|
|
61
|
+
this.defaultProcessAttributeChange(componentAttr, value);
|
|
62
|
+
this.customProcessAttributeChange(componentAttr, value);
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
if (this.field) {
|
|
66
|
+
this.field.widget = this;
|
|
67
|
+
}
|
|
68
|
+
this.start();
|
|
69
|
+
}
|
|
70
|
+
defaultProcessAttributeChange(attribute, value) {
|
|
71
|
+
if (attribute === VALUE) {
|
|
72
|
+
this.updateValue();
|
|
73
|
+
}
|
|
74
|
+
else if (attribute === FOCUS) {
|
|
75
|
+
this.focus();
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
return super.defaultProcessAttributeChange(attribute, value);
|
|
79
|
+
}
|
|
80
|
+
return true;
|
|
81
|
+
}
|
|
82
|
+
updateValue() { this.value = this.field?.value; }
|
|
83
|
+
onInputChange() { setTimeout(() => this.field?.notifyEditionPartial(), 50); }
|
|
84
|
+
onChangeContent() { setTimeout(() => this.field?.notifyEditionFinish(), 50); }
|
|
85
|
+
onShowInfo(detail = null) { setTimeout(() => this.field?.notifyEditionDetailRequest(detail), 50); }
|
|
86
|
+
focus() { }
|
|
87
|
+
updateObject(widgetUpdate = true) { this.field?.setValue(this.value, widgetUpdate); }
|
|
88
|
+
inputChanged() {
|
|
89
|
+
this.field?.setValue(this.value);
|
|
90
|
+
this.onChangeContent();
|
|
91
|
+
}
|
|
92
|
+
inputTyped() {
|
|
93
|
+
this.updateObject(false);
|
|
94
|
+
this.onInputChange();
|
|
95
|
+
}
|
|
96
|
+
numberInputValidation(event) {
|
|
97
|
+
const k = event.charCode;
|
|
98
|
+
return (k > 47 && k < 58);
|
|
99
|
+
}
|
|
100
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
101
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FieldComponent, selector: "lib-field", inputs: { field: "field" }, usesInheritance: true, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true });
|
|
102
|
+
}
|
|
103
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FieldComponent, decorators: [{
|
|
104
|
+
type: Component,
|
|
105
|
+
args: [{
|
|
106
|
+
selector: 'lib-field',
|
|
107
|
+
template: `<ng-content></ng-content>`
|
|
108
|
+
}]
|
|
109
|
+
}], propDecorators: { field: [{
|
|
110
|
+
type: Input
|
|
111
|
+
}] } });
|
|
112
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVhaW4tbmctZm9ybXMtbGliL3NyYy9saWIvY29tcG9uZW50cy9lbGVtZW50cy9maWVsZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUE7O0FBRTdELE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQztBQUN0QixNQUFNLEtBQUssR0FBRyxPQUFPLENBQUM7QUFLdEIsTUFBTSxPQUFPLGNBQWUsU0FBUSxnQkFBZ0I7SUFDbEQsb0NBQW9DO0lBQ3BDLElBQUksR0FBVyxFQUFFLENBQUM7SUFDbEIsS0FBSyxDQUFNO0lBQ1gsSUFBSSxHQUFXLEVBQUUsQ0FBQztJQUNsQixTQUFTLEdBQVcsRUFBRSxDQUFDO0lBQ3ZCLE9BQU8sR0FBVyxFQUFFLENBQUM7SUFFckIsMENBQTBDO0lBQzFDLFNBQVMsQ0FBTTtJQUNmLFNBQVMsQ0FBTTtJQUNmLFFBQVEsQ0FBTTtJQUNkLFFBQVEsQ0FBTTtJQUNkLFlBQVksQ0FBTTtJQUNsQixXQUFXLENBQU07SUFDakIsS0FBSyxDQUFNO0lBQ1gsSUFBSSxDQUFNO0lBQ1YsWUFBWSxDQUFNO0lBQ2xCLFFBQVEsQ0FBTTtJQUNkLE9BQU8sQ0FBTTtJQUViLFNBQVMsQ0FBTTtJQUNmLFNBQVMsQ0FBTTtJQUNmLFlBQVksQ0FBTTtJQUVULEtBQUssR0FBMkIsSUFBSSxDQUFDO0lBRTlDLFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQUMsT0FBTztRQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQztRQUMxQyxNQUFN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QUFkLGNBQWMsb0dBRmYsMkJBQTJCOzs0RkFFMUIsY0FBYztrQkFKMUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsV0FBVztvQkFDckIsUUFBUSxFQUFFLDJCQUEyQjtpQkFDdEM7OEJBMEJVLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmllbGREZXNjcmlwdG9yIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9mb3Jtcy9maWVsZCc7XG5pbXBvcnQgeyBFbGVtZW50Q29tcG9uZW50IH0gZnJvbSAnLi9sYXlvdXQvZWxlbWVudC5jb21wb25lbnQnXG5cbmNvbnN0IFZBTFVFID0gJ3ZhbHVlJztcbmNvbnN0IEZPQ1VTID0gJ2ZvY3VzJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1maWVsZCcsXG4gIHRlbXBsYXRlOiBgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PmBcbn0pXG5leHBvcnQgY2xhc3MgRmllbGRDb21wb25lbnQgZXh0ZW5kcyBFbGVtZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgLy8gQXRyaWJ1dG9zIG9idGVuaWRvcyBlc3TDoXRpY2FtZW50ZVxuICBjb2RlOiBzdHJpbmcgPSAnJztcbiAgdmFsdWU6IGFueTtcbiAgaW5mbzogc3RyaW5nID0gJyc7XG4gIGFsaWdubWVudDogc3RyaW5nID0gJyc7XG4gIHRvb2x0aXA6IHN0cmluZyA9ICcnO1xuXG4gIC8vIEF0cmlidXRvcyBhY3R1YWxpemFkb3MgcG9yIHN1YnNjcmlwY2nDs25cbiAgbWluTGVuZ3RoOiBhbnk7XG4gIG1heExlbmd0aDogYW55O1xuICBtaW5WYWx1ZTogYW55O1xuICBtYXhWYWx1ZTogYW55O1xuICBvblZhbGlkYXRpb246IGFueTtcbiAgY2FwdHVyZVR5cGU6IGFueTtcbiAgdGl0bGU6IGFueTtcbiAgdHlwZTogYW55O1xuICB2aXNpYmxlTGFiZWw6IGFueTtcbiAgcmVxdWlyZWQ6IGFueTtcbiAgb3B0aW9uczogYW55O1xuXG4gIGVycm9yVHlwZTogYW55O1xuICBlcnJvckNvZGU6IGFueTtcbiAgZXJyb3JNZXNzYWdlOiBhbnk7XG5cbiAgQElucHV0KCkgZmllbGQ6IEZpZWxkRGVzY3JpcHRvciB8IG51bGwgPSBudWxsO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICghdGhpcy5maWVsZCkgeyByZXR1cm47IH1cbiAgICB0aGlzLmZvcm1Db25maWcgPSB0aGlzLmZpZWxkPy5fZm9ybUNvbmZpZztcbiAgICBjb25zdCBtYXBwaW5nID0gT2JqZWN0LmVudHJpZXModGhpcy5mb3JtQ29uZmlnPy5maWVsZFByb3BhZ2F0ZUF0dHJpYnV0ZXMpO1xuICAgIGNvbnN0IGN1c3RvbUF0dHJpYnV0ZXNNYXBwaW5nID0gdGhpcy5mb3JtQ29uZmlnPy5wcm9wYWdhdGlvbkN1c3RvbUF0dHJpYnV0ZXMuZmllbGRzID8/IFtdO1xuXG4gICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IG1hcHBpbmcubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICBjb25zdCBmaWVsZEF0dHIgPSBtYXBwaW5nW2luZGV4XT8uWzBdO1xuICAgICAgY29uc3QgY29tcG9uZW50QXR0ciA9IG1hcHBpbmdbaW5kZXhdPy5bMV0/LnRvU3RyaW5nKCkgPz8gJyc7XG4gICAgICBpZiAoY29tcG9uZW50QXR0cikge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZmllbGQ/LltmaWVsZEF0dHJdO1xuICAgICAgICB0aGlzLmRlZmF1bHRQcm9jZXNzQXR0cmlidXRlQ2hhbmdlKGNvbXBvbmVudEF0dHIsIHZhbHVlKTtcbiAgICAgICAgdGhpcy5jdXN0b21Qcm9jZXNzQXR0cmlidXRlQ2hhbmdlKGNvbXBvbmVudEF0dHIsIHZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gQXRyaWJ1dG9zIHBlcnNvbmFsaXphZG9zXG4gICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGN1c3RvbUF0dHJpYnV0ZXNNYXBwaW5nLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgY29uc3QgY3VzdG9tQXR0cmlidXRlID0gY3VzdG9tQXR0cmlidXRlc01hcHBpbmdbaW5kZXhdO1xuICAgICAgaWYgKGN1c3RvbUF0dHJpYnV0ZSkge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZmllbGQ/LmdldEN1c3RvbUF0dHJpYnV0ZShjdXN0b21BdHRyaWJ1dGUpO1xuICAgICAgICBjb25zdCBmdWxsTmFtZSA9IGBjdXN0b21BdHRyaWJ1dGVzLiR7Y3VzdG9tQXR0cmlidXRlfWA7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgIHRoaXMuZGVmYXVsdFByb2Nlc3NBdHRyaWJ1dGVDaGFuZ2UoZnVsbE5hbWUsIHZhbHVlKTtcbiAgICAgICAgICB0aGlzLmN1c3RvbVByb2Nlc3NBdHRyaWJ1dGVDaGFuZ2UoZnVsbE5hbWUsIHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAvLyBTdWJzY3JpcGNpw7NuIGEgY2FtYmlvcyBlbiBhdHJpYnV0b3NcbiAgICB0aGlzLmZpZWxkPy5hdHRyaWJ1dGVDaGFuZ2Uuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgIGNvbnN0IHsgbmFtZTogY29tcG9uZW50QXR0ciwgdmFsdWUgPSBudWxsIH0gPSBldmVudCA/PyB7fTtcbiAgICAgIGlmIChjb21wb25lbnRBdHRyKSB7XG4gICAgICAgIHRoaXMuZGVmYXVsdFByb2Nlc3NBdHRyaWJ1dGVDaGFuZ2UoY29tcG9uZW50QXR0ciwgdmFsdWUpO1xuICAgICAgICB0aGlzLmN1c3RvbVByb2Nlc3NBdHRyaWJ1dGVDaGFuZ2UoY29tcG9uZW50QXR0ciwgdmFsdWUpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGlmICh0aGlzLmZpZWxkKSB7XG4gICAgICB0aGlzLmZpZWxkLndpZGdldCA9IHRoaXM7XG4gICAgfVxuICAgIHRoaXMuc3RhcnQoKTtcbiAgfVxuXG4gIG92ZXJyaWRlIGRlZmF1bHRQcm9jZXNzQXR0cmlidXRlQ2hhbmdlKGF0dHJpYnV0ZTogc3RyaW5nLCB2YWx1ZT86IGFueSk6IGJvb2xlYW4ge1xuICAgIGlmIChhdHRyaWJ1dGUgPT09IFZBTFVFKSB7XG4gICAgICB0aGlzLnVwZGF0ZVZhbHVlKCk7XG4gICAgfSBlbHNlIGlmIChhdHRyaWJ1dGUgPT09IEZPQ1VTKSB7XG4gICAgICB0aGlzLmZvY3VzKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBzdXBlci5kZWZhdWx0UHJvY2Vzc0F0dHJpYnV0ZUNoYW5nZShhdHRyaWJ1dGUsIHZhbHVlKTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICB1cGRhdGVWYWx1ZSgpIHsgdGhpcy52YWx1ZSA9IHRoaXMuZmllbGQ/LnZhbHVlOyB9XG4gIG9uSW5wdXRDaGFuZ2UoKSB7IHNldFRpbWVvdXQoKCkgPT4gdGhpcy5maWVsZD8ubm90aWZ5RWRpdGlvblBhcnRpYWwoKSwgNTApOyB9XG4gIG9uQ2hhbmdlQ29udGVudCgpIHsgc2V0VGltZW91dCgoKSA9PiB0aGlzLmZpZWxkPy5ub3RpZnlFZGl0aW9uRmluaXNoKCksIDUwKTsgfVxuICBvblNob3dJbmZvKGRldGFpbCA9IG51bGwpIHsgc2V0VGltZW91dCgoKSA9PiB0aGlzLmZpZWxkPy5ub3RpZnlFZGl0aW9uRGV0YWlsUmVxdWVzdChkZXRhaWwpLCA1MCk7IH1cblxuICBmb2N1cygpIHsgfVxuICB1cGRhdGVPYmplY3Qod2lkZ2V0VXBkYXRlID0gdHJ1ZSkgeyB0aGlzLmZpZWxkPy5zZXRWYWx1ZSh0aGlzLnZhbHVlLCB3aWRnZXRVcGRhdGUpOyB9XG5cbiAgaW5wdXRDaGFuZ2VkKCkge1xuICAgIHRoaXMuZmllbGQ/LnNldFZhbHVlKHRoaXMudmFsdWUpO1xuICAgIHRoaXMub25DaGFuZ2VDb250ZW50KCk7XG4gIH1cblxuICBpbnB1dFR5cGVkKCkge1xuICAgIHRoaXMudXBkYXRlT2JqZWN0KGZhbHNlKTtcbiAgICB0aGlzLm9uSW5wdXRDaGFuZ2UoKTtcbiAgfVxuXG4gIG51bWJlcklucHV0VmFsaWRhdGlvbihldmVudCkge1xuICAgIGNvbnN0IGsgPSBldmVudC5jaGFyQ29kZTtcbiAgICByZXR1cm4gKGsgPiA0NyAmJiBrIDwgNTgpO1xuICB9XG59XG4iXX0=
|
|
@@ -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,40 @@
|
|
|
1
|
+
import { Component } 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 = true;
|
|
8
|
+
disabled = false;
|
|
9
|
+
customAttributes = {};
|
|
10
|
+
setForm(form) { this.form = form; }
|
|
11
|
+
defaultProcessAttributeChange(attribute, value) {
|
|
12
|
+
if (!attribute || attribute.trim() === '') {
|
|
13
|
+
return false;
|
|
14
|
+
}
|
|
15
|
+
const attributeParts = attribute.split('.');
|
|
16
|
+
if (attributeParts?.length > 1) {
|
|
17
|
+
const [attributeType, subAttribute] = attributeParts;
|
|
18
|
+
if (attributeType === CUSTOM_ATTRIBUTES) {
|
|
19
|
+
this.customAttributes[subAttribute] = value;
|
|
20
|
+
this.customAttributeChange(subAttribute, value);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
this[attribute] = value;
|
|
25
|
+
}
|
|
26
|
+
return true;
|
|
27
|
+
}
|
|
28
|
+
customProcessAttributeChange(attribute, value) { }
|
|
29
|
+
customAttributeChange(subAttribute, value) { }
|
|
30
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PieceComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
31
|
+
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 });
|
|
32
|
+
}
|
|
33
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PieceComponent, decorators: [{
|
|
34
|
+
type: Component,
|
|
35
|
+
args: [{
|
|
36
|
+
selector: 'lib-piece',
|
|
37
|
+
template: `<ng-content></ng-content>`
|
|
38
|
+
}]
|
|
39
|
+
}] });
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGllY2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVhaW4tbmctZm9ybXMtbGliL3NyYy9saWIvY29tcG9uZW50cy9lbGVtZW50cy9sYXlvdXQvcGllY2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRTFDLE1BQU0saUJBQWlCLEdBQUcsa0JBQWtCLENBQUM7QUFLN0MsTUFBTSxPQUFPLGNBQWM7SUFDekIsSUFBSSxDQUFNO0lBQ1YsVUFBVSxDQUFNO0lBQ2hCLE9BQU8sR0FBWSxJQUFJLENBQUM7SUFDeEIsUUFBUSxHQUFZLEtBQUssQ0FBQztJQUMxQixnQkFBZ0IsR0FBUSxFQUFFLENBQUM7SUFFM0IsT0FBTyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUM7SUFFbkMsNkJBQTZCLENBQUMsU0FBaUIsRUFBRSxLQUFXO1FBQzFELElBQUksQ0FBQyxTQUFTLElBQUksU0FBUyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO1lBQzFDLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUNELE1BQU0sY0FBYyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDNUMsSUFBSSxjQUFjLEVBQUUsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQy9CLE1BQU0sQ0FBQyxhQUFhLEVBQUUsWUFBWSxDQUFDLEdBQUcsY0FBYyxDQUFDO1lBQ3JELElBQUksYUFBYSxLQUFLLGlCQUFpQixFQUFFLENBQUM7Z0JBQ3hDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsR0FBRyxLQUFLLENBQUM7Z0JBQzVDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDbEQsQ0FBQztRQUNILENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEtBQUssQ0FBQztRQUMxQixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsNEJBQTRCLENBQUMsU0FBaUIsRUFBRSxLQUFXLElBQUksQ0FBQztJQUVoRSxxQkFBcUIsQ0FBQyxZQUFvQixFQUFFLEtBQVcsSUFBSSxDQUFDO3dHQTVCakQsY0FBYzs0RkFBZCxjQUFjLGlEQUZmLDJCQUEyQjs7NEZBRTFCLGNBQWM7a0JBSjFCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLFFBQVEsRUFBRSwyQkFBMkI7aUJBQ3RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmNvbnN0IENVU1RPTV9BVFRSSUJVVEVTID0gJ2N1c3RvbUF0dHJpYnV0ZXMnO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLXBpZWNlJyxcbiAgdGVtcGxhdGU6IGA8bmctY29udGVudD48L25nLWNvbnRlbnQ+YFxufSlcbmV4cG9ydCBjbGFzcyBQaWVjZUNvbXBvbmVudCB7XG4gIGZvcm06IGFueTtcbiAgZm9ybUNvbmZpZzogYW55O1xuICB2aXNpYmxlOiBib29sZWFuID0gdHJ1ZTtcbiAgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgY3VzdG9tQXR0cmlidXRlczogYW55ID0ge307XG5cbiAgc2V0Rm9ybShmb3JtKSB7IHRoaXMuZm9ybSA9IGZvcm07IH1cblxuICBkZWZhdWx0UHJvY2Vzc0F0dHJpYnV0ZUNoYW5nZShhdHRyaWJ1dGU6IHN0cmluZywgdmFsdWU/OiBhbnkpOiBib29sZWFuIHtcbiAgICBpZiAoIWF0dHJpYnV0ZSB8fCBhdHRyaWJ1dGUudHJpbSgpID09PSAnJykge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBjb25zdCBhdHRyaWJ1dGVQYXJ0cyA9IGF0dHJpYnV0ZS5zcGxpdCgnLicpO1xuICAgIGlmIChhdHRyaWJ1dGVQYXJ0cz8ubGVuZ3RoID4gMSkge1xuICAgICAgY29uc3QgW2F0dHJpYnV0ZVR5cGUsIHN1YkF0dHJpYnV0ZV0gPSBhdHRyaWJ1dGVQYXJ0cztcbiAgICAgIGlmIChhdHRyaWJ1dGVUeXBlID09PSBDVVNUT01fQVRUUklCVVRFUykge1xuICAgICAgICB0aGlzLmN1c3RvbUF0dHJpYnV0ZXNbc3ViQXR0cmlidXRlXSA9IHZhbHVlO1xuICAgICAgICB0aGlzLmN1c3RvbUF0dHJpYnV0ZUNoYW5nZShzdWJBdHRyaWJ1dGUsIHZhbHVlKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpc1thdHRyaWJ1dGVdID0gdmFsdWU7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgY3VzdG9tUHJvY2Vzc0F0dHJpYnV0ZUNoYW5nZShhdHRyaWJ1dGU6IHN0cmluZywgdmFsdWU/OiBhbnkpIHsgfVxuXG4gIGN1c3RvbUF0dHJpYnV0ZUNoYW5nZShzdWJBdHRyaWJ1dGU6IHN0cmluZywgdmFsdWU/OiBhbnkpIHsgfVxufVxuIl19
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { PieceComponent } from './piece.component';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class SectionComponent extends PieceComponent {
|
|
5
|
+
section;
|
|
6
|
+
ngOnInit() {
|
|
7
|
+
this.formConfig = this.section?._formConfig;
|
|
8
|
+
const mapping = this.formConfig?.sectionPropagateAttributes;
|
|
9
|
+
for (let index = 0; index < mapping.length; index++) {
|
|
10
|
+
const attrName = mapping[index].toString();
|
|
11
|
+
const attributeValue = this.section?.[attrName];
|
|
12
|
+
this.defaultProcessAttributeChange(attrName, attributeValue);
|
|
13
|
+
this.customProcessAttributeChange(attrName, attributeValue);
|
|
14
|
+
}
|
|
15
|
+
// Subscripción a cambios en atributos
|
|
16
|
+
this.section?.attributeChange.subscribe(event => {
|
|
17
|
+
const { name: attrName, value = null } = event ?? {};
|
|
18
|
+
if (attrName) {
|
|
19
|
+
this.defaultProcessAttributeChange(attrName, value);
|
|
20
|
+
this.customProcessAttributeChange(attrName, value);
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
this.start();
|
|
24
|
+
}
|
|
25
|
+
start() {
|
|
26
|
+
this.setForm(this.section?._form);
|
|
27
|
+
}
|
|
28
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SectionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
29
|
+
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 });
|
|
30
|
+
}
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SectionComponent, decorators: [{
|
|
32
|
+
type: Component,
|
|
33
|
+
args: [{
|
|
34
|
+
selector: 'lib-section',
|
|
35
|
+
template: `<ng-content></ng-content>`
|
|
36
|
+
}]
|
|
37
|
+
}], propDecorators: { section: [{
|
|
38
|
+
type: Input
|
|
39
|
+
}] } });
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWFpbi1uZy1mb3Jtcy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2VsZW1lbnRzL2xheW91dC9zZWN0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBTW5ELE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxjQUFjO0lBQ3pDLE9BQU8sQ0FBTTtJQUV0QixRQUFRO1FBQ04sSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQztRQUM1QyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLDBCQUEwQixDQUFDO1FBQzVELEtBQUssSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEtBQUssR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDcEQsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzNDLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNoRCxJQUFJLENBQUMsNkJBQTZCLENBQUMsUUFBUSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1lBQzdELElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFDOUQsQ0FBQztRQUNELHNDQUFzQztRQUN0QyxJQUFJLENBQUMsT0FBTyxFQUFFLGVBQWUsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDOUMsTUFBTSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxHQUFHLElBQUksRUFBRSxHQUFHLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDckQsSUFBSSxRQUFRLEVBQUUsQ0FBQztnQkFDYixJQUFJLENBQUMsNkJBQTZCLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUNwRCxJQUFJLENBQUMsNEJBQTRCLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ3JELENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNmLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLENBQUM7d0dBekJVLGdCQUFnQjs0RkFBaEIsZ0JBQWdCLDBHQUZqQiwyQkFBMkI7OzRGQUUxQixnQkFBZ0I7a0JBSjVCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLFFBQVEsRUFBRSwyQkFBMkI7aUJBQ3RDOzhCQUVVLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUGllY2VDb21wb25lbnQgfSBmcm9tICcuL3BpZWNlLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1zZWN0aW9uJyxcbiAgdGVtcGxhdGU6IGA8bmctY29udGVudD48L25nLWNvbnRlbnQ+YFxufSlcbmV4cG9ydCBjbGFzcyBTZWN0aW9uQ29tcG9uZW50IGV4dGVuZHMgUGllY2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBzZWN0aW9uOiBhbnk7XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5mb3JtQ29uZmlnID0gdGhpcy5zZWN0aW9uPy5fZm9ybUNvbmZpZztcbiAgICBjb25zdCBtYXBwaW5nID0gdGhpcy5mb3JtQ29uZmlnPy5zZWN0aW9uUHJvcGFnYXRlQXR0cmlidXRlcztcbiAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgbWFwcGluZy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgIGNvbnN0IGF0dHJOYW1lID0gbWFwcGluZ1tpbmRleF0udG9TdHJpbmcoKTtcbiAgICAgIGNvbnN0IGF0dHJpYnV0ZVZhbHVlID0gdGhpcy5zZWN0aW9uPy5bYXR0ck5hbWVdO1xuICAgICAgdGhpcy5kZWZhdWx0UHJvY2Vzc0F0dHJpYnV0ZUNoYW5nZShhdHRyTmFtZSwgYXR0cmlidXRlVmFsdWUpO1xuICAgICAgdGhpcy5jdXN0b21Qcm9jZXNzQXR0cmlidXRlQ2hhbmdlKGF0dHJOYW1lLCBhdHRyaWJ1dGVWYWx1ZSk7XG4gICAgfVxuICAgIC8vIFN1YnNjcmlwY2nDs24gYSBjYW1iaW9zIGVuIGF0cmlidXRvc1xuICAgIHRoaXMuc2VjdGlvbj8uYXR0cmlidXRlQ2hhbmdlLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICBjb25zdCB7IG5hbWU6IGF0dHJOYW1lLCB2YWx1ZSA9IG51bGwgfSA9IGV2ZW50ID8/IHt9O1xuICAgICAgaWYgKGF0dHJOYW1lKSB7XG4gICAgICAgIHRoaXMuZGVmYXVsdFByb2Nlc3NBdHRyaWJ1dGVDaGFuZ2UoYXR0ck5hbWUsIHZhbHVlKTtcbiAgICAgICAgdGhpcy5jdXN0b21Qcm9jZXNzQXR0cmlidXRlQ2hhbmdlKGF0dHJOYW1lLCB2YWx1ZSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5zdGFydCgpO1xuICB9XG5cbiAgc3RhcnQoKSB7XG4gICAgdGhpcy5zZXRGb3JtKHRoaXMuc2VjdGlvbj8uX2Zvcm0pO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { PieceComponent } from './piece.component';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class SubSectionComponent extends PieceComponent {
|
|
5
|
+
subSection;
|
|
6
|
+
ngOnInit() {
|
|
7
|
+
this.formConfig = this.subSection?._formConfig;
|
|
8
|
+
const mapping = this.formConfig?.subSectionPropagateAttributes;
|
|
9
|
+
for (let index = 0; index < mapping.length; index++) {
|
|
10
|
+
const attrName = mapping[index].toString();
|
|
11
|
+
const attributeValue = this.subSection?.[attrName];
|
|
12
|
+
this.defaultProcessAttributeChange(attrName, attributeValue);
|
|
13
|
+
this.customProcessAttributeChange(attrName, attributeValue);
|
|
14
|
+
}
|
|
15
|
+
// Subscripción a cambios en atributos
|
|
16
|
+
this.subSection?.attributeChange.subscribe(event => {
|
|
17
|
+
const { name: attrName, value = null } = event ?? {};
|
|
18
|
+
if (attrName) {
|
|
19
|
+
this.defaultProcessAttributeChange(attrName, value);
|
|
20
|
+
this.customProcessAttributeChange(attrName, value);
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
this.start();
|
|
24
|
+
}
|
|
25
|
+
start() {
|
|
26
|
+
this.setForm(this.subSection?._form);
|
|
27
|
+
}
|
|
28
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SubSectionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
29
|
+
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 });
|
|
30
|
+
}
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SubSectionComponent, decorators: [{
|
|
32
|
+
type: Component,
|
|
33
|
+
args: [{
|
|
34
|
+
selector: 'lib-subsection',
|
|
35
|
+
template: `<ng-content></ng-content>`
|
|
36
|
+
}]
|
|
37
|
+
}], propDecorators: { subSection: [{
|
|
38
|
+
type: Input
|
|
39
|
+
}] } });
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ViLXNlY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVhaW4tbmctZm9ybXMtbGliL3NyYy9saWIvY29tcG9uZW50cy9lbGVtZW50cy9sYXlvdXQvc3ViLXNlY3Rpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFNbkQsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGNBQWM7SUFDNUMsVUFBVSxDQUFNO0lBRXpCLFFBQVE7UUFDTixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsV0FBVyxDQUFDO1FBQy9DLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsNkJBQTZCLENBQUM7UUFDL0QsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUNwRCxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDM0MsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ25ELElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxRQUFRLEVBQUUsY0FBYyxDQUFDLENBQUM7WUFDN0QsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsRUFBRSxjQUFjLENBQUMsQ0FBQztRQUM5RCxDQUFDO1FBQ0Qsc0NBQXNDO1FBQ3RDLElBQUksQ0FBQyxVQUFVLEVBQUUsZUFBZSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNqRCxNQUFNLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLEdBQUcsSUFBSSxFQUFFLEdBQUcsS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUNyRCxJQUFJLFFBQVEsRUFBRSxDQUFDO2dCQUNiLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7Z0JBQ3BELElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDckQsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2YsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdkMsQ0FBQzt3R0F6QlUsbUJBQW1COzRGQUFuQixtQkFBbUIsbUhBRnBCLDJCQUEyQjs7NEZBRTFCLG1CQUFtQjtrQkFKL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixRQUFRLEVBQUUsMkJBQTJCO2lCQUN0Qzs4QkFFVSxVQUFVO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQaWVjZUNvbXBvbmVudCB9IGZyb20gJy4vcGllY2UuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLXN1YnNlY3Rpb24nLFxuICB0ZW1wbGF0ZTogYDxuZy1jb250ZW50PjwvbmctY29udGVudD5gXG59KVxuZXhwb3J0IGNsYXNzIFN1YlNlY3Rpb25Db21wb25lbnQgZXh0ZW5kcyBQaWVjZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHN1YlNlY3Rpb246IGFueTtcblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmZvcm1Db25maWcgPSB0aGlzLnN1YlNlY3Rpb24/Ll9mb3JtQ29uZmlnO1xuICAgIGNvbnN0IG1hcHBpbmcgPSB0aGlzLmZvcm1Db25maWc/LnN1YlNlY3Rpb25Qcm9wYWdhdGVBdHRyaWJ1dGVzO1xuICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBtYXBwaW5nLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgY29uc3QgYXR0ck5hbWUgPSBtYXBwaW5nW2luZGV4XS50b1N0cmluZygpO1xuICAgICAgY29uc3QgYXR0cmlidXRlVmFsdWUgPSB0aGlzLnN1YlNlY3Rpb24/LlthdHRyTmFtZV07XG4gICAgICB0aGlzLmRlZmF1bHRQcm9jZXNzQXR0cmlidXRlQ2hhbmdlKGF0dHJOYW1lLCBhdHRyaWJ1dGVWYWx1ZSk7XG4gICAgICB0aGlzLmN1c3RvbVByb2Nlc3NBdHRyaWJ1dGVDaGFuZ2UoYXR0ck5hbWUsIGF0dHJpYnV0ZVZhbHVlKTtcbiAgICB9XG4gICAgLy8gU3Vic2NyaXBjacOzbiBhIGNhbWJpb3MgZW4gYXRyaWJ1dG9zXG4gICAgdGhpcy5zdWJTZWN0aW9uPy5hdHRyaWJ1dGVDaGFuZ2Uuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgIGNvbnN0IHsgbmFtZTogYXR0ck5hbWUsIHZhbHVlID0gbnVsbCB9ID0gZXZlbnQgPz8ge307XG4gICAgICBpZiAoYXR0ck5hbWUpIHtcbiAgICAgICAgdGhpcy5kZWZhdWx0UHJvY2Vzc0F0dHJpYnV0ZUNoYW5nZShhdHRyTmFtZSwgdmFsdWUpO1xuICAgICAgICB0aGlzLmN1c3RvbVByb2Nlc3NBdHRyaWJ1dGVDaGFuZ2UoYXR0ck5hbWUsIHZhbHVlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLnN0YXJ0KCk7XG4gIH1cblxuICBzdGFydCgpIHtcbiAgICB0aGlzLnNldEZvcm0odGhpcy5zdWJTZWN0aW9uPy5fZm9ybSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,67 @@
|
|
|
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
|
+
export class LibTableRecordActionComponent extends PieceComponent {
|
|
6
|
+
isVisible = true;
|
|
7
|
+
recordId;
|
|
8
|
+
recordData;
|
|
9
|
+
action;
|
|
10
|
+
actionSelected = new EventEmitter();
|
|
11
|
+
ngOnInit() {
|
|
12
|
+
this.formConfig = this.action?._formConfig;
|
|
13
|
+
const mapping = this.formConfig?.actionPropagateAttributes;
|
|
14
|
+
for (let index = 0; index < mapping.length; index++) {
|
|
15
|
+
const attrName = mapping[index].toString();
|
|
16
|
+
const attributeValue = this.action?.[attrName];
|
|
17
|
+
this.defaultProcessAttributeChange(attrName, attributeValue);
|
|
18
|
+
this.customProcessAttributeChange(attrName, attributeValue);
|
|
19
|
+
}
|
|
20
|
+
this.start();
|
|
21
|
+
}
|
|
22
|
+
start() {
|
|
23
|
+
if (this.action && this.action.restrictedOnField && this.recordData) {
|
|
24
|
+
const relatedField = this.action.restrictedOnField;
|
|
25
|
+
if (relatedField) {
|
|
26
|
+
const relatedFieldValue = this.recordData[relatedField];
|
|
27
|
+
const restrictionOper = this.action.restrictedOnOperator;
|
|
28
|
+
const restrictionValue = this.action.restrictedOnValue;
|
|
29
|
+
if ((restrictionOper === '==' && relatedFieldValue !== restrictionValue)
|
|
30
|
+
|| (restrictionOper === '!=' && relatedFieldValue === restrictionValue)) {
|
|
31
|
+
this.isVisible = false;
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
this.isVisible = true;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
onActivate() {
|
|
40
|
+
const tableEvent = {
|
|
41
|
+
actionCode: this.action?.actionCode ?? '',
|
|
42
|
+
recordId: this.recordId,
|
|
43
|
+
recordData: this.recordData,
|
|
44
|
+
};
|
|
45
|
+
this.actionSelected.emit(tableEvent);
|
|
46
|
+
}
|
|
47
|
+
class() { }
|
|
48
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LibTableRecordActionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
49
|
+
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 });
|
|
50
|
+
}
|
|
51
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LibTableRecordActionComponent, decorators: [{
|
|
52
|
+
type: Component,
|
|
53
|
+
args: [{
|
|
54
|
+
selector: 'lib-table-record-action',
|
|
55
|
+
template: `<ng-content></ng-content>`,
|
|
56
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
|
57
|
+
}]
|
|
58
|
+
}], propDecorators: { recordId: [{
|
|
59
|
+
type: Input
|
|
60
|
+
}], recordData: [{
|
|
61
|
+
type: Input
|
|
62
|
+
}], action: [{
|
|
63
|
+
type: Input
|
|
64
|
+
}], actionSelected: [{
|
|
65
|
+
type: Output
|
|
66
|
+
}] } });
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtcmVjb3JkLWFjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWFpbi1uZy1mb3Jtcy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2VsZW1lbnRzL3RhYmxlcy90YWJsZS1yZWNvcmQtYWN0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQVUsWUFBWSxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7QUFJM0QsTUFBTSxhQUFhLEdBQUcsUUFBUSxDQUFDO0FBUS9CLE1BQU0sT0FBTyw2QkFBOEIsU0FBUSxjQUFjO0lBQy9ELFNBQVMsR0FBWSxJQUFJLENBQUM7SUFDakIsUUFBUSxDQUFNO0lBQ2QsVUFBVSxDQUFNO0lBQ2hCLE1BQU0sQ0FBMEI7SUFFL0IsY0FBYyxHQUFtQyxJQUFJLFlBQVksRUFBb0IsQ0FBQztJQUVoRyxRQUFRO1FBQ04sSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQztRQUMzQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLHlCQUF5QixDQUFDO1FBQzNELEtBQUssSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEtBQUssR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDcEQsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzNDLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUMvQyxJQUFJLENBQUMsNkJBQTZCLENBQUMsUUFBUSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1lBQzdELElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFDOUQsQ0FBQztRQUNELElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNmLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3BFLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUM7WUFDbkQsSUFBSSxZQUFZLEVBQUUsQ0FBQztnQkFDakIsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUN4RCxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLG9CQUFvQixDQUFDO2dCQUN6RCxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUE7Z0JBQ3RELElBQUksQ0FBQyxlQUFlLEtBQUssSUFBSSxJQUFJLGlCQUFpQixLQUFLLGdCQUFnQixDQUFDO3VCQUNuRSxDQUFDLGVBQWUsS0FBSyxJQUFJLElBQUksaUJBQWlCLEtBQUssZ0JBQWdCLENBQUMsRUFBRSxDQUFDO29CQUMxRSxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztnQkFDekIsQ0FBQztxQkFBTSxDQUFDO29CQUNOLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO2dCQUN4QixDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsVUFBVTtRQUNSLE1BQU0sVUFBVSxHQUFxQjtZQUNuQyxVQUFVLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxVQUFVLElBQUksRUFBRTtZQUN6QyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDdkIsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1NBQzVCLENBQUM7UUFDRixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsS0FBSyxLQUFLLENBQUM7d0dBOUNBLDZCQUE2Qjs0RkFBN0IsNkJBQTZCLG1OQUo5QiwyQkFBMkI7OzRGQUkxQiw2QkFBNkI7a0JBTnpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHlCQUF5QjtvQkFDbkMsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEOzhCQUlVLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBRUksY0FBYztzQkFBdkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgT25Jbml0LCBFdmVudEVtaXR0ZXIsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQaWVjZUNvbXBvbmVudCB9IGZyb20gJy4uL2xheW91dC9waWVjZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGFibGVFdmVudCwgVGFibGVBY3Rpb25FdmVudCB9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvZm9ybXMvdGFibGUvdGFibGUnO1xuaW1wb3J0IHsgVGFibGVBY3Rpb24gfSBmcm9tICcuLi8uLi8uLi9jbGFzc2VzL2Zvcm1zL3RhYmxlL2FjdGlvbic7XG5cbmNvbnN0IElOTElORV9BQ1RJT04gPSAnSU5MSU5FJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLXRhYmxlLXJlY29yZC1hY3Rpb24nLFxuICB0ZW1wbGF0ZTogYDxuZy1jb250ZW50PjwvbmctY29udGVudD5gLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcblxuZXhwb3J0IGNsYXNzIExpYlRhYmxlUmVjb3JkQWN0aW9uQ29tcG9uZW50IGV4dGVuZHMgUGllY2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBpc1Zpc2libGU6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSByZWNvcmRJZDogYW55O1xuICBASW5wdXQoKSByZWNvcmREYXRhOiBhbnk7XG4gIEBJbnB1dCgpIGFjdGlvbjogVGFibGVBY3Rpb24gfCB1bmRlZmluZWQ7XG5cbiAgQE91dHB1dCgpIGFjdGlvblNlbGVjdGVkOiBFdmVudEVtaXR0ZXI8VGFibGVBY3Rpb25FdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPFRhYmxlQWN0aW9uRXZlbnQ+KCk7XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5mb3JtQ29uZmlnID0gdGhpcy5hY3Rpb24/Ll9mb3JtQ29uZmlnO1xuICAgIGNvbnN0IG1hcHBpbmcgPSB0aGlzLmZvcm1Db25maWc/LmFjdGlvblByb3BhZ2F0ZUF0dHJpYnV0ZXM7XG4gICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IG1hcHBpbmcubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICBjb25zdCBhdHRyTmFtZSA9IG1hcHBpbmdbaW5kZXhdLnRvU3RyaW5nKCk7XG4gICAgICBjb25zdCBhdHRyaWJ1dGVWYWx1ZSA9IHRoaXMuYWN0aW9uPy5bYXR0ck5hbWVdO1xuICAgICAgdGhpcy5kZWZhdWx0UHJvY2Vzc0F0dHJpYnV0ZUNoYW5nZShhdHRyTmFtZSwgYXR0cmlidXRlVmFsdWUpO1xuICAgICAgdGhpcy5jdXN0b21Qcm9jZXNzQXR0cmlidXRlQ2hhbmdlKGF0dHJOYW1lLCBhdHRyaWJ1dGVWYWx1ZSk7XG4gICAgfVxuICAgIHRoaXMuc3RhcnQoKTtcbiAgfVxuXG4gIHN0YXJ0KCkge1xuICAgIGlmICh0aGlzLmFjdGlvbiAmJiB0aGlzLmFjdGlvbi5yZXN0cmljdGVkT25GaWVsZCAmJiB0aGlzLnJlY29yZERhdGEpIHtcbiAgICAgIGNvbnN0IHJlbGF0ZWRGaWVsZCA9IHRoaXMuYWN0aW9uLnJlc3RyaWN0ZWRPbkZpZWxkO1xuICAgICAgaWYgKHJlbGF0ZWRGaWVsZCkge1xuICAgICAgICBjb25zdCByZWxhdGVkRmllbGRWYWx1ZSA9IHRoaXMucmVjb3JkRGF0YVtyZWxhdGVkRmllbGRdO1xuICAgICAgICBjb25zdCByZXN0cmljdGlvbk9wZXIgPSB0aGlzLmFjdGlvbi5yZXN0cmljdGVkT25PcGVyYXRvcjtcbiAgICAgICAgY29uc3QgcmVzdHJpY3Rpb25WYWx1ZSA9IHRoaXMuYWN0aW9uLnJlc3RyaWN0ZWRPblZhbHVlXG4gICAgICAgIGlmICgocmVzdHJpY3Rpb25PcGVyID09PSAnPT0nICYmIHJlbGF0ZWRGaWVsZFZhbHVlICE9PSByZXN0cmljdGlvblZhbHVlKVxuICAgICAgICAgIHx8IChyZXN0cmljdGlvbk9wZXIgPT09ICchPScgJiYgcmVsYXRlZEZpZWxkVmFsdWUgPT09IHJlc3RyaWN0aW9uVmFsdWUpKSB7XG4gICAgICAgICAgdGhpcy5pc1Zpc2libGUgPSBmYWxzZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmlzVmlzaWJsZSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBvbkFjdGl2YXRlKCkge1xuICAgIGNvbnN0IHRhYmxlRXZlbnQ6IFRhYmxlQWN0aW9uRXZlbnQgPSB7XG4gICAgICBhY3Rpb25Db2RlOiB0aGlzLmFjdGlvbj8uYWN0aW9uQ29kZSA/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=
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { Component, Input, ChangeDetectionStrategy } from '@angular/core';
|
|
2
|
+
import { ElementComponent } from '../layout/element.component';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class LibTableComponent extends ElementComponent {
|
|
5
|
+
// Atributos sincronizados del objeto
|
|
6
|
+
code;
|
|
7
|
+
globalFilterString = '';
|
|
8
|
+
tableFieldStyles;
|
|
9
|
+
loaded = false;
|
|
10
|
+
selectable = false;
|
|
11
|
+
hasActions = false;
|
|
12
|
+
inlineActions;
|
|
13
|
+
globalActions;
|
|
14
|
+
selectionActions;
|
|
15
|
+
table = null;
|
|
16
|
+
visibleRecords = [];
|
|
17
|
+
waiting = false;
|
|
18
|
+
ngOnInit() {
|
|
19
|
+
if (!this.table) {
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
this.table.setWidget(this);
|
|
23
|
+
this.formConfig = this.table?._formConfig;
|
|
24
|
+
this.tableFieldStyles = this.formConfig?.tableFieldStyles;
|
|
25
|
+
this.selectable = this.table?.selectable;
|
|
26
|
+
this.hasActions = this.table?.hasActions();
|
|
27
|
+
this.inlineActions = this.table?.getActions(this.formConfig?.tableActions.inline);
|
|
28
|
+
this.globalActions = this.table?.getActions(this.formConfig?.tableActions.global);
|
|
29
|
+
this.selectionActions = this.table?.getActions(this.formConfig?.tableActions.selection);
|
|
30
|
+
// Inicialización de campos mapeados del objeto
|
|
31
|
+
const mapping = Object.entries(this.formConfig?.tablePropagationAttributes);
|
|
32
|
+
for (let index = 0; index < mapping.length; index++) {
|
|
33
|
+
const tableAttr = mapping[index]?.[0];
|
|
34
|
+
const componentAttr = mapping[index]?.[1]?.toString() ?? '';
|
|
35
|
+
const attributeValue = this.table?.[tableAttr];
|
|
36
|
+
this.defaultProcessAttributeChange(componentAttr, attributeValue);
|
|
37
|
+
this.customProcessAttributeChange(componentAttr, attributeValue);
|
|
38
|
+
}
|
|
39
|
+
// Subscripción a cambios en atributos
|
|
40
|
+
this.table?.attributeChange.subscribe(event => {
|
|
41
|
+
const { name: attrName, value = null } = event ?? {};
|
|
42
|
+
if (attrName) {
|
|
43
|
+
this.defaultProcessAttributeChange(attrName, value);
|
|
44
|
+
this.customProcessAttributeChange(attrName, value);
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
this.start();
|
|
48
|
+
}
|
|
49
|
+
updateTableData() { }
|
|
50
|
+
tableGlobalAction(actionCode) { this.table?.notifyGlobalAction(actionCode); }
|
|
51
|
+
tableSelectionAction(actionCode) { this.table?.notifySelectionAction(actionCode); }
|
|
52
|
+
tableActionSelected(actionEvent) { this.table?.notifyInlineAction(actionEvent); }
|
|
53
|
+
tableSelectionToggle(recordId) { this.table?.notifyRecordSelection(recordId); }
|
|
54
|
+
toggleSelectAll() { return (this.table?.allSelected) ? this.table?.unSelectAll() : this.table?.selectAll(); }
|
|
55
|
+
globalFilterCompleted() { this.changePage(1); }
|
|
56
|
+
changePage(requestedPage) { this.table?.changePage(requestedPage); }
|
|
57
|
+
tableColumnSort(columnName, direction = null) { this.table?.sort(columnName, direction ?? 'ascend'); }
|
|
58
|
+
globalFilterChanged() { this.table?.setGlobalFilterString(this.globalFilterString?.trim() ?? '', false); }
|
|
59
|
+
defaultProcessAttributeChange(attribute, value) {
|
|
60
|
+
try {
|
|
61
|
+
if (attribute === 'visibleRecords') {
|
|
62
|
+
this.updateTableData();
|
|
63
|
+
}
|
|
64
|
+
return super.defaultProcessAttributeChange(attribute, value);
|
|
65
|
+
}
|
|
66
|
+
catch {
|
|
67
|
+
return false;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
filterHasChanged(column, values) {
|
|
71
|
+
if (!values || values.length === 0) {
|
|
72
|
+
this.table?.removeColumnFilter(column.fieldCode);
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
this.table?.addColumnFilter(column.fieldCode, values);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LibTableComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
79
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: LibTableComponent, selector: "lib-table", inputs: { table: "table", visibleRecords: "visibleRecords", waiting: "waiting" }, usesInheritance: true, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
80
|
+
}
|
|
81
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LibTableComponent, decorators: [{
|
|
82
|
+
type: Component,
|
|
83
|
+
args: [{
|
|
84
|
+
selector: 'lib-table',
|
|
85
|
+
template: `<ng-content></ng-content>`,
|
|
86
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
|
87
|
+
}]
|
|
88
|
+
}], propDecorators: { table: [{
|
|
89
|
+
type: Input
|
|
90
|
+
}], visibleRecords: [{
|
|
91
|
+
type: Input
|
|
92
|
+
}], waiting: [{
|
|
93
|
+
type: Input
|
|
94
|
+
}] } });
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVhaW4tbmctZm9ybXMtbGliL3NyYy9saWIvY29tcG9uZW50cy9lbGVtZW50cy90YWJsZXMvdGFibGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSWxGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDOztBQVEvRCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsZ0JBQWdCO0lBQ3JELHFDQUFxQztJQUNyQyxJQUFJLENBQU07SUFDVixrQkFBa0IsR0FBVyxFQUFFLENBQUM7SUFFaEMsZ0JBQWdCLENBQU07SUFDdEIsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUNmLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDbkIsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUNuQixhQUFhLENBQU07SUFDbkIsYUFBYSxDQUFNO0lBQ25CLGdCQUFnQixDQUFNO0lBRWIsS0FBSyxHQUF1QixJQUFJLENBQUM7SUFDakMsY0FBYyxHQUFzQixFQUFFLENBQUM7SUFDdkMsT0FBTyxHQUFZLEtBQUssQ0FBQztJQUVsQyxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUFDLE9BQU87UUFBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUM7UUFDMUMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsZ0JBQWdCLENBQUM7UUFDMUQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxF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QUFqQixpQkFBaUIsMEpBSmxCLDJCQUEyQjs7NEZBSTFCLGlCQUFpQjtrQkFON0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsV0FBVztvQkFDckIsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEOzhCQWVVLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRhYmxlUmVjb3JkRGF0YSB9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvZm9ybXMvdGFibGUvcm93LWRhdGEnO1xuaW1wb3J0IHsgVGFibGVBY3Rpb25FdmVudCB9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvZm9ybXMvdGFibGUvdGFibGUnO1xuaW1wb3J0IHsgUmVjb3JkVGFibGUsIFRhYmxlRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9jbGFzc2VzL2Zvcm1zL3RhYmxlL3RhYmxlJztcbmltcG9ydCB7IEVsZW1lbnRDb21wb25lbnQgfSBmcm9tICcuLi9sYXlvdXQvZWxlbWVudC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItdGFibGUnLFxuICB0ZW1wbGF0ZTogYDxuZy1jb250ZW50PjwvbmctY29udGVudD5gLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcblxuZXhwb3J0IGNsYXNzIExpYlRhYmxlQ29tcG9uZW50IGV4dGVuZHMgRWxlbWVudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIC8vIEF0cmlidXRvcyBzaW5jcm9uaXphZG9zIGRlbCBvYmpldG9cbiAgY29kZTogYW55O1xuICBnbG9iYWxGaWx0ZXJTdHJpbmc6IHN0cmluZyA9ICcnO1xuXG4gIHRhYmxlRmllbGRTdHlsZXM6IGFueTtcbiAgbG9hZGVkID0gZmFsc2U7XG4gIHNlbGVjdGFibGUgPSBmYWxzZTtcbiAgaGFzQWN0aW9ucyA9IGZhbHNlO1xuICBpbmxpbmVBY3Rpb25zOiBhbnk7XG4gIGdsb2JhbEFjdGlvbnM6IGFueTtcbiAgc2VsZWN0aW9uQWN0aW9uczogYW55O1xuXG4gIEBJbnB1dCgpIHRhYmxlOiBSZWNvcmRUYWJsZSB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoKSB2aXNpYmxlUmVjb3JkczogVGFibGVSZWNvcmREYXRhW10gPSBbXTtcbiAgQElucHV0KCkgd2FpdGluZzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICghdGhpcy50YWJsZSkgeyByZXR1cm47IH1cbiAgICB0aGlzLnRhYmxlLnNldFdpZGdldCh0aGlzKTtcbiAgICB0aGlzLmZvcm1Db25maWcgPSB0aGlzLnRhYmxlPy5fZm9ybUNvbmZpZztcbiAgICB0aGlzLnRhYmxlRmllbGRTdHlsZXMgPSB0aGlzLmZvcm1Db25maWc/LnRhYmxlRmllbGRTdHlsZXM7XG4gICAgdGhpcy5zZWxlY3RhYmxlID0gdGhpcy50YWJsZT8uc2VsZWN0YWJsZTtcbiAgICB0aGlzLmhhc0FjdGlvbnMgPSB0aGlzLnRhYmxlPy5oYXNBY3Rpb25zKCk7XG4gICAgdGhpcy5pbmxpbmVBY3Rpb25zID0gdGhpcy50YWJsZT8uZ2V0QWN0aW9ucyh0aGlzLmZvcm1Db25maWc/LnRhYmxlQWN0aW9ucy5pbmxpbmUpO1xuICAgIHRoaXMuZ2xvYmFsQWN0aW9ucyA9IHRoaXMudGFibGU/LmdldEFjdGlvbnModGhpcy5mb3JtQ29uZmlnPy50YWJsZUFjdGlvbnMuZ2xvYmFsKTtcbiAgICB0aGlzLnNlbGVjdGlvbkFjdGlvbnMgPSB0aGlzLnRhYmxlPy5nZXRBY3Rpb25zKHRoaXMuZm9ybUNvbmZpZz8udGFibGVBY3Rpb25zLnNlbGVjdGlvbik7XG4gICAgLy8gSW5pY2lhbGl6YWNpw7NuIGRlIGNhbXBvcyBtYXBlYWRvcyBkZWwgb2JqZXRvXG4gICAgY29uc3QgbWFwcGluZyA9IE9iamVjdC5lbnRyaWVzKHRoaXMuZm9ybUNvbmZpZz8udGFibGVQcm9wYWdhdGlvbkF0dHJpYnV0ZXMpO1xuICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBtYXBwaW5nLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgY29uc3QgdGFibGVBdHRyID0gbWFwcGluZ1tpbmRleF0/LlswXTtcbiAgICAgIGNvbnN0IGNvbXBvbmVudEF0dHIgPSBtYXBwaW5nW2luZGV4XT8uWzFdPy50b1N0cmluZygpID8/ICcnO1xuICAgICAgY29uc3QgYXR0cmlidXRlVmFsdWUgPSB0aGlzLnRhYmxlPy5bdGFibGVBdHRyXTtcbiAgICAgIHRoaXMuZGVmYXVsdFByb2Nlc3NBdHRyaWJ1dGVDaGFuZ2UoY29tcG9uZW50QXR0ciwgYXR0cmlidXRlVmFsdWUpO1xuICAgICAgdGhpcy5jdXN0b21Qcm9jZXNzQXR0cmlidXRlQ2hhbmdlKGNvbXBvbmVudEF0dHIsIGF0dHJpYnV0ZVZhbHVlKTtcbiAgICB9XG4gICAgLy8gU3Vic2NyaXBjacOzbiBhIGNhbWJpb3MgZW4gYXRyaWJ1dG9zXG4gICAgdGhpcy50YWJsZT8uYXR0cmlidXRlQ2hhbmdlLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICBjb25zdCB7IG5hbWU6IGF0dHJOYW1lLCB2YWx1ZSA9IG51bGwgfSA9IGV2ZW50ID8/IHt9O1xuICAgICAgaWYgKGF0dHJOYW1lKSB7XG4gICAgICAgIHRoaXMuZGVmYXVsdFByb2Nlc3NBdHRyaWJ1dGVDaGFuZ2UoYXR0ck5hbWUsIHZhbHVlKTtcbiAgICAgICAgdGhpcy5jdXN0b21Qcm9jZXNzQXR0cmlidXRlQ2hhbmdlKGF0dHJOYW1lLCB2YWx1ZSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5zdGFydCgpO1xuICB9XG5cbiAgdXBkYXRlVGFibGVEYXRhKCkgeyB9XG4gIHRhYmxlR2xvYmFsQWN0aW9uKGFjdGlvbkNvZGU6IHN0cmluZykgeyB0aGlzLnRhYmxlPy5ub3RpZnlHbG9iYWxBY3Rpb24oYWN0aW9uQ29kZSk7IH1cbiAgdGFibGVTZWxlY3Rpb25BY3Rpb24oYWN0aW9uQ29kZTogc3RyaW5nKSB7IHRoaXMudGFibGU/Lm5vdGlmeVNlbGVjdGlvbkFjdGlvbihhY3Rpb25Db2RlKTsgfVxuICB0YWJsZUFjdGlvblNlbGVjdGVkKGFjdGlvbkV2ZW50OiBUYWJsZUFjdGlvbkV2ZW50KSB7IHRoaXMudGFibGU/Lm5vdGlmeUlubGluZUFjdGlvbihhY3Rpb25FdmVudCk7IH1cbiAgdGFibGVTZWxlY3Rpb25Ub2dnbGUocmVjb3JkSWQ6IGFueSkgeyB0aGlzLnRhYmxlPy5ub3RpZnlSZWNvcmRTZWxlY3Rpb24ocmVjb3JkSWQpOyB9XG4gIHRvZ2dsZVNlbGVjdEFsbCgpIHsgcmV0dXJuICh0aGlzLnRhYmxlPy5hbGxTZWxlY3RlZCkgPyB0aGlzLnRhYmxlPy51blNlbGVjdEFsbCgpIDogdGhpcy50YWJsZT8uc2VsZWN0QWxsKCk7IH1cbiAgZ2xvYmFsRmlsdGVyQ29tcGxldGVkKCkgeyB0aGlzLmNoYW5nZVBhZ2UoMSk7IH1cbiAgY2hhbmdlUGFnZShyZXF1ZXN0ZWRQYWdlOiBudW1iZXIpIHsgdGhpcy50YWJsZT8uY2hhbmdlUGFnZShyZXF1ZXN0ZWRQYWdlKTsgfVxuICB0YWJsZUNvbHVtblNvcnQoY29sdW1uTmFtZTogc3RyaW5nLCBkaXJlY3Rpb24gPSBudWxsKSB7IHRoaXMudGFibGU/LnNvcnQoY29sdW1uTmFtZSwgZGlyZWN0aW9uID8/ICdhc2NlbmQnKTsgfVxuICBnbG9iYWxGaWx0ZXJDaGFuZ2VkKCkgeyB0aGlzLnRhYmxlPy5zZXRHbG9iYWxGaWx0ZXJTdHJpbmcodGhpcy5nbG9iYWxGaWx0ZXJTdHJpbmc/LnRyaW0oKSA/PyAnJywgZmFsc2UpOyB9XG5cbiAgb3ZlcnJpZGUgZGVmYXVsdFByb2Nlc3NBdHRyaWJ1dGVDaGFuZ2UoYXR0cmlidXRlOiBzdHJpbmcsIHZhbHVlPzogYW55KTogYm9vbGVhbiB7XG4gICAgdHJ5IHtcbiAgICAgIGlmIChhdHRyaWJ1dGUgPT09ICd2aXNpYmxlUmVjb3JkcycpIHtcbiAgICAgICAgdGhpcy51cGRhdGVUYWJsZURhdGEoKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBzdXBlci5kZWZhdWx0UHJvY2Vzc0F0dHJpYnV0ZUNoYW5nZShhdHRyaWJ1dGUsIHZhbHVlKTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBmaWx0ZXJIYXNDaGFuZ2VkKGNvbHVtbiwgdmFsdWVzKSB7XG4gICAgaWYgKCF2YWx1ZXMgfHwgdmFsdWVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy50YWJsZT8ucmVtb3ZlQ29sdW1uRmlsdGVyKGNvbHVtbi5maWVsZENvZGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnRhYmxlPy5hZGRDb2x1bW5GaWx0ZXIoY29sdW1uLmZpZWxkQ29kZSwgdmFsdWVzKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|