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
JavaScript
/**
* @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==