@netgrif/components
Version:
Netgrif Application Engine frontend Angular components
38 lines • 9.84 kB
JavaScript
import { Component, Inject, Optional } from '@angular/core';
import { AbstractNumberDecimalFieldComponent, DATA_FIELD_PORTAL_DATA } from "@netgrif/components-core";
import * as i0 from "@angular/core";
import * as i1 from "@angular/common";
import * as i2 from "@ngx-translate/core";
import * as i3 from "@angular/material/input";
import * as i4 from "@angular/material/form-field";
import * as i5 from "@angular/forms";
export class NumberDecimalFieldComponent extends AbstractNumberDecimalFieldComponent {
constructor(decimalPipe, translate, dataFieldPortalData) {
super(decimalPipe, translate, dataFieldPortalData);
}
getAppearance() {
if (!this.dataField?.materialAppearance) {
return 'fill';
}
const validAppearances = ['fill', 'outline'];
return validAppearances.includes(this.dataField.materialAppearance) ? this.dataField.materialAppearance : 'fill';
}
onFocusOut(event) {
this.transformToText(event);
}
onFocusIn() {
this.transformToNumber();
}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NumberDecimalFieldComponent, 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: NumberDecimalFieldComponent, selector: "nc-number-decimal-field", usesInheritance: true, ngImport: i0, template: "<mat-form-field [appearance]=\"getAppearance()\" class=\"full-width\" color=\"primary\">\n <mat-label *ngIf=\"!showLargeLayout.value\">{{dataField?.title}}</mat-label>\n <input matInput\n [type]=\"fieldType\"\n [value]=\"transformedValue\"\n [formControl]=\"formControlRef\"\n [placeholder]=\"dataField?.placeholder\"\n [required]=\"dataField?.behavior?.required\"\n (focusout)=\"onFocusOut($event)\"\n (focusin)=\"onFocusIn()\">\n <mat-hint>{{dataField?.description}}</mat-hint>\n <mat-error *ngIf=\"dataField?.isInvalid(formControlRef)\">{{getErrorMessage()}}</mat-error>\n</mat-form-field>\n", styles: [".full-width{display:block;margin:0 auto;width:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i4.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NumberDecimalFieldComponent, decorators: [{
type: Component,
args: [{ selector: 'nc-number-decimal-field', template: "<mat-form-field [appearance]=\"getAppearance()\" class=\"full-width\" color=\"primary\">\n <mat-label *ngIf=\"!showLargeLayout.value\">{{dataField?.title}}</mat-label>\n <input matInput\n [type]=\"fieldType\"\n [value]=\"transformedValue\"\n [formControl]=\"formControlRef\"\n [placeholder]=\"dataField?.placeholder\"\n [required]=\"dataField?.behavior?.required\"\n (focusout)=\"onFocusOut($event)\"\n (focusin)=\"onFocusIn()\">\n <mat-hint>{{dataField?.description}}</mat-hint>\n <mat-error *ngIf=\"dataField?.isInvalid(formControlRef)\">{{getErrorMessage()}}</mat-error>\n</mat-form-field>\n", styles: [".full-width{display:block;margin:0 auto;width:100%}\n"] }]
}], ctorParameters: () => [{ type: i1.DecimalPipe }, { type: i2.TranslateService }, { type: undefined, decorators: [{
type: Optional
}, {
type: Inject,
args: [DATA_FIELD_PORTAL_DATA]
}] }] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWRlY2ltYWwtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzL3NyYy9saWIvZGF0YS1maWVsZHMvbnVtYmVyLWZpZWxkL251bWJlci1kZWNpbWFsLWZpZWxkL251bWJlci1kZWNpbWFsLWZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy9zcmMvbGliL2RhdGEtZmllbGRzL251bWJlci1maWVsZC9udW1iZXItZGVjaW1hbC1maWVsZC9udW1iZXItZGVjaW1hbC1maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFMUQsT0FBTyxFQUNILG1DQUFtQyxFQUNuQyxzQkFBc0IsRUFHekIsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7OztBQVNsQyxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsbUNBQW1DO0lBQ2hGLFlBQVksV0FBd0IsRUFDeEIsU0FBMkIsRUFDaUIsbUJBQXFEO1FBRXpHLEtBQUssQ0FBQyxXQUFXLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELGFBQWE7UUFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxrQkFBa0IsRUFBRTtZQUNyQyxPQUFPLE1BQU0sQ0FBQztTQUNqQjtRQUNELE1BQU0sZ0JBQWdCLEdBQTZCLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ3ZFLE9BQU8sZ0JBQWdCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsa0JBQTRDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxrQkFBNEMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ3pLLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBWTtRQUNuQixJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxTQUFTO1FBQ0wsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDN0IsQ0FBQzt3R0F0QlEsMkJBQTJCLDZFQUdKLHNCQUFzQjs0RkFIN0MsMkJBQTJCLHNGQ2hCeEMsc3FCQWFBOzs0RkRHYSwyQkFBMkI7a0JBTHZDLFNBQVM7K0JBQ0UseUJBQXlCOzswQkFPcEIsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5qZWN0LCBPcHRpb25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0TnVtYmVyRGVjaW1hbEZpZWxkQ29tcG9uZW50LFxuICAgIERBVEFfRklFTERfUE9SVEFMX0RBVEEsXG4gICAgRGF0YUZpZWxkUG9ydGFsRGF0YSxcbiAgICBOdW1iZXJGaWVsZFxufSBmcm9tIFwiQG5ldGdyaWYvY29tcG9uZW50cy1jb3JlXCI7XG5pbXBvcnQge0RlY2ltYWxQaXBlfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQge01hdEZvcm1GaWVsZEFwcGVhcmFuY2V9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25jLW51bWJlci1kZWNpbWFsLWZpZWxkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL251bWJlci1kZWNpbWFsLWZpZWxkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbnVtYmVyLWRlY2ltYWwtZmllbGQuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBOdW1iZXJEZWNpbWFsRmllbGRDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdE51bWJlckRlY2ltYWxGaWVsZENvbXBvbmVudCB7XG4gICAgY29uc3RydWN0b3IoZGVjaW1hbFBpcGU6IERlY2ltYWxQaXBlLFxuICAgICAgICAgICAgICAgIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KERBVEFfRklFTERfUE9SVEFMX0RBVEEpIGRhdGFGaWVsZFBvcnRhbERhdGE6IERhdGFGaWVsZFBvcnRhbERhdGE8TnVtYmVyRmllbGQ+XG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgIHN1cGVyKGRlY2ltYWxQaXBlLCB0cmFuc2xhdGUsIGRhdGFGaWVsZFBvcnRhbERhdGEpO1xuICAgIH1cblxuICAgIGdldEFwcGVhcmFuY2UoKTogTWF0Rm9ybUZpZWxkQXBwZWFyYW5jZSB7XG4gICAgICAgIGlmICghdGhpcy5kYXRhRmllbGQ/Lm1hdGVyaWFsQXBwZWFyYW5jZSkge1xuICAgICAgICAgICAgcmV0dXJuICdmaWxsJztcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB2YWxpZEFwcGVhcmFuY2VzOiBNYXRGb3JtRmllbGRBcHBlYXJhbmNlW10gPSBbJ2ZpbGwnLCAnb3V0bGluZSddO1xuICAgICAgICByZXR1cm4gdmFsaWRBcHBlYXJhbmNlcy5pbmNsdWRlcyh0aGlzLmRhdGFGaWVsZC5tYXRlcmlhbEFwcGVhcmFuY2UgYXMgTWF0Rm9ybUZpZWxkQXBwZWFyYW5jZSkgPyB0aGlzLmRhdGFGaWVsZC5tYXRlcmlhbEFwcGVhcmFuY2UgYXMgTWF0Rm9ybUZpZWxkQXBwZWFyYW5jZSA6ICdmaWxsJztcbiAgICB9XG5cbiAgICBvbkZvY3VzT3V0KGV2ZW50OiBFdmVudCkge1xuICAgICAgICB0aGlzLnRyYW5zZm9ybVRvVGV4dChldmVudCk7XG4gICAgfVxuXG4gICAgb25Gb2N1c0luKCkge1xuICAgICAgICB0aGlzLnRyYW5zZm9ybVRvTnVtYmVyKCk7XG4gICAgfVxufVxuIiwiPG1hdC1mb3JtLWZpZWxkIFthcHBlYXJhbmNlXT1cImdldEFwcGVhcmFuY2UoKVwiIGNsYXNzPVwiZnVsbC13aWR0aFwiIGNvbG9yPVwicHJpbWFyeVwiPlxuICAgIDxtYXQtbGFiZWwgKm5nSWY9XCIhc2hvd0xhcmdlTGF5b3V0LnZhbHVlXCI+e3tkYXRhRmllbGQ/LnRpdGxlfX08L21hdC1sYWJlbD5cbiAgICA8aW5wdXQgbWF0SW5wdXRcbiAgICAgICAgICAgW3R5cGVdPVwiZmllbGRUeXBlXCJcbiAgICAgICAgICAgW3ZhbHVlXT1cInRyYW5zZm9ybWVkVmFsdWVcIlxuICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xSZWZcIlxuICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZGF0YUZpZWxkPy5wbGFjZWhvbGRlclwiXG4gICAgICAgICAgIFtyZXF1aXJlZF09XCJkYXRhRmllbGQ/LmJlaGF2aW9yPy5yZXF1aXJlZFwiXG4gICAgICAgICAgIChmb2N1c291dCk9XCJvbkZvY3VzT3V0KCRldmVudClcIlxuICAgICAgICAgICAoZm9jdXNpbik9XCJvbkZvY3VzSW4oKVwiPlxuICAgIDxtYXQtaGludD57e2RhdGFGaWVsZD8uZGVzY3JpcHRpb259fTwvbWF0LWhpbnQ+XG4gICAgPG1hdC1lcnJvciAqbmdJZj1cImRhdGFGaWVsZD8uaXNJbnZhbGlkKGZvcm1Db250cm9sUmVmKVwiPnt7Z2V0RXJyb3JNZXNzYWdlKCl9fTwvbWF0LWVycm9yPlxuPC9tYXQtZm9ybS1maWVsZD5cbiJdfQ==