UNPKG

@netgrif/components

Version:

Netgrif Application Engine frontend Angular components

37 lines 10.8 kB
import { Component, Inject, Optional } from '@angular/core'; import { AbstractCurrencyNumberFieldComponent, 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 "@ngbracket/ngx-layout/extended"; import * as i4 from "@angular/material/input"; import * as i5 from "@angular/material/form-field"; import * as i6 from "@angular/forms"; export class NumberCurrencyFieldComponent extends AbstractCurrencyNumberFieldComponent { constructor(currencyPipe, translate, dataFieldPortalData) { super(currencyPipe, translate, dataFieldPortalData); } onFocusOut(event) { this.transformToText(event); } onFocusIn() { this.transformToNumber(); } isCodeExists() { return this.dataField.component.properties['code'] !== ' ' && this.dataField.component.properties['code'] !== '' && this.dataField.component.properties['code'] !== undefined; } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NumberCurrencyFieldComponent, deps: [{ token: i1.CurrencyPipe }, { 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: NumberCurrencyFieldComponent, selector: "nc-number-currency-field", usesInheritance: true, ngImport: i0, template: "<mat-form-field [appearance]=\"dataField.materialAppearance\" class=\"full-width\" color=\"primary\">\n <mat-label *ngIf=\"!showLargeLayout.value\">{{dataField.title}}</mat-label>\n <span matPrefix *ngIf=\"isNumberType() && isCodeExists()\">{{this.dataField.component.properties['code'] ?? ''}}</span>\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 [ngClass]=\"{'mat-hint-disabled': formControlRef.disabled}\">{{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.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "directive", type: i4.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: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i5.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i5.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i6.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: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i6.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NumberCurrencyFieldComponent, decorators: [{ type: Component, args: [{ selector: 'nc-number-currency-field', template: "<mat-form-field [appearance]=\"dataField.materialAppearance\" class=\"full-width\" color=\"primary\">\n <mat-label *ngIf=\"!showLargeLayout.value\">{{dataField.title}}</mat-label>\n <span matPrefix *ngIf=\"isNumberType() && isCodeExists()\">{{this.dataField.component.properties['code'] ?? ''}}</span>\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 [ngClass]=\"{'mat-hint-disabled': formControlRef.disabled}\">{{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.CurrencyPipe }, { type: i2.TranslateService }, { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [DATA_FIELD_PORTAL_DATA] }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWN1cnJlbmN5LWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy9zcmMvbGliL2RhdGEtZmllbGRzL251bWJlci1maWVsZC9udW1iZXItY3VycmVuY3ktZmllbGQvbnVtYmVyLWN1cnJlbmN5LWZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy9zcmMvbGliL2RhdGEtZmllbGRzL251bWJlci1maWVsZC9udW1iZXItY3VycmVuY3ktZmllbGQvbnVtYmVyLWN1cnJlbmN5LWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFekUsT0FBTyxFQUNILG9DQUFvQyxFQUNwQyxzQkFBc0IsRUFHekIsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7Ozs7QUFRbEMsTUFBTSxPQUFPLDRCQUE2QixTQUFRLG9DQUFvQztJQUVsRixZQUFZLFlBQTBCLEVBQUUsU0FBMkIsRUFDWCxtQkFBcUQ7UUFDekcsS0FBSyxDQUFDLFlBQVksRUFBRSxTQUFTLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQVk7UUFDbkIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsU0FBUztRQUNMLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxZQUFZO1FBQ1IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEtBQUssR0FBRztZQUN0RCxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRTtZQUNsRCxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEtBQUssU0FBUyxDQUFDO0lBQ2xFLENBQUM7d0dBbkJRLDRCQUE0Qiw4RUFHTCxzQkFBc0I7NEZBSDdDLDRCQUE0Qix1RkNmekMsdTJCQWNBOzs0RkRDYSw0QkFBNEI7a0JBTHhDLFNBQVM7K0JBQ0ksMEJBQTBCOzswQkFPdkIsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FmdGVyVmlld0luaXQsIENvbXBvbmVudCwgSW5qZWN0LCBPcHRpb25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdEN1cnJlbmN5TnVtYmVyRmllbGRDb21wb25lbnQsXG4gICAgREFUQV9GSUVMRF9QT1JUQUxfREFUQSxcbiAgICBEYXRhRmllbGRQb3J0YWxEYXRhLFxuICAgIE51bWJlckZpZWxkXG59IGZyb20gJ0BuZXRncmlmL2NvbXBvbmVudHMtY29yZSc7XG5pbXBvcnQge0N1cnJlbmN5UGlwZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduYy1udW1iZXItY3VycmVuY3ktZmllbGQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9udW1iZXItY3VycmVuY3ktZmllbGQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL251bWJlci1jdXJyZW5jeS1maWVsZC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIE51bWJlckN1cnJlbmN5RmllbGRDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdEN1cnJlbmN5TnVtYmVyRmllbGRDb21wb25lbnQge1xuXG4gICAgY29uc3RydWN0b3IoY3VycmVuY3lQaXBlOiBDdXJyZW5jeVBpcGUsIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KERBVEFfRklFTERfUE9SVEFMX0RBVEEpIGRhdGFGaWVsZFBvcnRhbERhdGE6IERhdGFGaWVsZFBvcnRhbERhdGE8TnVtYmVyRmllbGQ+KSB7XG4gICAgICAgIHN1cGVyKGN1cnJlbmN5UGlwZSwgdHJhbnNsYXRlLCBkYXRhRmllbGRQb3J0YWxEYXRhKTtcbiAgICB9XG5cbiAgICBvbkZvY3VzT3V0KGV2ZW50OiBFdmVudCkge1xuICAgICAgICB0aGlzLnRyYW5zZm9ybVRvVGV4dChldmVudCk7XG4gICAgfVxuXG4gICAgb25Gb2N1c0luKCkge1xuICAgICAgICB0aGlzLnRyYW5zZm9ybVRvTnVtYmVyKCk7XG4gICAgfVxuXG4gICAgaXNDb2RlRXhpc3RzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhRmllbGQuY29tcG9uZW50LnByb3BlcnRpZXNbJ2NvZGUnXSAhPT0gJyAnICYmXG4gICAgICAgICAgICB0aGlzLmRhdGFGaWVsZC5jb21wb25lbnQucHJvcGVydGllc1snY29kZSddICE9PSAnJyAmJlxuICAgICAgICAgICAgdGhpcy5kYXRhRmllbGQuY29tcG9uZW50LnByb3BlcnRpZXNbJ2NvZGUnXSAhPT0gdW5kZWZpbmVkO1xuICAgIH1cbn1cbiIsIjxtYXQtZm9ybS1maWVsZCBbYXBwZWFyYW5jZV09XCJkYXRhRmllbGQubWF0ZXJpYWxBcHBlYXJhbmNlXCIgY2xhc3M9XCJmdWxsLXdpZHRoXCIgY29sb3I9XCJwcmltYXJ5XCI+XG4gICAgPG1hdC1sYWJlbCAqbmdJZj1cIiFzaG93TGFyZ2VMYXlvdXQudmFsdWVcIj57e2RhdGFGaWVsZC50aXRsZX19PC9tYXQtbGFiZWw+XG4gICAgPHNwYW4gbWF0UHJlZml4ICpuZ0lmPVwiaXNOdW1iZXJUeXBlKCkgJiYgaXNDb2RlRXhpc3RzKClcIj57e3RoaXMuZGF0YUZpZWxkLmNvbXBvbmVudC5wcm9wZXJ0aWVzWydjb2RlJ10gPz8gJyd9fTwvc3Bhbj5cbiAgICA8aW5wdXQgbWF0SW5wdXRcbiAgICAgICAgICAgW3R5cGVdPVwiZmllbGRUeXBlXCJcbiAgICAgICAgICAgW3ZhbHVlXT1cInRyYW5zZm9ybWVkVmFsdWVcIlxuICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xSZWZcIlxuICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZGF0YUZpZWxkLnBsYWNlaG9sZGVyXCJcbiAgICAgICAgICAgW3JlcXVpcmVkXT1cImRhdGFGaWVsZC5iZWhhdmlvci5yZXF1aXJlZFwiXG4gICAgICAgICAgIChmb2N1c291dCk9XCJvbkZvY3VzT3V0KCRldmVudClcIlxuICAgICAgICAgICAoZm9jdXNpbik9XCJvbkZvY3VzSW4oKVwiPlxuICAgIDxtYXQtaGludCBbbmdDbGFzc109XCJ7J21hdC1oaW50LWRpc2FibGVkJzogZm9ybUNvbnRyb2xSZWYuZGlzYWJsZWR9XCI+e3tkYXRhRmllbGQuZGVzY3JpcHRpb259fTwvbWF0LWhpbnQ+XG4gICAgPG1hdC1lcnJvciAqbmdJZj1cImRhdGFGaWVsZC5pc0ludmFsaWQoZm9ybUNvbnRyb2xSZWYpXCI+e3tnZXRFcnJvck1lc3NhZ2UoKX19PC9tYXQtZXJyb3I+XG48L21hdC1mb3JtLWZpZWxkPlxuIl19