@neocomplexx/ngx-neo-directives
Version:
This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 7.0.5.
168 lines • 15.5 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: lib/onReturn.directive.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Directive, ElementRef, HostListener, Input } from '@angular/core';
var OnReturnDirective = /** @class */ (function () {
function OnReturnDirective(_el) {
this._el = _el;
this.setEnabled = true;
this.el = this._el;
}
/**
* @param {?} e
* @return {?}
*/
OnReturnDirective.prototype.onKeyDown = /**
* @param {?} e
* @return {?}
*/
function (e) {
if ((e.which === 13 || e.keyCode === 13)) {
e.preventDefault();
OnReturnDirective.setNextFocus(this.onReturn, this.setEnabled);
return;
}
};
// tslint:disable-next-line:member-ordering
// tslint:disable-next-line:member-ordering
/**
* @param {?} onReturn
* @param {?=} setEnabled
* @return {?}
*/
OnReturnDirective.setNextFocus =
// tslint:disable-next-line:member-ordering
/**
* @param {?} onReturn
* @param {?=} setEnabled
* @return {?}
*/
function (onReturn, setEnabled) {
if (setEnabled === void 0) { setEnabled = true; }
if (onReturn instanceof Array) {
/** @type {?} */
var termine = false;
/** @type {?} */
var i = 0;
while (!termine && i < onReturn.length) {
/** @type {?} */
var 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 {
/** @type {?} */
var 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) {
/** @type {?} */
var element = onReturn;
if (element instanceof HTMLInputElement || element instanceof HTMLButtonElement || element instanceof HTMLSelectElement) {
if (element.disabled) {
element.disabled = false;
}
element.focus();
}
else {
/** @type {?} */
var 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.decorators = [
{ type: Directive, args: [{
// tslint:disable-next-line:directive-selector
selector: '[onReturn]'
},] }
];
/** @nocollapse */
OnReturnDirective.ctorParameters = function () { return [
{ type: ElementRef }
]; };
OnReturnDirective.propDecorators = {
onReturn: [{ type: Input }],
setEnabled: [{ type: Input }],
onKeyDown: [{ type: HostListener, args: ['keydown', ['$event'],] }]
};
return OnReturnDirective;
}());
export { OnReturnDirective };
if (false) {
/**
* @type {?}
* @private
*/
OnReturnDirective.prototype.el;
/** @type {?} */
OnReturnDirective.prototype.onReturn;
/** @type {?} */
OnReturnDirective.prototype.setEnabled;
/**
* @type {?}
* @private
*/
OnReturnDirective.prototype._el;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25SZXR1cm4uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5lb2NvbXBsZXh4L25neC1uZW8tZGlyZWN0aXZlcy8iLCJzb3VyY2VzIjpbImxpYi9vblJldHVybi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNFO0lBU0ksMkJBQW9CLEdBQWU7UUFBZixRQUFHLEdBQUgsR0FBRyxDQUFZO1FBRjFCLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFHdkIsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQ3ZCLENBQUM7Ozs7O0lBRW9DLHFDQUFTOzs7O0lBQTlDLFVBQStDLENBQUM7UUFDNUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxPQUFPLEtBQUssRUFBRSxDQUFDLEVBQUU7WUFDdEMsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ25CLGlCQUFpQixDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUMvRCxPQUFPO1NBQ1Y7SUFDTCxDQUFDO0lBRUQsMkNBQTJDOzs7Ozs7O0lBQzdCLDhCQUFZOzs7Ozs7O0lBQTFCLFVBQTJCLFFBQWEsRUFBRSxVQUFpQjtRQUFqQiwyQkFBQSxFQUFBLGlCQUFpQjtRQUN2RCxJQUFJLFFBQVEsWUFBWSxLQUFLLEVBQUU7O2dCQUN2QixPQUFPLEdBQUcsS0FBSzs7Z0JBQ2YsQ0FBQyxHQUFHLENBQUM7WUFDVCxPQUFPLENBQUMsT0FBTyxJQUFJLENBQUMsR0FBRyxRQUFRLENBQUMsTUFBTSxFQUFFOztvQkFDaEMsT0FBTyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUM7Z0JBQ3pCLElBQUksT0FBTyxFQUFFO29CQUNULElB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QkFFUCxRQUFRLEVBQUUsWUFBWTtpQkFDekI7Ozs7Z0JBSm1CLFVBQVU7OzsyQkFPekIsS0FBSzs2QkFDTCxLQUFLOzRCQU1MLFlBQVksU0FBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUM7O0lBbUZ2Qyx3QkFBQztDQUFBLEFBaEdELElBZ0dDO1NBNUZZLGlCQUFpQjs7Ozs7O0lBQzFCLCtCQUF1Qjs7SUFDdkIscUNBQXVCOztJQUN2Qix1Q0FBMkI7Ozs7O0lBRWYsZ0NBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5ARGlyZWN0aXZlKHtcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6ZGlyZWN0aXZlLXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICdbb25SZXR1cm5dJ1xufSlcbmV4cG9ydCBjbGFzcyBPblJldHVybkRpcmVjdGl2ZSB7XG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZjtcbiAgICBASW5wdXQoKSBvblJldHVybjogYW55O1xuICAgIEBJbnB1dCgpIHNldEVuYWJsZWQgPSB0cnVlO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfZWw6IEVsZW1lbnRSZWYpIHtcbiAgICAgICAgdGhpcy5lbCA9IHRoaXMuX2VsO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKSBvbktleURvd24oZSkge1xuICAgICAgICBpZiAoKGUud2hpY2ggPT09IDEzIHx8IGUua2V5Q29kZSA9PT0gMTMpKSB7XG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBPblJldHVybkRpcmVjdGl2ZS5zZXROZXh0Rm9jdXModGhpcy5vblJldHVybiwgdGhpcy5zZXRFbmFibGVkKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTptZW1iZXItb3JkZXJpbmdcbiAgICBwdWJsaWMgc3RhdGljIHNldE5leHRGb2N1cyhvblJldHVybjogYW55LCBzZXRFbmFibGVkID0gdHJ1ZSk6IHZvaWQge1xuICAgICAgICBpZiAob25SZXR1cm4gaW5zdGFuY2VvZiBBcnJheSkge1xuICAgICAgICAgICAgbGV0IHRlcm1pbmUgPSBmYWxzZTtcbiAgICAgICAgICAgIGxldCBpID0gMDtcbiAgICAgICAgICAgIHdoaWxlICghdGVybWluZSAmJiBpIDwgb25SZXR1cm4ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgbGV0IGVsZW1lbnQgPSBvblJldHVybltpXTtcbiAgICAgICAgICAgICAgICBpZiAoZWxlbWVudCkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoZWxlbWVudCBpbnN0YW5jZW9mIEhUTUxJbnB1dEVsZW1lbnQgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQgaW5zdGFuY2VvZiBIVE1MQnV0dG9uRWxlbWVudCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudCBpbnN0YW5jZW9mIEhUTUxTZWxlY3RFbGVtZW50IHx8XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50IGluc3RhbmNlb2YgSFRNTFNlbGVjdEVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghZWxlbWVudC5kaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuZm9jdXMoKTsgdGVybWluZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZWxlbWVudCAmJiBlbGVtZW50Lm5hdGl2ZUVsZW1lbnQgaW5zdGFuY2VvZiBIVE1MSW5wdXRFbGVtZW50IHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5uYXRpdmVFbGVtZW50IGluc3RhbmNlb2YgSFRNTEJ1dHRvbkVsZW1lbnQgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50Lm5hdGl2ZUVsZW1lbnQgaW5zdGFuY2VvZiBIVE1MU2VsZWN0RWxlbWVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghZWxlbWVudC5uYXRpdmVFbGVtZW50LmRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQubmF0aXZlRWxlbWVudC5mb2N1cygpOyB0ZXJtaW5lID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBpbnB1dCA9IGVsZW1lbnRbJ2N0cklucHV0J107XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlucHV0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0ID0gaW5wdXRbJ25hdGl2ZUVsZW1lbnQnXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlucHV0ICYmIGlucHV0IGluc3RhbmNlb2YgSFRNTElucHV0RWxlbWVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFpbnB1dC5kaXNhYmxlZCkgeyBpbnB1dC5mb2N1cygpOyB0ZXJtaW5lID0gdHJ1ZTsgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGVsZW1lbnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZWxlbWVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVsZW1lbnQuZGlzYWJsZWQgJiYgc2V0RW5hYmxlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuZGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghZWxlbWVudC5kaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXJtaW5lID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpKys7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAob25SZXR1cm4pIHtcbiAgICAgICAgICAgIGxldCBlbGVtZW50ID0gb25SZXR1cm47XG4gICAgICAgICAgICBpZiAoZWxlbWVudCBpbnN0YW5jZW9mIEhUTUxJbnB1dEVsZW1lbnQgfHwgZWxlbWVudCBpbnN0YW5jZW9mIEhUTUxCdXR0b25FbGVtZW50IHx8IGVsZW1lbnQgaW5zdGFuY2VvZiBIVE1MU2VsZWN0RWxlbWVudCkge1xuICAgICAgICAgICAgICAgIGlmIChlbGVtZW50LmRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuZGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxlbWVudC5mb2N1cygpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBsZXQgaW5wdXQgPSBlbGVtZW50WydjdHJJbnB1dCddO1xuICAgICAgICAgICAgICAgIGlmIChpbnB1dCkge1xuICAgICAgICAgICAgICAgICAgICBpbnB1dCA9IGlucHV0WyduYXRpdmVFbGVtZW50J107XG4gICAgICAgICAgICAgICAgICAgIGlmIChpbnB1dCAmJiBpbnB1dCBpbnN0YW5jZW9mIEhUTUxJbnB1dEVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpbnB1dC5kaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0LmRpc2FibGVkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBpbnB1dC5mb2N1cygpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKG9uUmV0dXJuKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlbGVtZW50LmRpc2FibGVkICYmIHNldEVuYWJsZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmRpc2FibGVkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmZvY3VzKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=