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