ngx-ui-hero
Version:
Simple, fast and reliable utilities for Angular.
59 lines • 12.7 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";
let identifier = 0;
export class InputPercentComponent extends ElementBase {
constructor(validators, asyncValidators, config) {
super(validators, asyncValidators, config);
this.config = config;
this.showInputGroup = true;
this.inputGroupText = '%';
this.placeholder = '';
this.precision = 1;
this.identifier = `input-percent-${identifier++}`;
}
ngOnInit() { }
}
InputPercentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: InputPercentComponent, deps: [{ token: NG_VALIDATORS, optional: true }, { token: NG_ASYNC_VALIDATORS, optional: true }, { token: INPUT_FORMS_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
InputPercentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: InputPercentComponent, selector: "input-percent", inputs: { showInputGroup: "showInputGroup", inputGroupText: "inputGroupText", placeholder: "placeholder", precision: "precision" }, providers: [
{ provide: NG_VALUE_ACCESSOR, useExisting: InputPercentComponent, 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\" [innerHtml]=\"inputGroupText\"></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" }] });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: InputPercentComponent, decorators: [{
type: Component,
args: [{ selector: 'input-percent', providers: [
{ provide: NG_VALUE_ACCESSOR, useExisting: InputPercentComponent, 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\" [innerHtml]=\"inputGroupText\"></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
}], inputGroupText: [{
type: Input
}], placeholder: [{
type: Input
}], precision: [{
type: Input
}], model: [{
type: ViewChild,
args: [NgModel, { static: true }]
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcGVyY2VudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdWktaGVyby9zcmMvbGliL2lucHV0LWZvcm1zL2NvbXBvbmVudHMvaW5wdXQtcGVyY2VudC9pbnB1dC1wZXJjZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC11aS1oZXJvL3NyYy9saWIvaW5wdXQtZm9ybXMvY29tcG9uZW50cy9pbnB1dC1wZXJjZW50L2lucHV0LXBlcmNlbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxPQUFPLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVoRyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFdEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7Ozs7Ozs7O0FBRXhFLElBQUksVUFBVSxHQUFHLENBQUMsQ0FBQztBQVNuQixNQUFNLE9BQU8scUJBQXNCLFNBQVEsV0FBbUI7SUFTNUQsWUFDcUMsVUFBc0IsRUFDaEIsZUFBMkIsRUFDakMsTUFBd0I7UUFFM0QsS0FBSyxDQUFDLFVBQVUsRUFBRSxlQUFlLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFGUixXQUFNLEdBQU4sTUFBTSxDQUFrQjtRQVhwRCxtQkFBYyxHQUFhLElBQUksQ0FBQztRQUNoQyxtQkFBYyxHQUFZLEdBQUcsQ0FBQztRQUM5QixnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQUN6QixjQUFTLEdBQVcsQ0FBQyxDQUFDO1FBR3hCLGVBQVUsR0FBRyxpQkFBaUIsVUFBVSxFQUFFLEVBQUUsQ0FBQztJQVFwRCxDQUFDO0lBRUQsUUFBUSxLQUFVLENBQUM7O21IQWpCUixxQkFBcUIsa0JBVVYsYUFBYSw2QkFDYixtQkFBbUIsNkJBQy9CLGtCQUFrQjt1R0FaakIscUJBQXFCLDRLQUpyQjtRQUNULEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxxQkFBcUIsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO0tBQ2hGLGlFQU9VLE9BQU8scUZDckJwQix1bkNBaUNBOzRGRGpCYSxxQkFBcUI7a0JBUGpDLFNBQVM7K0JBQ0UsZUFBZSxhQUVkO3dCQUNULEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFdBQVcsdUJBQXVCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtxQkFDaEY7OzBCQVlFLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsYUFBYTs7MEJBQ2hDLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsbUJBQW1COzswQkFDdEMsTUFBTTsyQkFBQyxrQkFBa0I7NENBWG5CLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQzhCLEtBQUs7c0JBQXhDLFNBQVM7dUJBQUMsT0FBTyxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBJbnB1dCwgT25Jbml0LCBPcHRpb25hbCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19BU1lOQ19WQUxJREFUT1JTLCBOR19WQUxJREFUT1JTLCBOR19WQUxVRV9BQ0NFU1NPUiwgTmdNb2RlbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgRWxlbWVudEJhc2UgfSBmcm9tICcuLi8uLi9iYXNlL2VsZW1lbnQtYmFzZSc7XG5pbXBvcnQgeyBJbnB1dEZvcm1zQ29uZmlnIH0gZnJvbSAnLi4vLi4vaW5wdXQtZm9ybXMtY29uZmlnJztcbmltcG9ydCB7IElOUFVUX0ZPUk1TX0NPTkZJRyB9IGZyb20gJy4uLy4uL2lucHV0LWZvcm1zLWNvbmZpZy5jb25zdGFudHMnO1xuXG5sZXQgaWRlbnRpZmllciA9IDA7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lucHV0LXBlcmNlbnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtcGVyY2VudC5jb21wb25lbnQuaHRtbCcsXG4gIHByb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsIHVzZUV4aXN0aW5nOiBJbnB1dFBlcmNlbnRDb21wb25lbnQsIG11bHRpOiB0cnVlIH0sXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgSW5wdXRQZXJjZW50Q29tcG9uZW50IGV4dGVuZHMgRWxlbWVudEJhc2U8bnVtYmVyPiBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHNob3dJbnB1dEdyb3VwPzogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIGlucHV0R3JvdXBUZXh0Pzogc3RyaW5nID0gJyUnO1xuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHByZWNpc2lvbjogbnVtYmVyID0gMTtcbiAgQFZpZXdDaGlsZChOZ01vZGVsLCB7c3RhdGljOiB0cnVlfSkgbW9kZWw6IE5nTW9kZWw7XG5cbiAgcHVibGljIGlkZW50aWZpZXIgPSBgaW5wdXQtcGVyY2VudC0ke2lkZW50aWZpZXIrK31gO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoTkdfVkFMSURBVE9SUykgdmFsaWRhdG9yczogQXJyYXk8YW55PixcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE5HX0FTWU5DX1ZBTElEQVRPUlMpIGFzeW5jVmFsaWRhdG9yczogQXJyYXk8YW55PixcbiAgICBASW5qZWN0KElOUFVUX0ZPUk1TX0NPTkZJRykgcHVibGljIGNvbmZpZzogSW5wdXRGb3Jtc0NvbmZpZ1xuICApIHtcbiAgICBzdXBlcih2YWxpZGF0b3JzLCBhc3luY1ZhbGlkYXRvcnMsIGNvbmZpZyk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XG59XG4iLCI8bGFiZWwgKm5nSWY9XCJsYWJlbFwiIFthdHRyLmZvcl09XCJpZGVudGlmaWVyXCI+XG4gIHt7bGFiZWx9fVxuICA8c3BhbiBjbGFzcz1cInJlcXVpcmVkLXN5bWJvbFwiICpuZ0lmPVwiaXNSZXF1aXJlZFwiPiAqPC9zcGFuPlxuICA8aSBjbGFzcz1cImZhIGZhLXF1ZXN0aW9uLWNpcmNsZSBtbC0yXCIgdG9vbHRpcD1cInt7aGVscH19XCIgY29udGFpbmVyPVwiYm9keVwiICpuZ0lmPVwiaGVscFwiPjwvaT5cbjwvbGFiZWw+XG5cbjxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cFwiPlxuICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXAtcHJlcGVuZFwiICpuZ0lmPVwic2hvd0lucHV0R3JvdXBcIj5cbiAgICA8c3BhbiBjbGFzcz1cImlucHV0LWdyb3VwLXRleHRcIiBbaW5uZXJIdG1sXT1cImlucHV0R3JvdXBUZXh0XCI+PC9zcGFuPlxuICA8L2Rpdj5cbiAgPGlucHV0XG4gICAgY3VycmVuY3lNYXNrXG4gICAgYXV0b1NlbGVjdE9uRm9jdXNcbiAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICBbYXV0b2NvbXBsZXRlXT1cImF1dG9jb21wbGV0ZVwiXG4gICAgW29wdGlvbnNdPVwieyBwcmVjaXNpb246IHByZWNpc2lvbiB9XCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBcbiAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCJcbiAgICBbaWRdPVwiaWRlbnRpZmllclwiXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgJ2lzLXZhbGlkJzogc2hvd1ZhbGlkYXRpb25zICYmICFkaXNhYmxlZCAmJiB0b3VjaGVkICYmICEoaW52YWxpZCB8IGFzeW5jKSxcbiAgICAgICdpcy1pbnZhbGlkJzogc2hvd1ZhbGlkYXRpb25zICYmICFkaXNhYmxlZCAmJiB0b3VjaGVkICYmIChpbnZhbGlkIHwgYXN5bmMpXG4gICAgfVwiXG4gIC8+XG48L2Rpdj5cblxuPHNtYWxsIGNsYXNzPVwidGV4dC1tdXRlZFwiICpuZ0lmPVwiZGVzY3JpcHRpb25cIj57e2Rlc2NyaXB0aW9ufX08L3NtYWxsPlxuICBcbjxpbnB1dC12YWxpZGF0aW9uc1xuICAqbmdJZj1cInNob3dWYWxpZGF0aW9ucyAmJiAhZGlzYWJsZWQgJiYgdG91Y2hlZCAmJiAoaW52YWxpZCB8IGFzeW5jKVwiXG4gIFttZXNzYWdlc109XCJmYWlsdXJlcyB8IGFzeW5jXCI+XG48L2lucHV0LXZhbGlkYXRpb25zPlxuIl19