ngx-edu-components
Version:
Set of extra angular material components.
68 lines • 5.67 kB
JavaScript
/**
* @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=