UNPKG

acr-assist-simulator-module

Version:

This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 1.7.4.

56 lines (55 loc) 4.76 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ import { Directive, ElementRef, HostListener } from '@angular/core'; var NumericOnlyDirective = /** @class */ (function () { function NumericOnlyDirective(el) { this.el = el; this.regex = new RegExp(/^(?:[0-9]{0,3}(?:\.[0-9]{0,2})?)?$/); this.specialKeys = ['Backspace', 'Tab', 'End', 'Home', 'ArrowLeft', 'ArrowRight']; } /** * @param {?} event * @return {?} */ NumericOnlyDirective.prototype.onKeyDown = /** * @param {?} event * @return {?} */ function (event) { // Allow Backspace, tab, end, and home keys if (this.specialKeys.indexOf(event.key) !== -1) { return; } var /** @type {?} */ current = this.el.nativeElement.value; var /** @type {?} */ next = current.concat(event.key); var /** @type {?} */ value = +next; if (next && (next === '.' || value > 100.00 || !String(next).match(this.regex))) { event.preventDefault(); } }; NumericOnlyDirective.decorators = [ { type: Directive, args: [{ selector: '[acrNumericOnly]' },] }, ]; /** @nocollapse */ NumericOnlyDirective.ctorParameters = function () { return [ { type: ElementRef } ]; }; NumericOnlyDirective.propDecorators = { onKeyDown: [{ type: HostListener, args: ['keydown', ['$event'],] }] }; return NumericOnlyDirective; }()); export { NumericOnlyDirective }; function NumericOnlyDirective_tsickle_Closure_declarations() { /** @type {?} */ NumericOnlyDirective.prototype.regex; /** @type {?} */ NumericOnlyDirective.prototype.specialKeys; /** @type {?} */ NumericOnlyDirective.prototype.el; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtZXJpYy1vbmx5LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2Fjci1hc3Npc3Qtc2ltdWxhdG9yLW1vZHVsZS8iLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9hY3ItYXNzaXN0LXNpbXVsYXRvci9zaGFyZWQvZGlyZWN0aXZlcy9udW1lcmljLW9ubHkuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7O0lBYWxFLDhCQUFvQixFQUFjO1FBQWQsT0FBRSxHQUFGLEVBQUUsQ0FBWTtxQkFOVixJQUFJLE1BQU0sQ0FBQyxvQ0FBb0MsQ0FBQzsyQkFJbkMsQ0FBQyxXQUFXLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLFlBQVksQ0FBQztLQUdsRzs7Ozs7SUFHRCx3Q0FBUzs7OztJQURULFVBQ1UsS0FBb0I7O1FBRTVCLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDL0MsTUFBTSxDQUFDO1NBQ1I7UUFDRCxxQkFBSSxPQUFPLEdBQVcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDO1FBQ2xELHFCQUFJLElBQUksR0FBVyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM3QyxxQkFBSSxLQUFLLEdBQVcsQ0FBQyxJQUFJLENBQUM7UUFDMUIsRUFBRSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLEdBQUcsSUFBSSxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDaEYsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1NBQ3hCO0tBQ0Y7O2dCQTFCRixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtpQkFDN0I7Ozs7Z0JBSm1CLFVBQVU7Ozs0QkFnQjNCLFlBQVksU0FBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUM7OytCQWhCckM7O1NBS2Esb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2Fjck51bWVyaWNPbmx5XSdcclxufSlcclxuZXhwb3J0IGNsYXNzIE51bWVyaWNPbmx5RGlyZWN0aXZlIHtcclxuXHJcbiAgcHJpdmF0ZSByZWdleDogUmVnRXhwID0gbmV3IFJlZ0V4cCgvXig/OlswLTldezAsM30oPzpcXC5bMC05XXswLDJ9KT8pPyQvKTtcclxuXHJcbiAgLy8gQWxsb3cga2V5IGNvZGVzIGZvciBzcGVjaWFsIGV2ZW50cy4gUmVmbGVjdCA6XHJcbiAgLy8gQmFja3NwYWNlLCB0YWIsIGVuZCwgaG9tZVxyXG4gIHByaXZhdGUgc3BlY2lhbEtleXM6IEFycmF5PHN0cmluZz4gPSBbJ0JhY2tzcGFjZScsICdUYWInLCAnRW5kJywgJ0hvbWUnLCAnQXJyb3dMZWZ0JywgJ0Fycm93UmlnaHQnXTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZikge1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pXHJcbiAgb25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICAvLyBBbGxvdyBCYWNrc3BhY2UsIHRhYiwgZW5kLCBhbmQgaG9tZSBrZXlzXHJcbiAgICBpZiAodGhpcy5zcGVjaWFsS2V5cy5pbmRleE9mKGV2ZW50LmtleSkgIT09IC0xKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGxldCBjdXJyZW50OiBzdHJpbmcgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQudmFsdWU7XHJcbiAgICBsZXQgbmV4dDogc3RyaW5nID0gY3VycmVudC5jb25jYXQoZXZlbnQua2V5KTtcclxuICAgIGxldCB2YWx1ZTogbnVtYmVyID0gK25leHQ7XHJcbiAgICBpZiAobmV4dCAmJiAobmV4dCA9PT0gJy4nIHx8IHZhbHVlID4gMTAwLjAwIHx8ICFTdHJpbmcobmV4dCkubWF0Y2godGhpcy5yZWdleCkpKSB7XHJcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==