UNPKG

@netgrif/components-core

Version:

Netgrif Application engine frontend core Angular library

66 lines 7.23 kB
import { FormControl } from '@angular/forms'; import { Component, Inject, Input, Optional } from '@angular/core'; import { NAE_INFORM_ABOUT_INVALID_DATA } from './invalid-data-policy-token'; import * as i0 from "@angular/core"; /** * @deprecated as of v6.4.0 * Holds the common functionality for all DataFieldComponents. */ export class AbstractDataFieldComponent { _informAboutInvalidData; /** * The Model object that this Component should render. * It should be overridden in each class that extends this one, to provide a more specific type. */ dataField; taskOffset = 0; /** * @ignore * See [formControl]{@link AbstractDataFieldComponent#formControl} */ _formControl; constructor(_informAboutInvalidData) { this._informAboutInvalidData = _informAboutInvalidData; this._formControl = new FormControl('', { updateOn: 'blur' }); } /** * Registers the {@link FormControl} to the provided data field. * * See [DataField.registerFormControl]{@link DataField#registerFormControl} form more information. */ ngOnInit() { this.dataField.registerFormControl(this._formControl); this.dataField.sendInvalidValues = this._informAboutInvalidData; } ngOnDestroy() { this.dataField.disconnectFormControl(); } /** * The [FormControl]{@link https://angular.io/api/forms/FormControl} object that should be used to control any rendered forms. */ get formControl() { return this._formControl; } hasTitle() { return this.dataField.title !== undefined && this.dataField.title !== ''; } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbstractDataFieldComponent, deps: [{ token: NAE_INFORM_ABOUT_INVALID_DATA, optional: true }], target: i0.ɵɵFactoryTarget.Component }); static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AbstractDataFieldComponent, selector: "ncc-abstract-datafield", inputs: { dataField: "dataField", taskOffset: "taskOffset" }, ngImport: i0, template: '', isInline: true }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbstractDataFieldComponent, decorators: [{ type: Component, args: [{ selector: 'ncc-abstract-datafield', template: '' }] }], ctorParameters: () => [{ type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [NAE_INFORM_ABOUT_INVALID_DATA] }] }], propDecorators: { dataField: [{ type: Input }], taskOffset: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtZGF0YS1maWVsZC1jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMtY29yZS9zcmMvbGliL2RhdGEtZmllbGRzL21vZGVscy9hYnN0cmFjdC1kYXRhLWZpZWxkLWNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFxQixRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUFDLDZCQUE2QixFQUFDLE1BQU0sNkJBQTZCLENBQUM7O0FBRTFFOzs7R0FHRztBQUtILE1BQU0sT0FBZ0IsMEJBQTBCO0lBY3VDO0lBWm5GOzs7T0FHRztJQUNNLFNBQVMsQ0FBaUI7SUFDMUIsVUFBVSxHQUFHLENBQUMsQ0FBQztJQUN4Qjs7O09BR0c7SUFDTyxZQUFZLENBQWM7SUFFcEMsWUFBbUYsdUJBQXVDO1FBQXZDLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBZ0I7UUFDdEgsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLFdBQVcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILFFBQVE7UUFDSixJQUFJLENBQUMsU0FBUyxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN0RCxJQUFJLENBQUMsU0FBUyxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQztJQUNwRSxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxTQUFTLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLFdBQVc7UUFDbEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzdCLENBQUM7SUFFTSxRQUFRO1FBQ1gsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEtBQUssRUFBRSxDQUFDO0lBQzdFLENBQUM7d0dBekNpQiwwQkFBMEIsa0JBY0YsNkJBQTZCOzRGQWRyRCwwQkFBMEIsNEhBRmxDLEVBQUU7OzRGQUVNLDBCQUEwQjtrQkFKL0MsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsd0JBQXdCO29CQUNsQyxRQUFRLEVBQUUsRUFBRTtpQkFDZjs7MEJBZTBCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsNkJBQTZCO3lDQVI5RCxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RhdGFGaWVsZH0gZnJvbSAnLi9hYnN0cmFjdC1kYXRhLWZpZWxkJztcbmltcG9ydCB7Rm9ybUNvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7Q29tcG9uZW50LCBJbmplY3QsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3B0aW9uYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOQUVfSU5GT1JNX0FCT1VUX0lOVkFMSURfREFUQX0gZnJvbSAnLi9pbnZhbGlkLWRhdGEtcG9saWN5LXRva2VuJztcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBhcyBvZiB2Ni40LjBcbiAqIEhvbGRzIHRoZSBjb21tb24gZnVuY3Rpb25hbGl0eSBmb3IgYWxsIERhdGFGaWVsZENvbXBvbmVudHMuXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmNjLWFic3RyYWN0LWRhdGFmaWVsZCcsXG4gICAgdGVtcGxhdGU6ICcnXG59KVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0RGF0YUZpZWxkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gICAgLyoqXG4gICAgICogVGhlIE1vZGVsIG9iamVjdCB0aGF0IHRoaXMgQ29tcG9uZW50IHNob3VsZCByZW5kZXIuXG4gICAgICogSXQgc2hvdWxkIGJlIG92ZXJyaWRkZW4gaW4gZWFjaCBjbGFzcyB0aGF0IGV4dGVuZHMgdGhpcyBvbmUsIHRvIHByb3ZpZGUgYSBtb3JlIHNwZWNpZmljIHR5cGUuXG4gICAgICovXG4gICAgQElucHV0KCkgZGF0YUZpZWxkOiBEYXRhRmllbGQ8YW55PjtcbiAgICBASW5wdXQoKSB0YXNrT2Zmc2V0ID0gMDtcbiAgICAvKipcbiAgICAgKiBAaWdub3JlXG4gICAgICogU2VlIFtmb3JtQ29udHJvbF17QGxpbmsgQWJzdHJhY3REYXRhRmllbGRDb21wb25lbnQjZm9ybUNvbnRyb2x9XG4gICAgICovXG4gICAgcHJvdGVjdGVkIF9mb3JtQ29udHJvbDogRm9ybUNvbnRyb2w7XG5cbiAgICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQEluamVjdChOQUVfSU5GT1JNX0FCT1VUX0lOVkFMSURfREFUQSkgcHJvdGVjdGVkIF9pbmZvcm1BYm91dEludmFsaWREYXRhOiBib29sZWFuIHwgbnVsbCkge1xuICAgICAgICB0aGlzLl9mb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgnJywgeyB1cGRhdGVPbjogJ2JsdXInIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlZ2lzdGVycyB0aGUge0BsaW5rIEZvcm1Db250cm9sfSB0byB0aGUgcHJvdmlkZWQgZGF0YSBmaWVsZC5cbiAgICAgKlxuICAgICAqIFNlZSBbRGF0YUZpZWxkLnJlZ2lzdGVyRm9ybUNvbnRyb2xde0BsaW5rIERhdGFGaWVsZCNyZWdpc3RlckZvcm1Db250cm9sfSBmb3JtIG1vcmUgaW5mb3JtYXRpb24uXG4gICAgICovXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGF0YUZpZWxkLnJlZ2lzdGVyRm9ybUNvbnRyb2wodGhpcy5fZm9ybUNvbnRyb2wpO1xuICAgICAgICB0aGlzLmRhdGFGaWVsZC5zZW5kSW52YWxpZFZhbHVlcyA9IHRoaXMuX2luZm9ybUFib3V0SW52YWxpZERhdGE7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGF0YUZpZWxkLmRpc2Nvbm5lY3RGb3JtQ29udHJvbCgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBbRm9ybUNvbnRyb2xde0BsaW5rIGh0dHBzOi8vYW5ndWxhci5pby9hcGkvZm9ybXMvRm9ybUNvbnRyb2x9IG9iamVjdCB0aGF0IHNob3VsZCBiZSB1c2VkIHRvIGNvbnRyb2wgYW55IHJlbmRlcmVkIGZvcm1zLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgZm9ybUNvbnRyb2woKTogRm9ybUNvbnRyb2wge1xuICAgICAgICByZXR1cm4gdGhpcy5fZm9ybUNvbnRyb2w7XG4gICAgfVxuXG4gICAgcHVibGljIGhhc1RpdGxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhRmllbGQudGl0bGUgIT09IHVuZGVmaW5lZCAmJiB0aGlzLmRhdGFGaWVsZC50aXRsZSAhPT0gJyc7XG4gICAgfVxufVxuIl19