UNPKG

@neocomplexx/ngx-neo-directives

Version:

This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 7.0.5.

128 lines 8.91 kB
/** * @fileoverview added by tsickle * Generated from: lib/ngb-tabset.directive.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import * as tslib_1 from "tslib"; import { Directive, HostListener, Input } from '@angular/core'; import { NgbTabset } from '@ng-bootstrap/ng-bootstrap'; import { BehaviorSubject } from 'rxjs'; /** * @author jcangelosi */ export class NgbTabSetDirective { /** * @param {?} _el */ constructor(_el) { this._el = _el; this.el = this._el; this.onTabChanging = false; } /** * @return {?} */ ngOnInit() { if (this.tabSelectedId) { this.tabSelectedIdSubscribe = this.tabSelectedId.subscribe((/** * @param {?} tabSelectedId * @return {?} */ (tabSelectedId) => { if (tabSelectedId.length > 0) { /** @type {?} */ const tabs = (/** @type {?} */ (this.el)); // const previousValue = this.tabSelectedId.value; if (tabs.activeId !== tabSelectedId) { tabs.select(tabSelectedId); } } })); } } /** * @return {?} */ ngOnDestroy() { if (this.tabSelectedIdSubscribe) { this.tabSelectedIdSubscribe.unsubscribe(); } } /** * @param {?} $event * @return {?} */ onTabChange($event) { return tslib_1.__awaiter(this, void 0, void 0, function* () { if (this.onTabChanging) { return; } this.onTabChanging = true; if (this.tabChangeController) { $event.preventDefault(); if (yield this.tabChangeController.canChangeTab()) { this.cambiarTab($event, true); } } else { this.cambiarTab($event); } this.onTabChanging = false; }); } /** * @private * @param {?} $event * @param {?=} force * @return {?} */ cambiarTab($event, force = false) { /** @type {?} */ const tabSelecting = $event.nextId; if (force || this.tabSelectedId.value !== tabSelecting) { this.tabSelectedId.next(tabSelecting); } } } NgbTabSetDirective.decorators = [ { type: Directive, args: [{ // tslint:disable-next-line:directive-selector selector: '[tabSelectedId], [tabChangeController]', },] } ]; /** @nocollapse */ NgbTabSetDirective.ctorParameters = () => [ { type: NgbTabset } ]; NgbTabSetDirective.propDecorators = { tabSelectedId: [{ type: Input }], tabChangeController: [{ type: Input }], onTabChange: [{ type: HostListener, args: ['tabChange', ['$event'],] }] }; if (false) { /** * @type {?} * @protected */ NgbTabSetDirective.prototype.el; /** * @type {?} * @protected */ NgbTabSetDirective.prototype.tabSelectedIdSubscribe; /** @type {?} */ NgbTabSetDirective.prototype.tabSelectedId; /** @type {?} */ NgbTabSetDirective.prototype.tabChangeController; /** * @type {?} * @protected */ NgbTabSetDirective.prototype.onTabChanging; /** * @type {?} * @protected */ NgbTabSetDirective.prototype._el; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdiLXRhYnNldC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AbmVvY29tcGxleHgvbmd4LW5lby1kaXJlY3RpdmVzLyIsInNvdXJjZXMiOlsibGliL25nYi10YWJzZXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3ZELE9BQU8sRUFBZ0IsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7O0FBVXJELE1BQU0sT0FBTyxrQkFBa0I7Ozs7SUFVM0IsWUFBc0IsR0FBYztRQUFkLFFBQUcsR0FBSCxHQUFHLENBQVc7UUFDaEMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO1FBQ25CLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO0lBQy9CLENBQUM7Ozs7SUFFRCxRQUFRO1FBQ0osSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVM7Ozs7WUFBQyxDQUFDLGFBQWEsRUFBRSxFQUFFO2dCQUN6RSxJQUFJLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFOzswQkFDcEIsSUFBSSxHQUFHLG1CQUFBLElBQUksQ0FBQyxFQUFFLEVBQWE7b0JBQ2pDLGtEQUFrRDtvQkFDbEQsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLGFBQWEsRUFBRTt3QkFDakMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztxQkFDOUI7aUJBQ0o7WUFDTCxDQUFDLEVBQUMsQ0FBQztTQUNOO0lBQ0wsQ0FBQzs7OztJQUVELFdBQVc7UUFDUCxJQUFJLElBQUksQ0FBQyxzQkFBc0IsRUFBRTtZQUFFLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUFFO0lBQ25GLENBQUM7Ozs7O0lBRzRDLFdBQVcsQ0FBQyxNQUFXOztZQUNoRSxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7Z0JBQ3BCLE9BQU87YUFDVjtZQUNELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1lBQzFCLElBQUksSUFBSSxDQUFDLG1CQUFtQixFQUFFO2dCQUMxQixNQUFNLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3hCLElBQUksTUFBTSxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxFQUFFLEVBQUU7b0JBQy9DLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO2lCQUNqQzthQUNKO2lCQUFNO2dCQUNILElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDM0I7WUFDRCxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztRQUMvQixDQUFDO0tBQUE7Ozs7Ozs7SUFFTyxVQUFVLENBQUMsTUFBVyxFQUFFLFFBQWlCLEtBQUs7O2NBQzVDLFlBQVksR0FBRyxNQUFNLENBQUMsTUFBTTtRQUNsQyxJQUFJLEtBQUssSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssS0FBSyxZQUFZLEVBQUU7WUFDcEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDekM7SUFDTCxDQUFDOzs7WUEzREosU0FBUyxTQUFDOztnQkFFUCxRQUFRLEVBQUUsd0NBQXdDO2FBQ3JEOzs7O1lBVlEsU0FBUzs7OzRCQWViLEtBQUs7a0NBRUwsS0FBSzswQkE0QkwsWUFBWSxTQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQzs7Ozs7OztJQWpDckMsZ0NBQXdCOzs7OztJQUN4QixvREFBK0M7O0lBRS9DLDJDQUFnRDs7SUFFaEQsaURBQW1EOzs7OztJQUVuRCwyQ0FBaUM7Ozs7O0lBRXJCLGlDQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25Jbml0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nYlRhYnNldCB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiwgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJVGFiQ2hhbmdlQ29udHJvbGxlciB9IGZyb20gJy4vbW9kZWxzJztcblxuLyoqXG4gKiBAYXV0aG9yIGpjYW5nZWxvc2lcbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmRpcmVjdGl2ZS1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnW3RhYlNlbGVjdGVkSWRdLCBbdGFiQ2hhbmdlQ29udHJvbGxlcl0nLFxufSlcbmV4cG9ydCBjbGFzcyBOZ2JUYWJTZXREaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgcHJvdGVjdGVkIGVsOiBOZ2JUYWJzZXQ7XG4gICAgcHJvdGVjdGVkIHRhYlNlbGVjdGVkSWRTdWJzY3JpYmU6IFN1YnNjcmlwdGlvbjtcblxuICAgIEBJbnB1dCgpIHRhYlNlbGVjdGVkSWQ6IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+O1xuXG4gICAgQElucHV0KCkgdGFiQ2hhbmdlQ29udHJvbGxlcjogSVRhYkNoYW5nZUNvbnRyb2xsZXI7XG5cbiAgICBwcm90ZWN0ZWQgb25UYWJDaGFuZ2luZzogYm9vbGVhbjtcblxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBfZWw6IE5nYlRhYnNldCkge1xuICAgICAgICB0aGlzLmVsID0gdGhpcy5fZWw7XG4gICAgICAgIHRoaXMub25UYWJDaGFuZ2luZyA9IGZhbHNlO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBpZiAodGhpcy50YWJTZWxlY3RlZElkKSB7XG4gICAgICAgICAgICB0aGlzLnRhYlNlbGVjdGVkSWRTdWJzY3JpYmUgPSB0aGlzLnRhYlNlbGVjdGVkSWQuc3Vic2NyaWJlKCh0YWJTZWxlY3RlZElkKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRhYlNlbGVjdGVkSWQubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0YWJzID0gdGhpcy5lbCBhcyBOZ2JUYWJzZXQ7XG4gICAgICAgICAgICAgICAgICAgIC8vIGNvbnN0IHByZXZpb3VzVmFsdWUgPSB0aGlzLnRhYlNlbGVjdGVkSWQudmFsdWU7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0YWJzLmFjdGl2ZUlkICE9PSB0YWJTZWxlY3RlZElkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0YWJzLnNlbGVjdCh0YWJTZWxlY3RlZElkKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIGlmICh0aGlzLnRhYlNlbGVjdGVkSWRTdWJzY3JpYmUpIHsgdGhpcy50YWJTZWxlY3RlZElkU3Vic2NyaWJlLnVuc3Vic2NyaWJlKCk7IH1cbiAgICB9XG5cblxuICAgIEBIb3N0TGlzdGVuZXIoJ3RhYkNoYW5nZScsIFsnJGV2ZW50J10pIGFzeW5jIG9uVGFiQ2hhbmdlKCRldmVudDogYW55KSB7XG4gICAgICAgIGlmICh0aGlzLm9uVGFiQ2hhbmdpbmcpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm9uVGFiQ2hhbmdpbmcgPSB0cnVlO1xuICAgICAgICBpZiAodGhpcy50YWJDaGFuZ2VDb250cm9sbGVyKSB7XG4gICAgICAgICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGlmIChhd2FpdCB0aGlzLnRhYkNoYW5nZUNvbnRyb2xsZXIuY2FuQ2hhbmdlVGFiKCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNhbWJpYXJUYWIoJGV2ZW50LCB0cnVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuY2FtYmlhclRhYigkZXZlbnQpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMub25UYWJDaGFuZ2luZyA9IGZhbHNlO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2FtYmlhclRhYigkZXZlbnQ6IGFueSwgZm9yY2U6IGJvb2xlYW4gPSBmYWxzZSkge1xuICAgICAgICBjb25zdCB0YWJTZWxlY3RpbmcgPSAkZXZlbnQubmV4dElkO1xuICAgICAgICBpZiAoZm9yY2UgfHwgdGhpcy50YWJTZWxlY3RlZElkLnZhbHVlICE9PSB0YWJTZWxlY3RpbmcpIHtcbiAgICAgICAgICAgIHRoaXMudGFiU2VsZWN0ZWRJZC5uZXh0KHRhYlNlbGVjdGluZyk7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbiJdfQ==