UNPKG

wninputpattern

Version:

Simple directive for your input pattern.

37 lines 3.94 kB
import { Directive, EventEmitter, HostListener, Input, Output, } from '@angular/core'; import * as i0 from "@angular/core"; export class NumberDirective { constructor() { this.params = ''; this.validater = new EventEmitter(); this.regEx = new RegExp(/^[0-9]*$/g); } onKeyPress(event) { const e = event; if (e.key === 'Tab' || e.key === 'TAB') { return; } const ch = String.fromCharCode(e.keyCode); const regEx = new RegExp(this.regEx); if (!regEx.test(ch)) { e.preventDefault(); } } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: NumberDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); } static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.10", type: NumberDirective, selector: "[Number]", inputs: { params: ["specialNumber", "params"] }, outputs: { validater: "validater" }, host: { listeners: { "keypress": "onKeyPress($event)" } }, ngImport: i0 }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: NumberDirective, decorators: [{ type: Directive, args: [{ selector: '[Number]', }] }], ctorParameters: function () { return []; }, propDecorators: { params: [{ type: Input, args: ['specialNumber'] }], validater: [{ type: Output }], onKeyPress: [{ type: HostListener, args: ['keypress', ['$event']] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3duaW5wdXRwYXR0ZXJuL3NyYy9saWIvZGlyZWN0aXZlcy9udW1iZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDOztBQUt2QixNQUFNLE9BQU8sZUFBZTtJQUMxQjtRQUV3QixXQUFNLEdBQVcsRUFBRSxDQUFDO1FBQ2xDLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3pDLFVBQUssR0FBRyxJQUFJLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUpqQixDQUFDO0lBTXNCLFVBQVUsQ0FBQyxLQUFVO1FBQ3pELE1BQU0sQ0FBQyxHQUFrQixLQUFLLENBQUM7UUFDL0IsSUFBSSxDQUFDLENBQUMsR0FBRyxLQUFLLEtBQUssSUFBSSxDQUFDLENBQUMsR0FBRyxLQUFLLEtBQUssRUFBRTtZQUN0QyxPQUFPO1NBQ1I7UUFFRCxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUUxQyxNQUFNLEtBQUssR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFDbkIsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO1NBQ3BCO0lBQ0gsQ0FBQzsrR0FuQlUsZUFBZTttR0FBZixlQUFlOzs0RkFBZixlQUFlO2tCQUgzQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxVQUFVO2lCQUNyQjswRUFJeUIsTUFBTTtzQkFBN0IsS0FBSzt1QkFBQyxlQUFlO2dCQUNaLFNBQVM7c0JBQWxCLE1BQU07Z0JBRytCLFVBQVU7c0JBQS9DLFlBQVk7dUJBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlyZWN0aXZlLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tOdW1iZXJdJyxcbn0pXG5leHBvcnQgY2xhc3MgTnVtYmVyRGlyZWN0aXZlIHtcbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIEBJbnB1dCgnc3BlY2lhbE51bWJlcicpIHBhcmFtczogc3RyaW5nID0gJyc7XG4gIEBPdXRwdXQoKSB2YWxpZGF0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIHJlZ0V4ID0gbmV3IFJlZ0V4cCgvXlswLTldKiQvZyk7XG5cbiAgQEhvc3RMaXN0ZW5lcigna2V5cHJlc3MnLCBbJyRldmVudCddKSBvbktleVByZXNzKGV2ZW50OiBhbnkpIHtcbiAgICBjb25zdCBlID0gPEtleWJvYXJkRXZlbnQ+ZXZlbnQ7XG4gICAgaWYgKGUua2V5ID09PSAnVGFiJyB8fCBlLmtleSA9PT0gJ1RBQicpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjaCA9IFN0cmluZy5mcm9tQ2hhckNvZGUoZS5rZXlDb2RlKTtcblxuICAgIGNvbnN0IHJlZ0V4ID0gbmV3IFJlZ0V4cCh0aGlzLnJlZ0V4KTtcbiAgICBpZiAoIXJlZ0V4LnRlc3QoY2gpKSB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuICB9XG59XG4iXX0=