UNPKG

wninputpattern

Version:

Simple directive for your input pattern.

34 lines 3.65 kB
import { Directive, EventEmitter, HostListener, Input, Output, } from '@angular/core'; import * as i0 from "@angular/core"; export class ThaiDirective { constructor() { this.params = ''; this.validater = new EventEmitter(); this.regEx = new RegExp(/^[\u0E00-\u0E7F().-\s]*$/); } onKeyPress(event) { const e = event; 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: ThaiDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); } static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.10", type: ThaiDirective, selector: "[Thai]", inputs: { params: ["specialChar", "params"] }, outputs: { validater: "validater" }, host: { listeners: { "keypress": "onKeyPress($event)" } }, ngImport: i0 }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: ThaiDirective, decorators: [{ type: Directive, args: [{ selector: '[Thai]', }] }], ctorParameters: function () { return []; }, propDecorators: { params: [{ type: Input, args: ['specialChar'] }], validater: [{ type: Output }], onKeyPress: [{ type: HostListener, args: ['keypress', ['$event']] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhhaS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93bmlucHV0cGF0dGVybi9zcmMvbGliL2RpcmVjdGl2ZXMvdGhhaS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7O0FBS3ZCLE1BQU0sT0FBTyxhQUFhO0lBQ3hCO1FBRXNCLFdBQU0sR0FBVyxFQUFFLENBQUM7UUFDaEMsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDekMsVUFBSyxHQUFHLElBQUksTUFBTSxDQUFDLDBCQUEwQixDQUFDLENBQUM7SUFKaEMsQ0FBQztJQUtzQixVQUFVLENBQUMsS0FBVTtRQUN6RCxNQUFNLENBQUMsR0FBa0IsS0FBSyxDQUFDO1FBQy9CLE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzFDLE1BQU0sS0FBSyxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUNuQixDQUFDLENBQUMsY0FBYyxFQUFFLENBQUM7U0FDcEI7SUFDSCxDQUFDOytHQWJVLGFBQWE7bUdBQWIsYUFBYTs7NEZBQWIsYUFBYTtrQkFIekIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsUUFBUTtpQkFDbkI7MEVBSXVCLE1BQU07c0JBQTNCLEtBQUs7dUJBQUMsYUFBYTtnQkFDVixTQUFTO3NCQUFsQixNQUFNO2dCQUUrQixVQUFVO3NCQUEvQyxZQUFZO3VCQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIERpcmVjdGl2ZSxcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbVGhhaV0nLFxufSlcbmV4cG9ydCBjbGFzcyBUaGFpRGlyZWN0aXZlIHtcbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIEBJbnB1dCgnc3BlY2lhbENoYXInKSBwYXJhbXM6IHN0cmluZyA9ICcnO1xuICBAT3V0cHV0KCkgdmFsaWRhdGVyID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICByZWdFeCA9IG5ldyBSZWdFeHAoL15bXFx1MEUwMC1cXHUwRTdGKCkuLVxcc10qJC8pO1xuICBASG9zdExpc3RlbmVyKCdrZXlwcmVzcycsIFsnJGV2ZW50J10pIG9uS2V5UHJlc3MoZXZlbnQ6IGFueSkge1xuICAgIGNvbnN0IGUgPSA8S2V5Ym9hcmRFdmVudD5ldmVudDtcbiAgICBjb25zdCBjaCA9IFN0cmluZy5mcm9tQ2hhckNvZGUoZS5rZXlDb2RlKTtcbiAgICBjb25zdCByZWdFeCA9IG5ldyBSZWdFeHAodGhpcy5yZWdFeCk7XG4gICAgaWYgKCFyZWdFeC50ZXN0KGNoKSkge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbiAgfVxufVxuIl19