ngx-ui-hero
Version:
Simple, fast and reliable utilities for Angular.
62 lines • 12.9 kB
JavaScript
import { Component, Inject, Input, Optional, ViewChild } from '@angular/core';
import { NG_ASYNC_VALIDATORS, NG_VALIDATORS, NG_VALUE_ACCESSOR, NgModel } from '@angular/forms';
import { ElementBase } from '../../base/element-base';
import { INPUT_FORMS_CONFIG } from '../../input-forms-config.constants';
import * as i0 from "@angular/core";
import * as i1 from "@angular/common";
import * as i2 from "@angular/forms";
import * as i3 from "../../../ui/directives/auto-select-on-focus.directive";
import * as i4 from "ngx-bootstrap/tooltip";
import * as i5 from "../input-validations/input-validations.component";
import * as i6 from "../../directives/currency/currency-mask.directive";
import * as i7 from "../../base/currency-symbol.pipe";
let identifier = 0;
export class InputCurrencyComponent extends ElementBase {
constructor(validators, asyncValidators, config) {
super(validators, asyncValidators, config);
this.config = config;
this.showInputGroup = true;
this.placeholder = '';
this.precision = 2;
this.identifier = `input-currency-${identifier++}`;
this.currencyCode = this.config.currency.currencyCode;
}
ngOnInit() { }
}
InputCurrencyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: InputCurrencyComponent, deps: [{ token: NG_VALIDATORS, optional: true }, { token: NG_ASYNC_VALIDATORS, optional: true }, { token: INPUT_FORMS_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
InputCurrencyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: InputCurrencyComponent, selector: "input-currency", inputs: { showInputGroup: "showInputGroup", placeholder: "placeholder", precision: "precision" }, providers: [{
provide: NG_VALUE_ACCESSOR,
useExisting: InputCurrencyComponent,
multi: true
}], viewQueries: [{ propertyName: "model", first: true, predicate: NgModel, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<label *ngIf=\"label\" [attr.for]=\"identifier\">\n {{label}}\n <span class=\"required-symbol\" *ngIf=\"isRequired\"> *</span>\n <i class=\"fa fa-question-circle ml-2\" tooltip=\"{{help}}\" container=\"body\" *ngIf=\"help\"></i>\n</label>\n\n<div class=\"input-group\">\n <div class=\"input-group-prepend\" *ngIf=\"showInputGroup\">\n <span class=\"input-group-text\">{{currencyCode | currencySymbol}}</span>\n </div>\n <input\n currencyMask\n autoSelectOnFocus\n class=\"form-control\"\n [placeholder]=\"placeholder\"\n [autocomplete]=\"autocomplete\"\n [options]=\"{ precision: precision }\"\n [disabled]=\"disabled\" \n [(ngModel)]=\"value\"\n [id]=\"identifier\"\n [ngClass]=\"{\n 'is-valid': showValidations && !disabled && touched && !(invalid | async),\n 'is-invalid': showValidations && !disabled && touched && (invalid | async)\n }\"\n />\n</div>\n\n<small class=\"text-muted\" *ngIf=\"description\">{{description}}</small>\n \n<input-validations\n *ngIf=\"showValidations && !disabled && touched && (invalid | async)\"\n [messages]=\"failures | async\">\n</input-validations>\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: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.AutoSelectOnFocusDirective, selector: "input[autoSelectOnFocus]" }, { kind: "directive", type: i4.TooltipDirective, selector: "[tooltip], [tooltipHtml]", inputs: ["containerClass", "tooltipAnimation", "tooltipFadeDuration", "isOpen", "tooltipHtml", "tooltip", "tooltipPlacement", "placement", "tooltipIsOpen", "tooltipEnable", "isDisabled", "tooltipAppendToBody", "container", "tooltipClass", "tooltipContext", "tooltipPopupDelay", "delay", "tooltipTrigger", "triggers", "adaptivePosition"], outputs: ["tooltipChange", "tooltipStateChanged", "onShown", "onHidden"], exportAs: ["bs-tooltip"] }, { kind: "component", type: i5.InputValidationsComponent, selector: "input-validations", inputs: ["messages"] }, { kind: "directive", type: i6.CurrencyMaskDirective, selector: "[currencyMask]", inputs: ["max", "min", "options"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.CurrencySymbolPipe, name: "currencySymbol" }] });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: InputCurrencyComponent, decorators: [{
type: Component,
args: [{ selector: 'input-currency', providers: [{
provide: NG_VALUE_ACCESSOR,
useExisting: InputCurrencyComponent,
multi: true
}], template: "<label *ngIf=\"label\" [attr.for]=\"identifier\">\n {{label}}\n <span class=\"required-symbol\" *ngIf=\"isRequired\"> *</span>\n <i class=\"fa fa-question-circle ml-2\" tooltip=\"{{help}}\" container=\"body\" *ngIf=\"help\"></i>\n</label>\n\n<div class=\"input-group\">\n <div class=\"input-group-prepend\" *ngIf=\"showInputGroup\">\n <span class=\"input-group-text\">{{currencyCode | currencySymbol}}</span>\n </div>\n <input\n currencyMask\n autoSelectOnFocus\n class=\"form-control\"\n [placeholder]=\"placeholder\"\n [autocomplete]=\"autocomplete\"\n [options]=\"{ precision: precision }\"\n [disabled]=\"disabled\" \n [(ngModel)]=\"value\"\n [id]=\"identifier\"\n [ngClass]=\"{\n 'is-valid': showValidations && !disabled && touched && !(invalid | async),\n 'is-invalid': showValidations && !disabled && touched && (invalid | async)\n }\"\n />\n</div>\n\n<small class=\"text-muted\" *ngIf=\"description\">{{description}}</small>\n \n<input-validations\n *ngIf=\"showValidations && !disabled && touched && (invalid | async)\"\n [messages]=\"failures | async\">\n</input-validations>\n" }]
}], ctorParameters: function () { return [{ type: Array, decorators: [{
type: Optional
}, {
type: Inject,
args: [NG_VALIDATORS]
}] }, { type: Array, decorators: [{
type: Optional
}, {
type: Inject,
args: [NG_ASYNC_VALIDATORS]
}] }, { type: undefined, decorators: [{
type: Inject,
args: [INPUT_FORMS_CONFIG]
}] }]; }, propDecorators: { showInputGroup: [{
type: Input
}], placeholder: [{
type: Input
}], precision: [{
type: Input
}], model: [{
type: ViewChild,
args: [NgModel, { static: true }]
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY3VycmVuY3kuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXVpLWhlcm8vc3JjL2xpYi9pbnB1dC1mb3Jtcy9jb21wb25lbnRzL2lucHV0LWN1cnJlbmN5L2lucHV0LWN1cnJlbmN5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC11aS1oZXJvL3NyYy9saWIvaW5wdXQtZm9ybXMvY29tcG9uZW50cy9pbnB1dC1jdXJyZW5jeS9pbnB1dC1jdXJyZW5jeS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLE9BQU8sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWhHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7Ozs7Ozs7O0FBRXhFLElBQUksVUFBVSxHQUFHLENBQUMsQ0FBQztBQVduQixNQUFNLE9BQU8sc0JBQXVCLFNBQVEsV0FBbUI7SUFVN0QsWUFDcUMsVUFBc0IsRUFDaEIsZUFBMkIsRUFDakMsTUFBd0I7UUFFM0QsS0FBSyxDQUFDLFVBQVUsRUFBRSxlQUFlLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFGUixXQUFNLEdBQU4sTUFBTSxDQUFrQjtRQVpwRCxtQkFBYyxHQUFhLElBQUksQ0FBQztRQUNoQyxnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQUN6QixjQUFTLEdBQVcsQ0FBQyxDQUFDO1FBS3hCLGVBQVUsR0FBRyxrQkFBa0IsVUFBVSxFQUFFLEVBQUUsQ0FBQztRQVFuRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQztJQUN4RCxDQUFDO0lBRUQsUUFBUSxLQUFVLENBQUM7O29IQW5CUixzQkFBc0Isa0JBV1gsYUFBYSw2QkFDYixtQkFBbUIsNkJBQy9CLGtCQUFrQjt3R0FiakIsc0JBQXNCLDJJQU50QixDQUFDO1lBQ1YsT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixXQUFXLEVBQUUsc0JBQXNCO1lBQ25DLEtBQUssRUFBRSxJQUFJO1NBQ1osQ0FBQyxpRUFNUyxPQUFPLHFGQ3RCcEIseW5DQWlDQTs0RkRmYSxzQkFBc0I7a0JBVGxDLFNBQVM7K0JBQ0UsZ0JBQWdCLGFBRWYsQ0FBQzs0QkFDVixPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLHdCQUF3Qjs0QkFDbkMsS0FBSyxFQUFFLElBQUk7eUJBQ1osQ0FBQzs7MEJBYUMsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxhQUFhOzswQkFDaEMsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxtQkFBbUI7OzBCQUN0QyxNQUFNOzJCQUFDLGtCQUFrQjs0Q0FabkIsY0FBYztzQkFBdEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQzhCLEtBQUs7c0JBQXhDLFNBQVM7dUJBQUMsT0FBTyxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBJbnB1dCwgT25Jbml0LCBPcHRpb25hbCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19BU1lOQ19WQUxJREFUT1JTLCBOR19WQUxJREFUT1JTLCBOR19WQUxVRV9BQ0NFU1NPUiwgTmdNb2RlbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgRWxlbWVudEJhc2UgfSBmcm9tICcuLi8uLi9iYXNlL2VsZW1lbnQtYmFzZSc7XG5pbXBvcnQgeyBJbnB1dEZvcm1zQ29uZmlnIH0gZnJvbSAnLi4vLi4vaW5wdXQtZm9ybXMtY29uZmlnJztcbmltcG9ydCB7IElOUFVUX0ZPUk1TX0NPTkZJRyB9IGZyb20gJy4uLy4uL2lucHV0LWZvcm1zLWNvbmZpZy5jb25zdGFudHMnO1xuXG5sZXQgaWRlbnRpZmllciA9IDA7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lucHV0LWN1cnJlbmN5JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LWN1cnJlbmN5LmNvbXBvbmVudC5odG1sJyxcbiAgcHJvdmlkZXJzOiBbe1xuICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgIHVzZUV4aXN0aW5nOiBJbnB1dEN1cnJlbmN5Q29tcG9uZW50LFxuICAgIG11bHRpOiB0cnVlXG4gIH1dXG59KVxuZXhwb3J0IGNsYXNzIElucHV0Q3VycmVuY3lDb21wb25lbnQgZXh0ZW5kcyBFbGVtZW50QmFzZTxzdHJpbmc+IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgc2hvd0lucHV0R3JvdXA/OiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBwcmVjaXNpb246IG51bWJlciA9IDI7XG4gIEBWaWV3Q2hpbGQoTmdNb2RlbCwge3N0YXRpYzogdHJ1ZX0pIG1vZGVsOiBOZ01vZGVsO1xuICBcbiAgY3VycmVuY3lDb2RlOiBzdHJpbmc7XG5cbiAgcHVibGljIGlkZW50aWZpZXIgPSBgaW5wdXQtY3VycmVuY3ktJHtpZGVudGlmaWVyKyt9YDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE5HX1ZBTElEQVRPUlMpIHZhbGlkYXRvcnM6IEFycmF5PGFueT4sXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChOR19BU1lOQ19WQUxJREFUT1JTKSBhc3luY1ZhbGlkYXRvcnM6IEFycmF5PGFueT4sXG4gICAgQEluamVjdChJTlBVVF9GT1JNU19DT05GSUcpIHB1YmxpYyBjb25maWc6IElucHV0Rm9ybXNDb25maWdcbiAgKSB7XG4gICAgc3VwZXIodmFsaWRhdG9ycywgYXN5bmNWYWxpZGF0b3JzLCBjb25maWcpO1xuICAgIHRoaXMuY3VycmVuY3lDb2RlID0gdGhpcy5jb25maWcuY3VycmVuY3kuY3VycmVuY3lDb2RlO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7fVxufVxuIiwiPGxhYmVsICpuZ0lmPVwibGFiZWxcIiBbYXR0ci5mb3JdPVwiaWRlbnRpZmllclwiPlxuICB7e2xhYmVsfX1cbiAgPHNwYW4gY2xhc3M9XCJyZXF1aXJlZC1zeW1ib2xcIiAqbmdJZj1cImlzUmVxdWlyZWRcIj4gKjwvc3Bhbj5cbiAgPGkgY2xhc3M9XCJmYSBmYS1xdWVzdGlvbi1jaXJjbGUgbWwtMlwiIHRvb2x0aXA9XCJ7e2hlbHB9fVwiIGNvbnRhaW5lcj1cImJvZHlcIiAqbmdJZj1cImhlbHBcIj48L2k+XG48L2xhYmVsPlxuXG48ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXBcIj5cbiAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwLXByZXBlbmRcIiAqbmdJZj1cInNob3dJbnB1dEdyb3VwXCI+XG4gICAgPHNwYW4gY2xhc3M9XCJpbnB1dC1ncm91cC10ZXh0XCI+e3tjdXJyZW5jeUNvZGUgfCBjdXJyZW5jeVN5bWJvbH19PC9zcGFuPlxuICA8L2Rpdj5cbiAgPGlucHV0XG4gICAgY3VycmVuY3lNYXNrXG4gICAgYXV0b1NlbGVjdE9uRm9jdXNcbiAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICBbYXV0b2NvbXBsZXRlXT1cImF1dG9jb21wbGV0ZVwiXG4gICAgW29wdGlvbnNdPVwieyBwcmVjaXNpb246IHByZWNpc2lvbiB9XCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBcbiAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCJcbiAgICBbaWRdPVwiaWRlbnRpZmllclwiXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgJ2lzLXZhbGlkJzogc2hvd1ZhbGlkYXRpb25zICYmICFkaXNhYmxlZCAmJiB0b3VjaGVkICYmICEoaW52YWxpZCB8IGFzeW5jKSxcbiAgICAgICdpcy1pbnZhbGlkJzogc2hvd1ZhbGlkYXRpb25zICYmICFkaXNhYmxlZCAmJiB0b3VjaGVkICYmIChpbnZhbGlkIHwgYXN5bmMpXG4gICAgfVwiXG4gIC8+XG48L2Rpdj5cblxuPHNtYWxsIGNsYXNzPVwidGV4dC1tdXRlZFwiICpuZ0lmPVwiZGVzY3JpcHRpb25cIj57e2Rlc2NyaXB0aW9ufX08L3NtYWxsPlxuICBcbjxpbnB1dC12YWxpZGF0aW9uc1xuICAqbmdJZj1cInNob3dWYWxpZGF0aW9ucyAmJiAhZGlzYWJsZWQgJiYgdG91Y2hlZCAmJiAoaW52YWxpZCB8IGFzeW5jKVwiXG4gIFttZXNzYWdlc109XCJmYWlsdXJlcyB8IGFzeW5jXCI+XG48L2lucHV0LXZhbGlkYXRpb25zPlxuIl19