UNPKG

@neocomplexx/ngx-neo-directives-mat

Version:
129 lines 15.1 kB
var OnReturnDirective_1; import { __decorate, __metadata } from "tslib"; import { Directive, ElementRef, HostListener, Input } from '@angular/core'; let OnReturnDirective = OnReturnDirective_1 = class OnReturnDirective { constructor(_el) { this._el = _el; this.setEnabled = true; this.el = this._el; } onKeyDown(e) { if ((e.which === 13 || e.keyCode === 13)) { e.preventDefault(); OnReturnDirective_1.setNextFocus(this.onReturn, this.setEnabled); return; } } // tslint:disable-next-line:member-ordering static setNextFocus(onReturn, setEnabled = true) { if (onReturn instanceof Array) { let termine = false; let i = 0; while (!termine && i < onReturn.length) { let element = onReturn[i]; if (element) { if (element instanceof HTMLInputElement || element instanceof HTMLButtonElement || element instanceof HTMLSelectElement || element instanceof HTMLSelectElement) { if (!element.disabled) { element.focus(); termine = true; } } else { if (element && element.nativeElement instanceof HTMLInputElement || element.nativeElement instanceof HTMLButtonElement || element.nativeElement instanceof HTMLSelectElement) { if (!element.nativeElement.disabled) { element.nativeElement.focus(); termine = true; } } else { let input = element['ctrInput']; if (input) { input = input['nativeElement']; if (input && input instanceof HTMLInputElement) { if (!input.disabled) { input.focus(); termine = true; } } } else { element = document.getElementById(element); if (element) { if (element.disabled && setEnabled) { element.disabled = false; } if (!element.disabled) { element.focus(); termine = true; } } } } } } i++; } } else if (onReturn) { let element = onReturn; if (element instanceof HTMLInputElement || element instanceof HTMLButtonElement || element instanceof HTMLSelectElement) { if (element.disabled) { element.disabled = false; } element.focus(); } else { let input = element['ctrInput']; if (input) { input = input['nativeElement']; if (input && input instanceof HTMLInputElement) { if (input.disabled) { input.disabled = false; } input.focus(); } } else { element = document.getElementById(onReturn); if (element) { if (element.disabled && setEnabled) { element.disabled = false; } element.focus(); } } } } } }; OnReturnDirective.ctorParameters = () => [ { type: ElementRef } ]; __decorate([ Input(), __metadata("design:type", Object) ], OnReturnDirective.prototype, "onReturn", void 0); __decorate([ Input(), __metadata("design:type", Object) ], OnReturnDirective.prototype, "setEnabled", void 0); __decorate([ HostListener('keydown', ['$event']), __metadata("design:type", Function), __metadata("design:paramtypes", [Object]), __metadata("design:returntype", void 0) ], OnReturnDirective.prototype, "onKeyDown", null); OnReturnDirective = OnReturnDirective_1 = __decorate([ Directive({ // tslint:disable-next-line:directive-selector selector: '[onReturn]' }), __metadata("design:paramtypes", [ElementRef]) ], OnReturnDirective); export { OnReturnDirective }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25SZXR1cm4uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5lb2NvbXBsZXh4L25neC1uZW8tZGlyZWN0aXZlcy1tYXQvIiwic291cmNlcyI6WyJsaWIvb25SZXR1cm4uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUszRSxJQUFhLGlCQUFpQix5QkFBOUIsTUFBYSxpQkFBaUI7SUFLMUIsWUFBb0IsR0FBZTtRQUFmLFFBQUcsR0FBSCxHQUFHLENBQVk7UUFGMUIsZUFBVSxHQUFHLElBQUksQ0FBQztRQUd2QixJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDdkIsQ0FBQztJQUVvQyxTQUFTLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLE9BQU8sS0FBSyxFQUFFLENBQUMsRUFBRTtZQUN0QyxDQUFDLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDbkIsbUJBQWlCLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQy9ELE9BQU87U0FDVjtJQUNMLENBQUM7SUFFRCwyQ0FBMkM7SUFDcEMsTUFBTSxDQUFDLFlBQVksQ0FBQyxRQUFhLEVBQUUsVUFBVSxHQUFHLElBQUk7UUFDdkQsSUFBSSxRQUFRLFlBQVksS0FBSyxFQUFFO1lBQzNCLElBQUksT0FBTyxHQUFHLEtBQUssQ0FBQztZQUNwQixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDVixPQUFPLENBQUMsT0FBTyxJQUFJLENBQUMsR0FBRyxRQUFRLENBQUMsTUFBTSxFQUFFO2dCQUNwQyxJQUFJLE9BQU8sR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzFCLElBQUks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QkFDSjthQUNKO1NBQ0o7SUFDTCxDQUFDO0NBQ0osQ0FBQTs7WUF2RjRCLFVBQVU7O0FBSDFCO0lBQVIsS0FBSyxFQUFFOzttREFBZTtBQUNkO0lBQVIsS0FBSyxFQUFFOztxREFBbUI7QUFNVTtJQUFwQyxZQUFZLENBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7Ozs7a0RBTW5DO0FBZlEsaUJBQWlCO0lBSjdCLFNBQVMsQ0FBQztRQUNQLDhDQUE4QztRQUM5QyxRQUFRLEVBQUUsWUFBWTtLQUN6QixDQUFDO3FDQU0yQixVQUFVO0dBTDFCLGlCQUFpQixDQTRGN0I7U0E1RlksaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbkBEaXJlY3RpdmUoe1xyXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmRpcmVjdGl2ZS1zZWxlY3RvclxyXG4gICAgc2VsZWN0b3I6ICdbb25SZXR1cm5dJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgT25SZXR1cm5EaXJlY3RpdmUge1xyXG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZjtcclxuICAgIEBJbnB1dCgpIG9uUmV0dXJuOiBhbnk7XHJcbiAgICBASW5wdXQoKSBzZXRFbmFibGVkID0gdHJ1ZTtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9lbDogRWxlbWVudFJlZikge1xyXG4gICAgICAgIHRoaXMuZWwgPSB0aGlzLl9lbDtcclxuICAgIH1cclxuXHJcbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSkgb25LZXlEb3duKGUpIHtcclxuICAgICAgICBpZiAoKGUud2hpY2ggPT09IDEzIHx8IGUua2V5Q29kZSA9PT0gMTMpKSB7XHJcbiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICAgICAgT25SZXR1cm5EaXJlY3RpdmUuc2V0TmV4dEZvY3VzKHRoaXMub25SZXR1cm4sIHRoaXMuc2V0RW5hYmxlZCk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm1lbWJlci1vcmRlcmluZ1xyXG4gICAgcHVibGljIHN0YXRpYyBzZXROZXh0Rm9jdXMob25SZXR1cm46IGFueSwgc2V0RW5hYmxlZCA9IHRydWUpOiB2b2lkIHtcclxuICAgICAgICBpZiAob25SZXR1cm4gaW5zdGFuY2VvZiBBcnJheSkge1xyXG4gICAgICAgICAgICBsZXQgdGVybWluZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICBsZXQgaSA9IDA7XHJcbiAgICAgICAgICAgIHdoaWxlICghdGVybWluZSAmJiBpIDwgb25SZXR1cm4ubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgZWxlbWVudCA9IG9uUmV0dXJuW2ldO1xyXG4gICAgICAgICAgICAgICAgaWYgKGVsZW1lbnQpIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoZWxlbWVudCBpbnN0YW5jZW9mIEhUTUxJbnB1dEVsZW1lbnQgfHxcclxuICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudCBpbnN0YW5jZW9mIEhUTUxCdXR0b25FbGVtZW50IHx8XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQgaW5zdGFuY2VvZiBIVE1MU2VsZWN0RWxlbWVudCB8fFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50IGluc3RhbmNlb2YgSFRNTFNlbGVjdEVsZW1lbnQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFlbGVtZW50LmRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmZvY3VzKCk7IHRlcm1pbmUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVsZW1lbnQgJiYgZWxlbWVudC5uYXRpdmVFbGVtZW50IGluc3RhbmNlb2YgSFRNTElucHV0RWxlbWVudCB8fFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5uYXRpdmVFbGVtZW50IGluc3RhbmNlb2YgSFRNTEJ1dHRvbkVsZW1lbnQgfHxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQubmF0aXZlRWxlbWVudCBpbnN0YW5jZW9mIEhUTUxTZWxlY3RFbGVtZW50KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWVsZW1lbnQubmF0aXZlRWxlbWVudC5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQubmF0aXZlRWxlbWVudC5mb2N1cygpOyB0ZXJtaW5lID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBpbnB1dCA9IGVsZW1lbnRbJ2N0cklucHV0J107XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaW5wdXQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnB1dCA9IGlucHV0WyduYXRpdmVFbGVtZW50J107XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlucHV0ICYmIGlucHV0IGluc3RhbmNlb2YgSFRNTElucHV0RWxlbWVudCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWlucHV0LmRpc2FibGVkKSB7IGlucHV0LmZvY3VzKCk7IHRlcm1pbmUgPSB0cnVlOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZWxlbWVudCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVsZW1lbnQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVsZW1lbnQuZGlzYWJsZWQgJiYgc2V0RW5hYmxlZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5kaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghZWxlbWVudC5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5mb2N1cygpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVybWluZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBpKys7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2UgaWYgKG9uUmV0dXJuKSB7XHJcbiAgICAgICAgICAgIGxldCBlbGVtZW50ID0gb25SZXR1cm47XHJcbiAgICAgICAgICAgIGlmIChlbGVtZW50IGluc3RhbmNlb2YgSFRNTElucHV0RWxlbWVudCB8fCBlbGVtZW50IGluc3RhbmNlb2YgSFRNTEJ1dHRvbkVsZW1lbnQgfHwgZWxlbWVudCBpbnN0YW5jZW9mIEhUTUxTZWxlY3RFbGVtZW50KSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoZWxlbWVudC5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuZGlzYWJsZWQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsZW1lbnQuZm9jdXMoKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGxldCBpbnB1dCA9IGVsZW1lbnRbJ2N0cklucHV0J107XHJcbiAgICAgICAgICAgICAgICBpZiAoaW5wdXQpIHtcclxuICAgICAgICAgICAgICAgICAgICBpbnB1dCA9IGlucHV0WyduYXRpdmVFbGVtZW50J107XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGlucHV0ICYmIGlucHV0IGluc3RhbmNlb2YgSFRNTElucHV0RWxlbWVudCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoaW5wdXQuZGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0LmRpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXQuZm9jdXMoKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChvblJldHVybik7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGVsZW1lbnQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVsZW1lbnQuZGlzYWJsZWQgJiYgc2V0RW5hYmxlZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5kaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuZm9jdXMoKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19