@netgrif/components-core
Version:
Netgrif Application engine frontend core Angular library
68 lines • 9.96 kB
JavaScript
import { Component, Inject, Optional } from "@angular/core";
import { AbstractNumberErrorsComponent } from "../abstract-number-errors.component";
import { DATA_FIELD_PORTAL_DATA } from "../../models/data-field-portal-data-injection-token";
import * as i0 from "@angular/core";
import * as i1 from "@angular/common";
import * as i2 from "@ngx-translate/core";
export class AbstractNumberDecimalFieldComponent extends AbstractNumberErrorsComponent {
_decimalPipe;
transformedValue;
fieldType;
NUMBER_TYPE = 'number';
TEXT_TYPE = 'text';
WHITESPACE = ' ';
constructor(_decimalPipe, _translate, dataFieldPortalData) {
super(_translate, dataFieldPortalData);
this._decimalPipe = _decimalPipe;
}
ngAfterViewInit() {
setTimeout(() => {
this.fieldType = this.TEXT_TYPE;
this.transformedValue = this.transformDecimal(this.dataField.value?.toString());
this.dataField.valueChanges().subscribe(value => {
if (value !== undefined && value !== null) {
if (this.fieldType === this.TEXT_TYPE) {
this.transformedValue = this.transformDecimal(value.toString());
}
}
else {
this.transformedValue = '';
}
});
});
}
transformToText(event) {
const target = event.target;
this.fieldType = this.TEXT_TYPE;
this.transformedValue = this.transformDecimal(target.value);
}
transformToNumber() {
this.fieldType = this.NUMBER_TYPE;
this.transformedValue = !!this.dataField.value ? this.dataField.value.toString() : '0';
}
isNumberType() {
return this.fieldType === this.NUMBER_TYPE;
}
transformDecimal(value) {
value = !!value ? value : '0';
if (!!this.dataField.component) {
return this._decimalPipe.transform(parseFloat(value), this.dataField.component.properties['digitsInfo'], this.dataField.component.properties['locale']);
}
return value;
}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbstractNumberDecimalFieldComponent, deps: [{ token: i1.DecimalPipe }, { token: i2.TranslateService }, { token: DATA_FIELD_PORTAL_DATA, optional: true }], target: i0.ɵɵFactoryTarget.Component });
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AbstractNumberDecimalFieldComponent, selector: "ncc-abstract-number-decimal-field", usesInheritance: true, ngImport: i0, template: '', isInline: true });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbstractNumberDecimalFieldComponent, decorators: [{
type: Component,
args: [{
selector: 'ncc-abstract-number-decimal-field',
template: ''
}]
}], ctorParameters: () => [{ type: i1.DecimalPipe }, { type: i2.TranslateService }, { type: undefined, decorators: [{
type: Optional
}, {
type: Inject,
args: [DATA_FIELD_PORTAL_DATA]
}] }] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtbnVtYmVyLWRlY2ltYWwtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzLWNvcmUvc3JjL2xpYi9kYXRhLWZpZWxkcy9udW1iZXItZmllbGQvbnVtYmVyLWRlY2ltYWwtZmllbGQvYWJzdHJhY3QtbnVtYmVyLWRlY2ltYWwtZmllbGQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBbUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDNUYsT0FBTyxFQUFDLDZCQUE2QixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFHbEYsT0FBTyxFQUFDLHNCQUFzQixFQUFzQixNQUFNLHFEQUFxRCxDQUFDOzs7O0FBT2hILE1BQU0sT0FBZ0IsbUNBQW9DLFNBQVEsNkJBQTZCO0lBUTNEO0lBTmhDLGdCQUFnQixDQUFTO0lBQ3pCLFNBQVMsQ0FBUztJQUNGLFdBQVcsR0FBRyxRQUFRLENBQUM7SUFDdkIsU0FBUyxHQUFHLE1BQU0sQ0FBQztJQUNuQixVQUFVLEdBQUcsR0FBRyxDQUFDO0lBRWpDLFlBQWdDLFlBQXlCLEVBQ25DLFVBQTRCLEVBQ2dCLG1CQUFxRDtRQUNuSCxLQUFLLENBQUMsVUFBVSxFQUFFLG1CQUFtQixDQUFDLENBQUM7UUFIWCxpQkFBWSxHQUFaLFlBQVksQ0FBYTtJQUl6RCxDQUFDO0lBRUQsZUFBZTtRQUNYLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDWixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDaEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQ2hGLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUM1QyxJQUFJLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxLQUFLLElBQUksRUFBRTtvQkFDdkMsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLElBQUksQ0FBQyxTQUFTLEVBQUU7d0JBQ25DLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7cUJBQ25FO2lCQUNKO3FCQUFNO29CQUNILElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxFQUFFLENBQUM7aUJBQzlCO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUM7SUFFRCxlQUFlLENBQUMsS0FBWTtRQUN4QixNQUFNLE1BQU0sR0FBSSxLQUFLLENBQUMsTUFBMkIsQ0FBQztRQUNsRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDaEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELGlCQUFpQjtRQUNiLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUNsQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0lBQzNGLENBQUM7SUFFRCxZQUFZO1FBQ1IsT0FBTyxJQUFJLENBQUMsU0FBUyxLQUFLLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDL0MsQ0FBQztJQUVPLGdCQUFnQixDQUFDLEtBQXlCO1FBQzlDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUM5QixJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRTtZQUM1QixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUM5QixVQUFVLENBQUMsS0FBSyxDQUFDLEVBQ2pCLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsRUFDakQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7U0FDdEQ7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO3dHQXREaUIsbUNBQW1DLDZFQVVYLHNCQUFzQjs0RkFWOUMsbUNBQW1DLGdHQUYzQyxFQUFFOzs0RkFFTSxtQ0FBbUM7a0JBSnhELFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLG1DQUFtQztvQkFDN0MsUUFBUSxFQUFFLEVBQUU7aUJBQ2Y7OzBCQVcwQixRQUFROzswQkFBSSxNQUFNOzJCQUFDLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5qZWN0LCBPcHRpb25hbH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7QWJzdHJhY3ROdW1iZXJFcnJvcnNDb21wb25lbnR9IGZyb20gXCIuLi9hYnN0cmFjdC1udW1iZXItZXJyb3JzLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtEZWNpbWFsUGlwZX0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xuaW1wb3J0IHtEQVRBX0ZJRUxEX1BPUlRBTF9EQVRBLCBEYXRhRmllbGRQb3J0YWxEYXRhfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2RhdGEtZmllbGQtcG9ydGFsLWRhdGEtaW5qZWN0aW9uLXRva2VuXCI7XG5pbXBvcnQge051bWJlckZpZWxkfSBmcm9tIFwiLi4vbW9kZWxzL251bWJlci1maWVsZFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25jYy1hYnN0cmFjdC1udW1iZXItZGVjaW1hbC1maWVsZCcsXG4gICAgdGVtcGxhdGU6ICcnXG59KVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0TnVtYmVyRGVjaW1hbEZpZWxkQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3ROdW1iZXJFcnJvcnNDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcblxuICAgIHRyYW5zZm9ybWVkVmFsdWU6IHN0cmluZztcbiAgICBmaWVsZFR5cGU6IHN0cmluZztcbiAgICBwdWJsaWMgcmVhZG9ubHkgTlVNQkVSX1RZUEUgPSAnbnVtYmVyJztcbiAgICBwdWJsaWMgcmVhZG9ubHkgVEVYVF9UWVBFID0gJ3RleHQnO1xuICAgIHB1YmxpYyByZWFkb25seSBXSElURVNQQUNFID0gJyAnO1xuXG4gICAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBfZGVjaW1hbFBpcGU6IERlY2ltYWxQaXBlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBfdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KERBVEFfRklFTERfUE9SVEFMX0RBVEEpIGRhdGFGaWVsZFBvcnRhbERhdGE6IERhdGFGaWVsZFBvcnRhbERhdGE8TnVtYmVyRmllbGQ+KSB7XG4gICAgICAgIHN1cGVyKF90cmFuc2xhdGUsIGRhdGFGaWVsZFBvcnRhbERhdGEpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmZpZWxkVHlwZSA9IHRoaXMuVEVYVF9UWVBFO1xuICAgICAgICAgICAgdGhpcy50cmFuc2Zvcm1lZFZhbHVlID0gdGhpcy50cmFuc2Zvcm1EZWNpbWFsKHRoaXMuZGF0YUZpZWxkLnZhbHVlPy50b1N0cmluZygpKTtcbiAgICAgICAgICAgIHRoaXMuZGF0YUZpZWxkLnZhbHVlQ2hhbmdlcygpLnN1YnNjcmliZSh2YWx1ZSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQgJiYgdmFsdWUgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuZmllbGRUeXBlID09PSB0aGlzLlRFWFRfVFlQRSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50cmFuc2Zvcm1lZFZhbHVlID0gdGhpcy50cmFuc2Zvcm1EZWNpbWFsKHZhbHVlLnRvU3RyaW5nKCkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50cmFuc2Zvcm1lZFZhbHVlID0gJyc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pXG4gICAgfVxuXG4gICAgdHJhbnNmb3JtVG9UZXh0KGV2ZW50OiBFdmVudCkge1xuICAgICAgICBjb25zdCB0YXJnZXQgPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpO1xuICAgICAgICB0aGlzLmZpZWxkVHlwZSA9IHRoaXMuVEVYVF9UWVBFO1xuICAgICAgICB0aGlzLnRyYW5zZm9ybWVkVmFsdWUgPSB0aGlzLnRyYW5zZm9ybURlY2ltYWwodGFyZ2V0LnZhbHVlKTtcbiAgICB9XG5cbiAgICB0cmFuc2Zvcm1Ub051bWJlcigpIHtcbiAgICAgICAgdGhpcy5maWVsZFR5cGUgPSB0aGlzLk5VTUJFUl9UWVBFO1xuICAgICAgICB0aGlzLnRyYW5zZm9ybWVkVmFsdWUgPSAhIXRoaXMuZGF0YUZpZWxkLnZhbHVlID8gdGhpcy5kYXRhRmllbGQudmFsdWUudG9TdHJpbmcoKSA6ICcwJztcbiAgICB9XG5cbiAgICBpc051bWJlclR5cGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpZWxkVHlwZSA9PT0gdGhpcy5OVU1CRVJfVFlQRTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHRyYW5zZm9ybURlY2ltYWwodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHN0cmluZyB7XG4gICAgICAgIHZhbHVlID0gISF2YWx1ZSA/IHZhbHVlIDogJzAnO1xuICAgICAgICBpZiAoISF0aGlzLmRhdGFGaWVsZC5jb21wb25lbnQpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9kZWNpbWFsUGlwZS50cmFuc2Zvcm0oXG4gICAgICAgICAgICAgICAgcGFyc2VGbG9hdCh2YWx1ZSksXG4gICAgICAgICAgICAgICAgdGhpcy5kYXRhRmllbGQuY29tcG9uZW50LnByb3BlcnRpZXNbJ2RpZ2l0c0luZm8nXSxcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGFGaWVsZC5jb21wb25lbnQucHJvcGVydGllc1snbG9jYWxlJ10pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG59XG4iXX0=