@neocomplexx/ngx-neo-directives
Version:
This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 7.0.5.
60 lines • 4.58 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: lib/strings.directive.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Directive, ElementRef, HostListener, Input } from '@angular/core';
export class StringsDirective {
/**
* @param {?} _el
*/
constructor(_el) {
this._el = _el;
this.el = this._el;
}
/**
* @param {?} e
* @return {?}
*/
onKeyDown(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;
}
/** @type {?} */
const element = this._el.nativeElement.value;
if (element && element.length >= this.maxLength) {
e.preventDefault();
}
}
}
StringsDirective.decorators = [
{ type: Directive, args: [{
// tslint:disable-next-line:directive-selector
selector: '[maxLength]'
},] }
];
/** @nocollapse */
StringsDirective.ctorParameters = () => [
{ type: ElementRef }
];
StringsDirective.propDecorators = {
maxLength: [{ type: Input }],
onKeyDown: [{ type: HostListener, args: ['keydown', ['$event'],] }]
};
if (false) {
/**
* @type {?}
* @private
*/
StringsDirective.prototype.el;
/** @type {?} */
StringsDirective.prototype.maxLength;
/**
* @type {?}
* @private
*/
StringsDirective.prototype._el;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5ncy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AbmVvY29tcGxleHgvbmd4LW5lby1kaXJlY3RpdmVzLyIsInNvdXJjZXMiOlsibGliL3N0cmluZ3MuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU0zRSxNQUFNLE9BQU8sZ0JBQWdCOzs7O0lBSXpCLFlBQW9CLEdBQWU7UUFBZixRQUFHLEdBQUgsR0FBRyxDQUFZO1FBQy9CLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUN2QixDQUFDOzs7OztJQUVvQyxTQUFTLENBQUMsQ0FBZ0I7UUFDM0QsSUFBSSxDQUFDLENBQUMsR0FBRyxLQUFLLFFBQVEsSUFBSSxDQUFDLENBQUMsR0FBRyxLQUFLLEtBQUssSUFBSSxDQUFDLENBQUMsR0FBRyxLQUFLLFdBQVcsSUFBSSxDQUFDLENBQUMsR0FBRyxLQUFLLFdBQVc7WUFDdkYsQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxHQUFHLEtBQUssTUFBTSxJQUFJLENBQUMsQ0FBQyxHQUFHLEtBQUssS0FBSyxJQUFJLENBQUMsQ0FBQyxHQUFHLEtBQUssVUFBVSxJQUFJLENBQUMsQ0FBQyxHQUFHLEtBQUssUUFBUTtZQUMxRyxDQUFDLENBQUMsR0FBRyxLQUFLLFlBQVksSUFBSSxDQUFDLENBQUMsR0FBRyxLQUFLLFNBQVMsSUFBSSxDQUFDLENBQUMsR0FBRyxLQUFLLEtBQUssSUFBSSxDQUFDLENBQUMsR0FBRyxLQUFLLE9BQU8sRUFBRTtZQUFFLE9BQU87U0FBRTs7Y0FFaEcsT0FBTyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLEtBQUs7UUFDNUMsSUFBSSxPQUFPLElBQUksT0FBTyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQzdDLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztTQUN0QjtJQUNMLENBQUM7OztZQXJCSixTQUFTLFNBQUM7O2dCQUVQLFFBQVEsRUFBRSxhQUFhO2FBQzFCOzs7O1lBTG1CLFVBQVU7Ozt3QkFRekIsS0FBSzt3QkFNTCxZQUFZLFNBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDOzs7Ozs7O0lBUG5DLDhCQUF1Qjs7SUFDdkIscUNBQXdCOzs7OztJQUVaLCtCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6ZGlyZWN0aXZlLXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICdbbWF4TGVuZ3RoXSdcbn0pXG5leHBvcnQgY2xhc3MgU3RyaW5nc0RpcmVjdGl2ZSB7XG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZjtcbiAgICBASW5wdXQoKSBtYXhMZW5ndGg6IGFueTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX2VsOiBFbGVtZW50UmVmKSB7XG4gICAgICAgIHRoaXMuZWwgPSB0aGlzLl9lbDtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSkgb25LZXlEb3duKGU6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgaWYgKGUua2V5ID09PSAnRGVsZXRlJyB8fCBlLmtleSA9PT0gJ1RhYicgfHwgZS5rZXkgPT09ICdCYWNrc3BhY2UnIHx8IGUua2V5ID09PSAnQXJyb3dMZWZ0JyB8fFxuICAgICAgICAgICAgZS5hbHRLZXkgfHwgZS5jdHJsS2V5IHx8IGUua2V5ID09PSAnSG9tZScgfHwgZS5rZXkgPT09ICdFbmQnIHx8IGUua2V5ID09PSAnUGFnZURvd24nIHx8IGUua2V5ID09PSAnUGFnZVVwJyB8fFxuICAgICAgICAgICAgZS5rZXkgPT09ICdBcnJvd1JpZ2h0JyB8fCBlLmtleSA9PT0gJ0NvbnRyb2wnIHx8IGUua2V5ID09PSAnQWx0JyB8fCBlLmtleSA9PT0gJ1NoaWZ0JykgeyByZXR1cm47IH1cblxuICAgICAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5fZWwubmF0aXZlRWxlbWVudC52YWx1ZTtcbiAgICAgICAgaWYgKGVsZW1lbnQgJiYgZWxlbWVudC5sZW5ndGggPj0gdGhpcy5tYXhMZW5ndGgpIHtcbiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==