@neocomplexx/ngx-neo-directives-mat
Version:
65 lines • 6.79 kB
JavaScript
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=