UNPKG

@netgrif/components-core

Version:

Netgrif Application engine frontend core Angular library

54 lines 7.33 kB
import { Component, Inject, Input, Optional } from "@angular/core"; import { DATA_FIELD_PORTAL_DATA } from "../models/data-field-portal-data-injection-token"; import { FormControl } from "@angular/forms"; import * as i0 from "@angular/core"; export class AbstractBaseDataFieldComponent { dataField; formControlRef; showLargeLayout; constructor(dataFieldPortalData) { if (!!dataFieldPortalData) { this.dataField = dataFieldPortalData.dataField; this.formControlRef = dataFieldPortalData.formControlRef; this.showLargeLayout = dataFieldPortalData.showLargeLayout; if (!this.dataField.initialized) { this.formControlRef = new FormControl('', { updateOn: this.dataField.getUpdateOnStrategy() }); this.dataField.registerFormControl(this.formControlRef); } } } ngOnDestroy() { this.dataField.disconnectFormControl(); } checkPropertyInComponent(property) { return !!this.dataField?.component?.properties && property in this.dataField.component.properties; } hasTitle() { return this.dataField.title !== undefined && this.dataField.title !== ''; } hasHint() { return this.dataField.description !== undefined && this.dataField.description !== ''; } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbstractBaseDataFieldComponent, deps: [{ token: DATA_FIELD_PORTAL_DATA, optional: true }], target: i0.ɵɵFactoryTarget.Component }); static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AbstractBaseDataFieldComponent, selector: "ncc-base-data-field", inputs: { dataField: "dataField", formControlRef: "formControlRef", showLargeLayout: "showLargeLayout" }, ngImport: i0, template: '', isInline: true }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbstractBaseDataFieldComponent, decorators: [{ type: Component, args: [{ selector: 'ncc-base-data-field', template: '' }] }], ctorParameters: () => [{ type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [DATA_FIELD_PORTAL_DATA] }] }], propDecorators: { dataField: [{ type: Input }], formControlRef: [{ type: Input }], showLargeLayout: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtYmFzZS1kYXRhLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvZGF0YS1maWVsZHMvYmFzZS1jb21wb25lbnQvYWJzdHJhY3QtYmFzZS1kYXRhLWZpZWxkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQWEsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzVFLE9BQU8sRUFBQyxzQkFBc0IsRUFBc0IsTUFBTSxrREFBa0QsQ0FBQztBQUU3RyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7O0FBTzNDLE1BQU0sT0FBZ0IsOEJBQThCO0lBRWhDLFNBQVMsQ0FBSTtJQUNiLGNBQWMsQ0FBYztJQUM1QixlQUFlLENBQWlCO0lBRWhELFlBQXdELG1CQUEyQztRQUMvRixJQUFJLENBQUMsQ0FBQyxtQkFBbUIsRUFBRTtZQUN2QixJQUFJLENBQUMsU0FBUyxHQUFHLG1CQUFtQixDQUFDLFNBQVMsQ0FBQztZQUMvQyxJQUFJLENBQUMsY0FBYyxHQUFHLG1CQUFtQixDQUFDLGNBQWMsQ0FBQztZQUN6RCxJQUFJLENBQUMsZUFBZSxHQUFHLG1CQUFtQixDQUFDLGVBQWUsQ0FBQztZQUMzRCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUU7Z0JBQzdCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxXQUFXLENBQUMsRUFBRSxFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsbUJBQW1CLEVBQUUsRUFBQyxDQUFDLENBQUM7Z0JBQzVGLElBQUksQ0FBQyxTQUFTLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFBO2FBQzFEO1NBQ0o7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxTQUFTLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBRU0sd0JBQXdCLENBQUMsUUFBZ0I7UUFDNUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsVUFBVTtlQUN2QyxRQUFRLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDO0lBQzNELENBQUM7SUFFTSxRQUFRO1FBQ1gsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEtBQUssRUFBRSxDQUFDO0lBQzdFLENBQUM7SUFFTSxPQUFPO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEtBQUssRUFBRSxDQUFDO0lBQ3pGLENBQUM7d0dBakNpQiw4QkFBOEIsa0JBTWhCLHNCQUFzQjs0RkFOcEMsOEJBQThCLHFLQUZ0QyxFQUFFOzs0RkFFTSw4QkFBOEI7a0JBSm5ELFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsUUFBUSxFQUFFLEVBQUU7aUJBQ2Y7OzBCQU9nQixRQUFROzswQkFBSSxNQUFNOzJCQUFDLHNCQUFzQjt5Q0FKdEMsU0FBUztzQkFBeEIsS0FBSztnQkFDVSxjQUFjO3NCQUE3QixLQUFLO2dCQUNVLGVBQWU7c0JBQTlCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5qZWN0LCBJbnB1dCwgT25EZXN0cm95LCBPcHRpb25hbH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7REFUQV9GSUVMRF9QT1JUQUxfREFUQSwgRGF0YUZpZWxkUG9ydGFsRGF0YX0gZnJvbSBcIi4uL21vZGVscy9kYXRhLWZpZWxkLXBvcnRhbC1kYXRhLWluamVjdGlvbi10b2tlblwiO1xuaW1wb3J0IHtEYXRhRmllbGR9IGZyb20gXCIuLi9tb2RlbHMvYWJzdHJhY3QtZGF0YS1maWVsZFwiO1xuaW1wb3J0IHtGb3JtQ29udHJvbH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQge1dyYXBwZWRCb29sZWFufSBmcm9tIFwiLi4vZGF0YS1maWVsZC10ZW1wbGF0ZS9tb2RlbHMvd3JhcHBlZC1ib29sZWFuXCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmNjLWJhc2UtZGF0YS1maWVsZCcsXG4gICAgdGVtcGxhdGU6ICcnXG59KVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0QmFzZURhdGFGaWVsZENvbXBvbmVudDxUIGV4dGVuZHMgRGF0YUZpZWxkPHVua25vd24+PiBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgICBASW5wdXQoKSBwdWJsaWMgZGF0YUZpZWxkOiBUO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBmb3JtQ29udHJvbFJlZjogRm9ybUNvbnRyb2w7XG4gICAgQElucHV0KCkgcHVibGljIHNob3dMYXJnZUxheW91dDogV3JhcHBlZEJvb2xlYW47XG5cbiAgICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBASW5qZWN0KERBVEFfRklFTERfUE9SVEFMX0RBVEEpIGRhdGFGaWVsZFBvcnRhbERhdGE6IERhdGFGaWVsZFBvcnRhbERhdGE8VD4pIHtcbiAgICAgICAgaWYgKCEhZGF0YUZpZWxkUG9ydGFsRGF0YSkge1xuICAgICAgICAgICAgdGhpcy5kYXRhRmllbGQgPSBkYXRhRmllbGRQb3J0YWxEYXRhLmRhdGFGaWVsZDtcbiAgICAgICAgICAgIHRoaXMuZm9ybUNvbnRyb2xSZWYgPSBkYXRhRmllbGRQb3J0YWxEYXRhLmZvcm1Db250cm9sUmVmO1xuICAgICAgICAgICAgdGhpcy5zaG93TGFyZ2VMYXlvdXQgPSBkYXRhRmllbGRQb3J0YWxEYXRhLnNob3dMYXJnZUxheW91dDtcbiAgICAgICAgICAgIGlmICghdGhpcy5kYXRhRmllbGQuaW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZvcm1Db250cm9sUmVmID0gbmV3IEZvcm1Db250cm9sKCcnLCB7dXBkYXRlT246IHRoaXMuZGF0YUZpZWxkLmdldFVwZGF0ZU9uU3RyYXRlZ3koKX0pO1xuICAgICAgICAgICAgICAgIHRoaXMuZGF0YUZpZWxkLnJlZ2lzdGVyRm9ybUNvbnRyb2wodGhpcy5mb3JtQ29udHJvbFJlZilcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRhdGFGaWVsZC5kaXNjb25uZWN0Rm9ybUNvbnRyb2woKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2hlY2tQcm9wZXJ0eUluQ29tcG9uZW50KHByb3BlcnR5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5kYXRhRmllbGQ/LmNvbXBvbmVudD8ucHJvcGVydGllc1xuICAgICAgICAgICAgJiYgcHJvcGVydHkgaW4gdGhpcy5kYXRhRmllbGQuY29tcG9uZW50LnByb3BlcnRpZXM7XG4gICAgfVxuXG4gICAgcHVibGljIGhhc1RpdGxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhRmllbGQudGl0bGUgIT09IHVuZGVmaW5lZCAmJiB0aGlzLmRhdGFGaWVsZC50aXRsZSAhPT0gJyc7XG4gICAgfVxuXG4gICAgcHVibGljIGhhc0hpbnQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGFGaWVsZC5kZXNjcmlwdGlvbiAhPT0gdW5kZWZpbmVkICYmIHRoaXMuZGF0YUZpZWxkLmRlc2NyaXB0aW9uICE9PSAnJztcbiAgICB9XG59XG4iXX0=