@netgrif/components-core
Version:
Netgrif Application engine frontend core Angular library
54 lines • 7.33 kB
JavaScript
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=