UNPKG

tuain-ng-forms-lib

Version:

Componentes y Clases Angular para la gestión de formularios TUAIN

48 lines 6.19 kB
import { Component, Input } from '@angular/core'; import { PieceComponent } from './piece.component'; import * as i0 from "@angular/core"; const CUSTOM_ATTRIBUTES = 'customAttributes'; const signaledAttributes = [ 'visible', 'disabled', ]; export class SectionComponent extends PieceComponent { section; updatePropagatedAttributes() { this.updatePieceAttributes(this.section, signaledAttributes); } ngOnInit() { if (!this.section) { return; } this.formConfig = this.section?._formConfig; this.updatePropagatedAttributes(); this.replaceCustomAttributes(this.section?.customAttributes); this.section?.attributeChange.subscribe(event => { const { name: attribute, value = null } = event ?? {}; const attributeParts = attribute?.split('.') ?? []; if (signaledAttributes.includes(attribute)) { this.updatePieceAttribute(signaledAttributes, attribute, value); } else if (attributeParts?.length > 1 && attributeParts?.[0] === CUSTOM_ATTRIBUTES) { const subAttribute = attributeParts?.[1] ?? null; this.updateCustomAttribute(subAttribute, value); } }); this.start(); } start() { this.setForm(this.section?._form); } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SectionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); 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 }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SectionComponent, decorators: [{ type: Component, args: [{ selector: 'lib-section', template: `<ng-content></ng-content>` }] }], propDecorators: { section: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWFpbi1uZy1mb3Jtcy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2VsZW1lbnRzL2xheW91dC9zZWN0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBRW5ELE1BQU0saUJBQWlCLEdBQUcsa0JBQWtCLENBQUM7QUFFN0MsTUFBTSxrQkFBa0IsR0FBRztJQUN6QixTQUFTLEVBQUUsVUFBVTtDQUN0QixDQUFDO0FBTUYsTUFBTSxPQUFPLGdCQUFpQixTQUFRLGNBQWM7SUFDekMsT0FBTyxDQUFNO0lBRXRCLDBCQUEwQjtRQUN4QixJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxrQkFBa0IsQ0FBQyxDQUFBO0lBQzlELENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUFDLE9BQU87UUFBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUM7UUFDNUMsSUFBSSxDQUFDLDBCQUEwQixFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsT0FBTyxFQUFFLGVBQWUsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDOUMsTUFBTSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsS0FBSyxHQUFHLElBQUksRUFBRSxHQUFHLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDdEQsTUFBTSxjQUFjLEdBQUcsU0FBUyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDbkQsSUFBSSxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztnQkFDM0MsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGtCQUFrQixFQUFFLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNsRSxDQUFDO2lCQUFNLElBQUksY0FBYyxFQUFFLE1BQU0sR0FBRyxDQUFDLElBQUksY0FBYyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssaUJBQWlCLEVBQUUsQ0FBQztnQkFDbkYsTUFBTSxZQUFZLEdBQUcsY0FBYyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO2dCQUNqRCxJQUFJLENBQUMscUJBQXFCLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ2xELENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNmLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLENBQUM7d0dBM0JVLGdCQUFnQjs0RkFBaEIsZ0JBQWdCLDBHQUZqQiwyQkFBMkI7OzRGQUUxQixnQkFBZ0I7a0JBSjVCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLFFBQVEsRUFBRSwyQkFBMkI7aUJBQ3RDOzhCQUVVLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUGllY2VDb21wb25lbnQgfSBmcm9tICcuL3BpZWNlLmNvbXBvbmVudCc7XG5cbmNvbnN0IENVU1RPTV9BVFRSSUJVVEVTID0gJ2N1c3RvbUF0dHJpYnV0ZXMnO1xuXG5jb25zdCBzaWduYWxlZEF0dHJpYnV0ZXMgPSBbXG4gICd2aXNpYmxlJywgJ2Rpc2FibGVkJyxcbl07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1zZWN0aW9uJyxcbiAgdGVtcGxhdGU6IGA8bmctY29udGVudD48L25nLWNvbnRlbnQ+YFxufSlcbmV4cG9ydCBjbGFzcyBTZWN0aW9uQ29tcG9uZW50IGV4dGVuZHMgUGllY2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBzZWN0aW9uOiBhbnk7XG5cbiAgdXBkYXRlUHJvcGFnYXRlZEF0dHJpYnV0ZXMoKSB7XG4gICAgdGhpcy51cGRhdGVQaWVjZUF0dHJpYnV0ZXModGhpcy5zZWN0aW9uLCBzaWduYWxlZEF0dHJpYnV0ZXMpXG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAoIXRoaXMuc2VjdGlvbikgeyByZXR1cm47IH1cbiAgICB0aGlzLmZvcm1Db25maWcgPSB0aGlzLnNlY3Rpb24/Ll9mb3JtQ29uZmlnO1xuICAgIHRoaXMudXBkYXRlUHJvcGFnYXRlZEF0dHJpYnV0ZXMoKTtcbiAgICB0aGlzLnJlcGxhY2VDdXN0b21BdHRyaWJ1dGVzKHRoaXMuc2VjdGlvbj8uY3VzdG9tQXR0cmlidXRlcyk7XG4gICAgdGhpcy5zZWN0aW9uPy5hdHRyaWJ1dGVDaGFuZ2Uuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgIGNvbnN0IHsgbmFtZTogYXR0cmlidXRlLCB2YWx1ZSA9IG51bGwgfSA9IGV2ZW50ID8/IHt9O1xuICAgICAgY29uc3QgYXR0cmlidXRlUGFydHMgPSBhdHRyaWJ1dGU/LnNwbGl0KCcuJykgPz8gW107XG4gICAgICBpZiAoc2lnbmFsZWRBdHRyaWJ1dGVzLmluY2x1ZGVzKGF0dHJpYnV0ZSkpIHtcbiAgICAgICAgdGhpcy51cGRhdGVQaWVjZUF0dHJpYnV0ZShzaWduYWxlZEF0dHJpYnV0ZXMsIGF0dHJpYnV0ZSwgdmFsdWUpO1xuICAgICAgfSBlbHNlIGlmIChhdHRyaWJ1dGVQYXJ0cz8ubGVuZ3RoID4gMSAmJiBhdHRyaWJ1dGVQYXJ0cz8uWzBdID09PSBDVVNUT01fQVRUUklCVVRFUykge1xuICAgICAgICBjb25zdCBzdWJBdHRyaWJ1dGUgPSBhdHRyaWJ1dGVQYXJ0cz8uWzFdID8/IG51bGw7XG4gICAgICAgIHRoaXMudXBkYXRlQ3VzdG9tQXR0cmlidXRlKHN1YkF0dHJpYnV0ZSwgdmFsdWUpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuc3RhcnQoKTtcbiAgfVxuXG4gIHN0YXJ0KCkge1xuICAgIHRoaXMuc2V0Rm9ybSh0aGlzLnNlY3Rpb24/Ll9mb3JtKTtcbiAgfVxufVxuIl19