@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
JavaScript
/**
* @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==