UNPKG

@neocomplexx/ngx-neo-directives-mat

Version:
42 lines 4.72 kB
import { __decorate, __metadata } from "tslib"; import { Directive, ElementRef, HostListener, Input } from '@angular/core'; var StringsDirective = /** @class */ (function () { function StringsDirective(_el) { this._el = _el; this.el = this._el; } StringsDirective.prototype.onKeyDown = function (e) { if (e.key === 'Delete' || e.key === 'Tab' || e.key === 'Backspace' || e.key === 'ArrowLeft' || e.altKey || e.ctrlKey || e.key === 'Home' || e.key === 'End' || e.key === 'PageDown' || e.key === 'PageUp' || e.key === 'ArrowRight' || e.key === 'Control' || e.key === 'Alt' || e.key === 'Shift') { return; } var element = this._el.nativeElement.value; if (element && element.length >= this.maxLength) { e.preventDefault(); } }; StringsDirective.ctorParameters = function () { return [ { type: ElementRef } ]; }; __decorate([ Input(), __metadata("design:type", Object) ], StringsDirective.prototype, "maxLength", void 0); __decorate([ HostListener('keydown', ['$event']), __metadata("design:type", Function), __metadata("design:paramtypes", [KeyboardEvent]), __metadata("design:returntype", void 0) ], StringsDirective.prototype, "onKeyDown", null); StringsDirective = __decorate([ Directive({ // tslint:disable-next-line:directive-selector selector: '[maxLength]' }), __metadata("design:paramtypes", [ElementRef]) ], StringsDirective); return StringsDirective; }()); export { StringsDirective }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5ncy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AbmVvY29tcGxleHgvbmd4LW5lby1kaXJlY3RpdmVzLW1hdC8iLCJzb3VyY2VzIjpbImxpYi9zdHJpbmdzLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU0zRTtJQUlJLDBCQUFvQixHQUFlO1FBQWYsUUFBRyxHQUFILEdBQUcsQ0FBWTtRQUMvQixJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDdkIsQ0FBQztJQUVvQyxvQ0FBUyxHQUFULFVBQVUsQ0FBZ0I7UUFDM0QsSUFBSSxDQUFDLENBQUMsR0FBRyxLQUFLLFFBQVEsSUFBSSxDQUFDLENBQUMsR0FBRyxLQUFLLEtBQUssSUFBSSxDQUFDLENBQUMsR0FBRyxLQUFLLFdBQVcsSUFBSSxDQUFDLENBQUMsR0FBRyxLQUFLLFdBQVc7WUFDdkYsQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxHQUFHLEtBQUssTUFBTSxJQUFJLENBQUMsQ0FBQyxHQUFHLEtBQUssS0FBSyxJQUFJLENBQUMsQ0FBQyxHQUFHLEtBQUssVUFBVSxJQUFJLENBQUMsQ0FBQyxHQUFHLEtBQUssUUFBUTtZQUMxRyxDQUFDLENBQUMsR0FBRyxLQUFLLFlBQVksSUFBSSxDQUFDLENBQUMsR0FBRyxLQUFLLFNBQVMsSUFBSSxDQUFDLENBQUMsR0FBRyxLQUFLLEtBQUssSUFBSSxDQUFDLENBQUMsR0FBRyxLQUFLLE9BQU8sRUFBRTtZQUFFLE9BQU87U0FBRTtRQUV0RyxJQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUM7UUFDN0MsSUFBSSxPQUFPLElBQUksT0FBTyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQzdDLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztTQUN0QjtJQUNMLENBQUM7O2dCQWJ3QixVQUFVOztJQUYxQjtRQUFSLEtBQUssRUFBRTs7dURBQWdCO0lBTWE7UUFBcEMsWUFBWSxDQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDOzt5Q0FBYyxhQUFhOztxREFTOUQ7SUFqQlEsZ0JBQWdCO1FBSjVCLFNBQVMsQ0FBQztZQUNQLDhDQUE4QztZQUM5QyxRQUFRLEVBQUUsYUFBYTtTQUMxQixDQUFDO3lDQUsyQixVQUFVO09BSjFCLGdCQUFnQixDQWtCNUI7SUFBRCx1QkFBQztDQUFBLEFBbEJELElBa0JDO1NBbEJZLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6ZGlyZWN0aXZlLXNlbGVjdG9yXHJcbiAgICBzZWxlY3RvcjogJ1ttYXhMZW5ndGhdJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU3RyaW5nc0RpcmVjdGl2ZSB7XHJcbiAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmO1xyXG4gICAgQElucHV0KCkgbWF4TGVuZ3RoOiBhbnk7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfZWw6IEVsZW1lbnRSZWYpIHtcclxuICAgICAgICB0aGlzLmVsID0gdGhpcy5fZWw7XHJcbiAgICB9XHJcblxyXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pIG9uS2V5RG93bihlOiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICAgICAgaWYgKGUua2V5ID09PSAnRGVsZXRlJyB8fCBlLmtleSA9PT0gJ1RhYicgfHwgZS5rZXkgPT09ICdCYWNrc3BhY2UnIHx8IGUua2V5ID09PSAnQXJyb3dMZWZ0JyB8fFxyXG4gICAgICAgICAgICBlLmFsdEtleSB8fCBlLmN0cmxLZXkgfHwgZS5rZXkgPT09ICdIb21lJyB8fCBlLmtleSA9PT0gJ0VuZCcgfHwgZS5rZXkgPT09ICdQYWdlRG93bicgfHwgZS5rZXkgPT09ICdQYWdlVXAnIHx8XHJcbiAgICAgICAgICAgIGUua2V5ID09PSAnQXJyb3dSaWdodCcgfHwgZS5rZXkgPT09ICdDb250cm9sJyB8fCBlLmtleSA9PT0gJ0FsdCcgfHwgZS5rZXkgPT09ICdTaGlmdCcpIHsgcmV0dXJuOyB9XHJcblxyXG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLl9lbC5uYXRpdmVFbGVtZW50LnZhbHVlO1xyXG4gICAgICAgIGlmIChlbGVtZW50ICYmIGVsZW1lbnQubGVuZ3RoID49IHRoaXMubWF4TGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19