UNPKG

@neocomplexx/ngx-neo-directives

Version:

This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 7.0.5.

98 lines 7.05 kB
/** * @fileoverview added by tsickle * Generated from: lib/neo-autofocus.directive.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Directive, ElementRef, Input } from '@angular/core'; import { timer } from 'rxjs'; export class NeoAutofocusDirective { /** * @param {?} el */ constructor(el) { this.el = el; } /** * @return {?} */ ngOnInit() { } /** * @return {?} */ ngAfterViewInit() { this.subscription = timer(100).subscribe((/** * @return {?} */ () => { if (this.neoAutofocus) { this.setFocus(); } this.subscription.unsubscribe(); })); } /** * @private * @return {?} */ setFocus() { if (this.el) { if (this.el instanceof HTMLInputElement || this.el instanceof HTMLButtonElement || this.el instanceof HTMLSelectElement || this.el instanceof HTMLSelectElement) { if (!this.el.disabled) { this.el.focus(); } } else { if (this.el && this.el.nativeElement instanceof HTMLInputElement || this.el.nativeElement instanceof HTMLButtonElement || this.el.nativeElement instanceof HTMLSelectElement) { if (!this.el.nativeElement.disabled) { this.el.nativeElement.focus(); } } else { /** @type {?} */ let input = this.el['ctrInput']; if (input) { input = input['nativeElement']; if (input && input instanceof HTMLInputElement) { if (!input.disabled) { input.focus(); } } } } } } } } NeoAutofocusDirective.decorators = [ { type: Directive, args: [{ selector: '[neoAutofocus]' },] } ]; /** @nocollapse */ NeoAutofocusDirective.ctorParameters = () => [ { type: ElementRef } ]; NeoAutofocusDirective.propDecorators = { neoAutofocus: [{ type: Input, args: ['neoAutofocus',] }] }; if (false) { /** @type {?} */ NeoAutofocusDirective.prototype.neoAutofocus; /** * @type {?} * @private */ NeoAutofocusDirective.prototype.subscription; /** * @type {?} * @private */ NeoAutofocusDirective.prototype.el; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVvLWF1dG9mb2N1cy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AbmVvY29tcGxleHgvbmd4LW5lby1kaXJlY3RpdmVzLyIsInNvdXJjZXMiOlsibGliL25lby1hdXRvZm9jdXMuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQXlCLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRixPQUFPLEVBQWdCLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUszQyxNQUFNLE9BQU8scUJBQXFCOzs7O0lBTWhDLFlBQW9CLEVBQWM7UUFBZCxPQUFFLEdBQUYsRUFBRSxDQUFZO0lBQ2xDLENBQUM7Ozs7SUFFRCxRQUFRO0lBRVIsQ0FBQzs7OztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTOzs7UUFBQyxHQUFHLEVBQUU7WUFDNUMsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO2dCQUNyQixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7YUFDakI7WUFDRCxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2xDLENBQUMsRUFBQyxDQUFDO0lBQ0wsQ0FBQzs7Ozs7SUFFTyxRQUFRO1FBQ2QsSUFBSSxJQUFJLENBQUMsRUFBRSxFQUFFO1lBQ1gsSUFBSSxJQUFJLENBQUMsRUFBRSxZQUFZLGdCQUFnQjtnQkFDckMsSUFBSSxDQUFDLEVBQUUsWUFBWSxpQkFBaUI7Z0JBQ3BDLElBQUksQ0FBQyxFQUFFLFlBQVksaUJBQWlCO2dCQUNwQyxJQUFJLENBQUMsRUFBRSxZQUFZLGlCQUFpQixFQUFFO2dCQUN0QyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUU7b0JBQ3JCLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUM7aUJBQ2pCO2FBQ0Y7aUJBQU07Z0JBQ0wsSUFBSSxJQUFJLENBQUMsRUFBRSxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxZQUFZLGdCQUFnQjtvQkFDOUQsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLFlBQVksaUJBQWlCO29CQUNsRCxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsWUFBWSxpQkFBaUIsRUFBRTtvQkFDcEQsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRTt3QkFDbkMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7cUJBQy9CO2lCQUNGO3FCQUFNOzt3QkFDRCxLQUFLLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUM7b0JBQy9CLElBQUksS0FBSyxFQUFFO3dCQUNULEtBQUssR0FBRyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7d0JBQy9CLElBQUksS0FBSyxJQUFJLEtBQUssWUFBWSxnQkFBZ0IsRUFBRTs0QkFDOUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUU7Z0NBQUUsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDOzZCQUFFO3lCQUN4QztxQkFDRjtpQkFDRjthQUNGO1NBQ0Y7SUFDSCxDQUFDOzs7WUFwREYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxnQkFBZ0I7YUFDM0I7Ozs7WUFMbUIsVUFBVTs7OzJCQVEzQixLQUFLLFNBQUMsY0FBYzs7OztJQUFyQiw2Q0FBNkM7Ozs7O0lBRTdDLDZDQUFtQzs7Ozs7SUFFdkIsbUNBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBPbkluaXQsIEFmdGVyVmlld0luaXQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24sIHRpbWVyIH0gZnJvbSAncnhqcyc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tuZW9BdXRvZm9jdXNdJ1xufSlcbmV4cG9ydCBjbGFzcyBOZW9BdXRvZm9jdXNEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuXG4gIEBJbnB1dCgnbmVvQXV0b2ZvY3VzJykgbmVvQXV0b2ZvY3VzOiBib29sZWFuO1xuXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZikge1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG5cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IHRpbWVyKDEwMCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIGlmICh0aGlzLm5lb0F1dG9mb2N1cykge1xuICAgICAgICB0aGlzLnNldEZvY3VzKCk7XG4gICAgICB9XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRGb2N1cygpIHtcbiAgICBpZiAodGhpcy5lbCkge1xuICAgICAgaWYgKHRoaXMuZWwgaW5zdGFuY2VvZiBIVE1MSW5wdXRFbGVtZW50IHx8XG4gICAgICAgIHRoaXMuZWwgaW5zdGFuY2VvZiBIVE1MQnV0dG9uRWxlbWVudCB8fFxuICAgICAgICB0aGlzLmVsIGluc3RhbmNlb2YgSFRNTFNlbGVjdEVsZW1lbnQgfHxcbiAgICAgICAgdGhpcy5lbCBpbnN0YW5jZW9mIEhUTUxTZWxlY3RFbGVtZW50KSB7XG4gICAgICAgIGlmICghdGhpcy5lbC5kaXNhYmxlZCkge1xuICAgICAgICAgIHRoaXMuZWwuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHRoaXMuZWwgJiYgdGhpcy5lbC5uYXRpdmVFbGVtZW50IGluc3RhbmNlb2YgSFRNTElucHV0RWxlbWVudCB8fFxuICAgICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudCBpbnN0YW5jZW9mIEhUTUxCdXR0b25FbGVtZW50IHx8XG4gICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50IGluc3RhbmNlb2YgSFRNTFNlbGVjdEVsZW1lbnQpIHtcbiAgICAgICAgICBpZiAoIXRoaXMuZWwubmF0aXZlRWxlbWVudC5kaXNhYmxlZCkge1xuICAgICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGxldCBpbnB1dCA9IHRoaXMuZWxbJ2N0cklucHV0J107XG4gICAgICAgICAgaWYgKGlucHV0KSB7XG4gICAgICAgICAgICBpbnB1dCA9IGlucHV0WyduYXRpdmVFbGVtZW50J107XG4gICAgICAgICAgICBpZiAoaW5wdXQgJiYgaW5wdXQgaW5zdGFuY2VvZiBIVE1MSW5wdXRFbGVtZW50KSB7XG4gICAgICAgICAgICAgIGlmICghaW5wdXQuZGlzYWJsZWQpIHsgaW5wdXQuZm9jdXMoKTsgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG59XG4iXX0=