UNPKG

tuain-ng-forms-lib

Version:

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

71 lines 9.11 kB
import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy } from '@angular/core'; import { PieceComponent } from '../layout/piece.component'; import * as i0 from "@angular/core"; const signaledAttributes = [ 'visible', 'disabled', ]; export class LibTableRecordActionComponent extends PieceComponent { recordId; recordData; action; actionSelected = new EventEmitter(); updatePropagatedAttributes() { this.updatePieceAttributes(this.action, signaledAttributes); } ngOnInit() { if (!this.action) { return; } this.formConfig = this.action?.formConfig; this.updatePropagatedAttributes(); this.replaceCustomAttributes(this.action?.customAttributes); this.start(); } start() { if (this.action && this.action.restrictedOnField && this.recordData) { const relatedField = this.action.restrictedOnField; if (relatedField) { const relatedFieldValue = this.recordData[relatedField]; const restrictionOper = this.action.restrictedOnOperator; const restrictionValue = this.action.restrictedOnValue; let visibility = false; if ((restrictionOper === '==' || restrictionOper === '===') && relatedFieldValue === restrictionValue) { visibility = true; } else if ((restrictionOper === '!=' || restrictionOper === '!==') && relatedFieldValue !== restrictionValue) { visibility = true; } this.visible.set(visibility); } } } onActivate() { const tableEvent = { actionCode: this.action?.actionCode ?? '', recordId: this.recordId, recordData: this.recordData, }; this.actionSelected.emit(tableEvent); } class() { } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LibTableRecordActionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: LibTableRecordActionComponent, isStandalone: true, 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 }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LibTableRecordActionComponent, decorators: [{ type: Component, args: [{ standalone: true, selector: 'lib-table-record-action', template: `<ng-content></ng-content>`, changeDetection: ChangeDetectionStrategy.OnPush }] }], propDecorators: { recordId: [{ type: Input }], recordData: [{ type: Input }], action: [{ type: Input }], actionSelected: [{ type: Output }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtcmVjb3JkLWFjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWFpbi1uZy1mb3Jtcy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2VsZW1lbnRzL3RhYmxlcy90YWJsZS1yZWNvcmQtYWN0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQVUsWUFBWSxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7QUFJM0QsTUFBTSxrQkFBa0IsR0FBRztJQUN6QixTQUFTLEVBQUUsVUFBVTtDQUN0QixDQUFDO0FBU0YsTUFBTSxPQUFPLDZCQUE4QixTQUFRLGNBQWM7SUFDdEQsUUFBUSxDQUFNO0lBQ2QsVUFBVSxDQUFNO0lBQ2hCLE1BQU0sQ0FBMEI7SUFFL0IsY0FBYyxHQUFtQyxJQUFJLFlBQVksRUFBb0IsQ0FBQztJQUVoRywwQkFBMEI7UUFDeEIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsa0JBQWtCLENBQUMsQ0FBQTtJQUM3RCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFBQyxPQUFPO1FBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDO1FBQzFDLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO1FBQ2xDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFDNUQsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2YsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDcEUsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQztZQUNuRCxJQUFJLFlBQVksRUFBRSxDQUFDO2dCQUNqQixNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLENBQUM7Z0JBQ3hELE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsb0JBQW9CLENBQUM7Z0JBQ3pELE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQztnQkFDdkQsSUFBSSxVQUFVLEdBQUcsS0FBSyxDQUFDO2dCQUN2QixJQUFJLENBQUMsZUFBZSxLQUFLLElBQUksSUFBSSxlQUFlLEtBQUssS0FBSyxDQUFDLElBQUksaUJBQWlCLEtBQUssZ0JBQWdCLEVBQUUsQ0FBQztvQkFDdEcsVUFBVSxHQUFHLElBQUksQ0FBQztnQkFDcEIsQ0FBQztxQkFBTSxJQUFJLENBQUMsZUFBZSxLQUFLLElBQUksSUFBSSxlQUFlLEtBQUssS0FBSyxDQUFDLElBQUksaUJBQWlCLEtBQUssZ0JBQWdCLEVBQUUsQ0FBQztvQkFDN0csVUFBVSxHQUFHLElBQUksQ0FBQztnQkFDcEIsQ0FBQztnQkFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUMvQixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxVQUFVO1FBQ1IsTUFBTSxVQUFVLEdBQXFCO1lBQ25DLFVBQVUsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLFVBQVUsSUFBSSxFQUFFO1lBQ3pDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN2QixVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7U0FDNUIsQ0FBQztRQUNGLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxLQUFLLEtBQUssQ0FBQzt3R0E5Q0EsNkJBQTZCOzRGQUE3Qiw2QkFBNkIsdU9BSjlCLDJCQUEyQjs7NEZBSTFCLDZCQUE2QjtrQkFQekMsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLHlCQUF5QjtvQkFDbkMsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEOzhCQUdVLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBRUksY0FBYztzQkFBdkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgT25Jbml0LCBFdmVudEVtaXR0ZXIsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQaWVjZUNvbXBvbmVudCB9IGZyb20gJy4uL2xheW91dC9waWVjZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGFibGVBY3Rpb25FdmVudCB9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvZm9ybXMvdGFibGUvdGFibGUnO1xuaW1wb3J0IHsgVGFibGVBY3Rpb24gfSBmcm9tICcuLi8uLi8uLi9jbGFzc2VzL2Zvcm1zL3RhYmxlL2FjdGlvbic7XG5cbmNvbnN0IHNpZ25hbGVkQXR0cmlidXRlcyA9IFtcbiAgJ3Zpc2libGUnLCAnZGlzYWJsZWQnLFxuXTtcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnbGliLXRhYmxlLXJlY29yZC1hY3Rpb24nLFxuICB0ZW1wbGF0ZTogYDxuZy1jb250ZW50PjwvbmctY29udGVudD5gLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcblxuZXhwb3J0IGNsYXNzIExpYlRhYmxlUmVjb3JkQWN0aW9uQ29tcG9uZW50IGV4dGVuZHMgUGllY2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSByZWNvcmRJZDogYW55O1xuICBASW5wdXQoKSByZWNvcmREYXRhOiBhbnk7XG4gIEBJbnB1dCgpIGFjdGlvbjogVGFibGVBY3Rpb24gfCB1bmRlZmluZWQ7XG5cbiAgQE91dHB1dCgpIGFjdGlvblNlbGVjdGVkOiBFdmVudEVtaXR0ZXI8VGFibGVBY3Rpb25FdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPFRhYmxlQWN0aW9uRXZlbnQ+KCk7XG5cbiAgdXBkYXRlUHJvcGFnYXRlZEF0dHJpYnV0ZXMoKSB7XG4gICAgdGhpcy51cGRhdGVQaWVjZUF0dHJpYnV0ZXModGhpcy5hY3Rpb24sIHNpZ25hbGVkQXR0cmlidXRlcylcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICghdGhpcy5hY3Rpb24pIHsgcmV0dXJuOyB9XG4gICAgdGhpcy5mb3JtQ29uZmlnID0gdGhpcy5hY3Rpb24/LmZvcm1Db25maWc7XG4gICAgdGhpcy51cGRhdGVQcm9wYWdhdGVkQXR0cmlidXRlcygpO1xuICAgIHRoaXMucmVwbGFjZUN1c3RvbUF0dHJpYnV0ZXModGhpcy5hY3Rpb24/LmN1c3RvbUF0dHJpYnV0ZXMpO1xuICAgIHRoaXMuc3RhcnQoKTtcbiAgfVxuXG4gIHN0YXJ0KCkge1xuICAgIGlmICh0aGlzLmFjdGlvbiAmJiB0aGlzLmFjdGlvbi5yZXN0cmljdGVkT25GaWVsZCAmJiB0aGlzLnJlY29yZERhdGEpIHtcbiAgICAgIGNvbnN0IHJlbGF0ZWRGaWVsZCA9IHRoaXMuYWN0aW9uLnJlc3RyaWN0ZWRPbkZpZWxkO1xuICAgICAgaWYgKHJlbGF0ZWRGaWVsZCkge1xuICAgICAgICBjb25zdCByZWxhdGVkRmllbGRWYWx1ZSA9IHRoaXMucmVjb3JkRGF0YVtyZWxhdGVkRmllbGRdO1xuICAgICAgICBjb25zdCByZXN0cmljdGlvbk9wZXIgPSB0aGlzLmFjdGlvbi5yZXN0cmljdGVkT25PcGVyYXRvcjtcbiAgICAgICAgY29uc3QgcmVzdHJpY3Rpb25WYWx1ZSA9IHRoaXMuYWN0aW9uLnJlc3RyaWN0ZWRPblZhbHVlO1xuICAgICAgICBsZXQgdmlzaWJpbGl0eSA9IGZhbHNlO1xuICAgICAgICBpZiAoKHJlc3RyaWN0aW9uT3BlciA9PT0gJz09JyB8fCByZXN0cmljdGlvbk9wZXIgPT09ICc9PT0nKSAmJiByZWxhdGVkRmllbGRWYWx1ZSA9PT0gcmVzdHJpY3Rpb25WYWx1ZSkge1xuICAgICAgICAgIHZpc2liaWxpdHkgPSB0cnVlO1xuICAgICAgICB9IGVsc2UgaWYgKChyZXN0cmljdGlvbk9wZXIgPT09ICchPScgfHwgcmVzdHJpY3Rpb25PcGVyID09PSAnIT09JykgJiYgcmVsYXRlZEZpZWxkVmFsdWUgIT09IHJlc3RyaWN0aW9uVmFsdWUpIHtcbiAgICAgICAgICB2aXNpYmlsaXR5ID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnZpc2libGUuc2V0KHZpc2liaWxpdHkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG9uQWN0aXZhdGUoKSB7XG4gICAgY29uc3QgdGFibGVFdmVudDogVGFibGVBY3Rpb25FdmVudCA9IHtcbiAgICAgIGFjdGlvbkNvZGU6IHRoaXMuYWN0aW9uPy5hY3Rpb25Db2RlID8/ICcnLFxuICAgICAgcmVjb3JkSWQ6IHRoaXMucmVjb3JkSWQsXG4gICAgICByZWNvcmREYXRhOiB0aGlzLnJlY29yZERhdGEsXG4gICAgfTtcbiAgICB0aGlzLmFjdGlvblNlbGVjdGVkLmVtaXQodGFibGVFdmVudCk7XG4gIH1cblxuICBjbGFzcygpIHsgfVxufVxuIl19