@neocomplexx/ngx-neo-directives-mat
Version:
67 lines • 7.1 kB
JavaScript
import { __decorate, __metadata } from "tslib";
import { Directive, ElementRef, Input } from '@angular/core';
import { timer } from 'rxjs';
var NeoAutofocusDirective = /** @class */ (function () {
function NeoAutofocusDirective(el) {
this.el = el;
}
NeoAutofocusDirective.prototype.ngOnInit = function () {
};
NeoAutofocusDirective.prototype.ngAfterViewInit = function () {
var _this = this;
this.subscription = timer(100).subscribe(function () {
if (_this.neoAutofocus) {
_this.setFocus();
}
_this.subscription.unsubscribe();
});
};
NeoAutofocusDirective.prototype.setFocus = function () {
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 {
var input = this.el['ctrInput'];
if (input) {
input = input['nativeElement'];
if (input && input instanceof HTMLInputElement) {
if (!input.disabled) {
input.focus();
}
}
}
}
}
}
};
NeoAutofocusDirective.ctorParameters = function () { return [
{ type: ElementRef }
]; };
__decorate([
Input('neoAutofocus'),
__metadata("design:type", Boolean)
], NeoAutofocusDirective.prototype, "neoAutofocus", void 0);
NeoAutofocusDirective = __decorate([
Directive({
selector: '[neoAutofocus]'
}),
__metadata("design:paramtypes", [ElementRef])
], NeoAutofocusDirective);
return NeoAutofocusDirective;
}());
export { NeoAutofocusDirective };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVvLWF1dG9mb2N1cy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AbmVvY29tcGxleHgvbmd4LW5lby1kaXJlY3RpdmVzLW1hdC8iLCJzb3VyY2VzIjpbImxpYi9uZW8tYXV0b2ZvY3VzLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBZ0IsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSzNDO0lBTUUsK0JBQW9CLEVBQWM7UUFBZCxPQUFFLEdBQUYsRUFBRSxDQUFZO0lBQ2xDLENBQUM7SUFFRCx3Q0FBUSxHQUFSO0lBRUEsQ0FBQztJQUVELCtDQUFlLEdBQWY7UUFBQSxpQkFPQztRQU5DLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUN2QyxJQUFJLEtBQUksQ0FBQyxZQUFZLEVBQUU7Z0JBQ3JCLEtBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQzthQUNqQjtZQUNELEtBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sd0NBQVEsR0FBaEI7UUFDRSxJQUFJLElBQUksQ0FBQyxFQUFFLEVBQUU7WUFDWCxJQUFJLElBQUksQ0FBQyxFQUFFLFlBQVksZ0JBQWdCO2dCQUNyQyxJQUFJLENBQUMsRUFBRSxZQUFZLGlCQUFpQjtnQkFDcEMsSUFBSSxDQUFDLEVBQUUsWUFBWSxpQkFBaUI7Z0JBQ3BDLElBQUksQ0FBQyxFQUFFLFlBQVksaUJBQWlCLEVBQUU7Z0JBQ3RDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRTtvQkFDckIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztpQkFDakI7YUFDRjtpQkFBTTtnQkFDTCxJQUFJLElBQUksQ0FBQyxFQUFFLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLFlBQVksZ0JBQWdCO29CQUM5RCxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsWUFBWSxpQkFBaUI7b0JBQ2xELElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxZQUFZLGlCQUFpQixFQUFFO29CQUNwRCxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFO3dCQUNuQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztxQkFDL0I7aUJBQ0Y7cUJBQU07b0JBQ0wsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQztvQkFDaEMsSUFBSSxLQUFLLEVBQUU7d0JBQ1QsS0FBSyxHQUFHLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQzt3QkFDL0IsSUFBSSxLQUFLLElBQUksS0FBSyxZQUFZLGdCQUFnQixFQUFFOzRCQUM5QyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRTtnQ0FBRSxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7NkJBQUU7eUJBQ3hDO3FCQUNGO2lCQUNGO2FBQ0Y7U0FDRjtJQUNILENBQUM7O2dCQTNDdUIsVUFBVTs7SUFKWDtRQUF0QixLQUFLLENBQUMsY0FBYyxDQUFDOzsrREFBdUI7SUFGbEMscUJBQXFCO1FBSGpDLFNBQVMsQ0FBQztZQUNULFFBQVEsRUFBRSxnQkFBZ0I7U0FDM0IsQ0FBQzt5Q0FPd0IsVUFBVTtPQU52QixxQkFBcUIsQ0FtRGpDO0lBQUQsNEJBQUM7Q0FBQSxBQW5ERCxJQW1EQztTQW5EWSxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24sIHRpbWVyIH0gZnJvbSAncnhqcyc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tuZW9BdXRvZm9jdXNdJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTmVvQXV0b2ZvY3VzRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcclxuXHJcbiAgQElucHV0KCduZW9BdXRvZm9jdXMnKSBuZW9BdXRvZm9jdXM6IGJvb2xlYW47XHJcblxyXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYpIHtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG5cclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gdGltZXIoMTAwKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5uZW9BdXRvZm9jdXMpIHtcclxuICAgICAgICB0aGlzLnNldEZvY3VzKCk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRGb2N1cygpIHtcclxuICAgIGlmICh0aGlzLmVsKSB7XHJcbiAgICAgIGlmICh0aGlzLmVsIGluc3RhbmNlb2YgSFRNTElucHV0RWxlbWVudCB8fFxyXG4gICAgICAgIHRoaXMuZWwgaW5zdGFuY2VvZiBIVE1MQnV0dG9uRWxlbWVudCB8fFxyXG4gICAgICAgIHRoaXMuZWwgaW5zdGFuY2VvZiBIVE1MU2VsZWN0RWxlbWVudCB8fFxyXG4gICAgICAgIHRoaXMuZWwgaW5zdGFuY2VvZiBIVE1MU2VsZWN0RWxlbWVudCkge1xyXG4gICAgICAgIGlmICghdGhpcy5lbC5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgdGhpcy5lbC5mb2N1cygpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpZiAodGhpcy5lbCAmJiB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQgaW5zdGFuY2VvZiBIVE1MSW5wdXRFbGVtZW50IHx8XHJcbiAgICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQgaW5zdGFuY2VvZiBIVE1MQnV0dG9uRWxlbWVudCB8fFxyXG4gICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50IGluc3RhbmNlb2YgSFRNTFNlbGVjdEVsZW1lbnQpIHtcclxuICAgICAgICAgIGlmICghdGhpcy5lbC5uYXRpdmVFbGVtZW50LmRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBsZXQgaW5wdXQgPSB0aGlzLmVsWydjdHJJbnB1dCddO1xyXG4gICAgICAgICAgaWYgKGlucHV0KSB7XHJcbiAgICAgICAgICAgIGlucHV0ID0gaW5wdXRbJ25hdGl2ZUVsZW1lbnQnXTtcclxuICAgICAgICAgICAgaWYgKGlucHV0ICYmIGlucHV0IGluc3RhbmNlb2YgSFRNTElucHV0RWxlbWVudCkge1xyXG4gICAgICAgICAgICAgIGlmICghaW5wdXQuZGlzYWJsZWQpIHsgaW5wdXQuZm9jdXMoKTsgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=