UNPKG

@neocomplexx/ngx-neo-directives-mat

Version:
65 lines 6.79 kB
import { __decorate, __metadata } from "tslib"; import { Directive, ElementRef, Input } from '@angular/core'; import { timer } from 'rxjs'; let NeoAutofocusDirective = class NeoAutofocusDirective { constructor(el) { this.el = el; } ngOnInit() { } ngAfterViewInit() { this.subscription = timer(100).subscribe(() => { if (this.neoAutofocus) { this.setFocus(); } this.subscription.unsubscribe(); }); } 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 { let input = this.el['ctrInput']; if (input) { input = input['nativeElement']; if (input && input instanceof HTMLInputElement) { if (!input.disabled) { input.focus(); } } } } } } } }; NeoAutofocusDirective.ctorParameters = () => [ { type: ElementRef } ]; __decorate([ Input('neoAutofocus'), __metadata("design:type", Boolean) ], NeoAutofocusDirective.prototype, "neoAutofocus", void 0); NeoAutofocusDirective = __decorate([ Directive({ selector: '[neoAutofocus]' }), __metadata("design:paramtypes", [ElementRef]) ], NeoAutofocusDirective); export { NeoAutofocusDirective }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVvLWF1dG9mb2N1cy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AbmVvY29tcGxleHgvbmd4LW5lby1kaXJlY3RpdmVzLW1hdC8iLCJzb3VyY2VzIjpbImxpYi9uZW8tYXV0b2ZvY3VzLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBZ0IsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSzNDLElBQWEscUJBQXFCLEdBQWxDLE1BQWEscUJBQXFCO0lBTWhDLFlBQW9CLEVBQWM7UUFBZCxPQUFFLEdBQUYsRUFBRSxDQUFZO0lBQ2xDLENBQUM7SUFFRCxRQUFRO0lBRVIsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQzVDLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtnQkFDckIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO2FBQ2pCO1lBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNsQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxRQUFRO1FBQ2QsSUFBSSxJQUFJLENBQUMsRUFBRSxFQUFFO1lBQ1gsSUFBSSxJQUFJLENBQUMsRUFBRSxZQUFZLGdCQUFnQjtnQkFDckMsSUFBSSxDQUFDLEVBQUUsWUFBWSxpQkFBaUI7Z0JBQ3BDLElBQUksQ0FBQyxFQUFFLFlBQVksaUJBQWlCO2dCQUNwQyxJQUFJLENBQUMsRUFBRSxZQUFZLGlCQUFpQixFQUFFO2dCQUN0QyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUU7b0JBQ3JCLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUM7aUJBQ2pCO2FBQ0Y7aUJBQU07Z0JBQ0wsSUFBSSxJQUFJLENBQUMsRUFBRSxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxZQUFZLGdCQUFnQjtvQkFDOUQsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLFlBQVksaUJBQWlCO29CQUNsRCxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsWUFBWSxpQkFBaUIsRUFBRTtvQkFDcEQsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRTt3QkFDbkMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7cUJBQy9CO2lCQUNGO3FCQUFNO29CQUNMLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUM7b0JBQ2hDLElBQUksS0FBSyxFQUFFO3dCQUNULEtBQUssR0FBRyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7d0JBQy9CLElBQUksS0FBSyxJQUFJLEtBQUssWUFBWSxnQkFBZ0IsRUFBRTs0QkFDOUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUU7Z0NBQUUsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDOzZCQUFFO3lCQUN4QztxQkFDRjtpQkFDRjthQUNGO1NBQ0Y7SUFDSCxDQUFDO0NBRUYsQ0FBQTs7WUE3Q3lCLFVBQVU7O0FBSlg7SUFBdEIsS0FBSyxDQUFDLGNBQWMsQ0FBQzs7MkRBQXVCO0FBRmxDLHFCQUFxQjtJQUhqQyxTQUFTLENBQUM7UUFDVCxRQUFRLEVBQUUsZ0JBQWdCO0tBQzNCLENBQUM7cUNBT3dCLFVBQVU7R0FOdkIscUJBQXFCLENBbURqQztTQW5EWSxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24sIHRpbWVyIH0gZnJvbSAncnhqcyc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tuZW9BdXRvZm9jdXNdJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTmVvQXV0b2ZvY3VzRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcclxuXHJcbiAgQElucHV0KCduZW9BdXRvZm9jdXMnKSBuZW9BdXRvZm9jdXM6IGJvb2xlYW47XHJcblxyXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYpIHtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG5cclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gdGltZXIoMTAwKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5uZW9BdXRvZm9jdXMpIHtcclxuICAgICAgICB0aGlzLnNldEZvY3VzKCk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRGb2N1cygpIHtcclxuICAgIGlmICh0aGlzLmVsKSB7XHJcbiAgICAgIGlmICh0aGlzLmVsIGluc3RhbmNlb2YgSFRNTElucHV0RWxlbWVudCB8fFxyXG4gICAgICAgIHRoaXMuZWwgaW5zdGFuY2VvZiBIVE1MQnV0dG9uRWxlbWVudCB8fFxyXG4gICAgICAgIHRoaXMuZWwgaW5zdGFuY2VvZiBIVE1MU2VsZWN0RWxlbWVudCB8fFxyXG4gICAgICAgIHRoaXMuZWwgaW5zdGFuY2VvZiBIVE1MU2VsZWN0RWxlbWVudCkge1xyXG4gICAgICAgIGlmICghdGhpcy5lbC5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgdGhpcy5lbC5mb2N1cygpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpZiAodGhpcy5lbCAmJiB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQgaW5zdGFuY2VvZiBIVE1MSW5wdXRFbGVtZW50IHx8XHJcbiAgICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQgaW5zdGFuY2VvZiBIVE1MQnV0dG9uRWxlbWVudCB8fFxyXG4gICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50IGluc3RhbmNlb2YgSFRNTFNlbGVjdEVsZW1lbnQpIHtcclxuICAgICAgICAgIGlmICghdGhpcy5lbC5uYXRpdmVFbGVtZW50LmRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBsZXQgaW5wdXQgPSB0aGlzLmVsWydjdHJJbnB1dCddO1xyXG4gICAgICAgICAgaWYgKGlucHV0KSB7XHJcbiAgICAgICAgICAgIGlucHV0ID0gaW5wdXRbJ25hdGl2ZUVsZW1lbnQnXTtcclxuICAgICAgICAgICAgaWYgKGlucHV0ICYmIGlucHV0IGluc3RhbmNlb2YgSFRNTElucHV0RWxlbWVudCkge1xyXG4gICAgICAgICAgICAgIGlmICghaW5wdXQuZGlzYWJsZWQpIHsgaW5wdXQuZm9jdXMoKTsgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=