UNPKG

ngx-edu-components

Version:
68 lines 5.67 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Directive, ElementRef, Input, HostListener } from '@angular/core'; export class MyRegExpDirective { /** * @param {?} elementRef */ constructor(elementRef) { this.TAG = 'MyRegExpDirective'; this.elementRef = elementRef; } /** * @param {?} event * @return {?} */ onKeyPress(event) { /** @type {?} */ const e = (/** @type {?} */ (event)); // console.log(`${this.TAG} > onKeyPress > e`, e); /** @type {?} */ let value = this.elementRef.nativeElement.value; value = value == null || value == '' ? e.key : value + e.key; // console.log(`${this.TAG} > onKeyPress > value`, value); if (!this.myRegExp.test(value)) { e.preventDefault(); } } /** * @param {?} event * @return {?} */ onPaste(event) { /** @type {?} */ const e = (/** @type {?} */ (event)); console.log(`${this.TAG} > onPaste > e`, e); /** @type {?} */ const pasteData = e.clipboardData.getData('text/plain'); console.log(`${this.TAG} > onPaste > pasteData`, pasteData); if (!this.myRegExp.test(pasteData)) { e.preventDefault(); } } } MyRegExpDirective.decorators = [ { type: Directive, args: [{ selector: '[myRegExp]' },] } ]; /** @nocollapse */ MyRegExpDirective.ctorParameters = () => [ { type: ElementRef } ]; MyRegExpDirective.propDecorators = { myRegExp: [{ type: Input, args: ['myRegExp',] }], onKeyPress: [{ type: HostListener, args: ['keypress', ['$event'],] }], onPaste: [{ type: HostListener, args: ['paste', ['$event'],] }] }; if (false) { /** @type {?} */ MyRegExpDirective.prototype.TAG; /** @type {?} */ MyRegExpDirective.prototype.elementRef; /** @type {?} */ MyRegExpDirective.prototype.myRegExp; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXktcmVnLWV4cC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtZWR1LWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJsaWIvZGlyZWN0aXZlcy9teS1yZWctZXhwLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUszRSxNQUFNLE9BQU8saUJBQWlCOzs7O0lBTTFCLFlBQVksVUFBc0I7UUFKbEMsUUFBRyxHQUFXLG1CQUFtQixDQUFDO1FBSzlCLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO0lBQ2pDLENBQUM7Ozs7O0lBR0QsVUFBVSxDQUFDLEtBQUs7O2NBQ04sQ0FBQyxHQUFHLG1CQUFlLEtBQUssRUFBQTs7O1lBRTFCLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxLQUFLO1FBQy9DLEtBQUssR0FBRyxLQUFLLElBQUksSUFBSSxJQUFJLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDO1FBQzdELDBEQUEwRDtRQUMxRCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDNUIsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO1NBQ3RCO0lBQ0wsQ0FBQzs7Ozs7SUFHRCxPQUFPLENBQUMsS0FBSzs7Y0FDSCxDQUFDLEdBQUcsbUJBQWdCLEtBQUssRUFBQTtRQUMvQixPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLENBQUM7O2NBQ3RDLFNBQVMsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUM7UUFDdkQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLHdCQUF3QixFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUNoQyxDQUFDLENBQUMsY0FBYyxFQUFFLENBQUM7U0FDdEI7SUFDTCxDQUFDOzs7WUFsQ0osU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxZQUFZO2FBQ3pCOzs7O1lBSm1CLFVBQVU7Ozt1QkFTekIsS0FBSyxTQUFDLFVBQVU7eUJBTWhCLFlBQVksU0FBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLENBQUM7c0JBWW5DLFlBQVksU0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7Ozs7SUFwQmpDLGdDQUFrQzs7SUFDbEMsdUNBQXVCOztJQUN2QixxQ0FBb0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gICAgc2VsZWN0b3I6ICdbbXlSZWdFeHBdJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTXlSZWdFeHBEaXJlY3RpdmUge1xyXG5cclxuICAgIFRBRzogc3RyaW5nID0gJ015UmVnRXhwRGlyZWN0aXZlJztcclxuICAgIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY7XHJcbiAgICBASW5wdXQoJ215UmVnRXhwJykgbXlSZWdFeHA6IFJlZ0V4cDtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7XHJcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmID0gZWxlbWVudFJlZjtcclxuICAgIH1cclxuXHJcbiAgICBASG9zdExpc3RlbmVyKCdrZXlwcmVzcycsIFsnJGV2ZW50J10pXHJcbiAgICBvbktleVByZXNzKGV2ZW50KSB7XHJcbiAgICAgICAgY29uc3QgZSA9IDxLZXlib2FyZEV2ZW50PmV2ZW50O1xyXG4gICAgICAgIC8vIGNvbnNvbGUubG9nKGAke3RoaXMuVEFHfSA+IG9uS2V5UHJlc3MgPiBlYCwgZSk7XHJcbiAgICAgICAgbGV0IHZhbHVlID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWU7XHJcbiAgICAgICAgdmFsdWUgPSB2YWx1ZSA9PSBudWxsIHx8IHZhbHVlID09ICcnID8gZS5rZXkgOiB2YWx1ZSArIGUua2V5O1xyXG4gICAgICAgIC8vIGNvbnNvbGUubG9nKGAke3RoaXMuVEFHfSA+IG9uS2V5UHJlc3MgPiB2YWx1ZWAsIHZhbHVlKTtcclxuICAgICAgICBpZiAoIXRoaXMubXlSZWdFeHAudGVzdCh2YWx1ZSkpIHtcclxuICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBASG9zdExpc3RlbmVyKCdwYXN0ZScsIFsnJGV2ZW50J10pXHJcbiAgICBvblBhc3RlKGV2ZW50KSB7XHJcbiAgICAgICAgY29uc3QgZSA9IDxDbGlwYm9hcmRFdmVudD5ldmVudDtcclxuICAgICAgICBjb25zb2xlLmxvZyhgJHt0aGlzLlRBR30gPiBvblBhc3RlID4gZWAsIGUpO1xyXG4gICAgICAgIGNvbnN0IHBhc3RlRGF0YSA9IGUuY2xpcGJvYXJkRGF0YS5nZXREYXRhKCd0ZXh0L3BsYWluJyk7XHJcbiAgICAgICAgY29uc29sZS5sb2coYCR7dGhpcy5UQUd9ID4gb25QYXN0ZSA+IHBhc3RlRGF0YWAsIHBhc3RlRGF0YSk7XHJcbiAgICAgICAgaWYgKCF0aGlzLm15UmVnRXhwLnRlc3QocGFzdGVEYXRhKSkge1xyXG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxufVxyXG4iXX0=