UNPKG

@neocomplexx/ngx-neo-directives-mat

Version:
74 lines (73 loc) 7.95 kB
import { __decorate, __metadata } from "tslib"; import { Directive, Input } from '@angular/core'; import { BehaviorSubject } from 'rxjs'; import { MatTabGroup } from '@angular/material/tabs'; /** * @author slarrieu */ var NgbTabSetDirective = /** @class */ (function () { function NgbTabSetDirective(_el) { this._el = _el; this.el = this._el; this.onTabChanging = false; } NgbTabSetDirective.prototype.ngOnInit = function () { // this.el._handleClick = this.interceptTabChange.bind(this); var _this = this; if (this.tabSelectedId) { this.tabSelectedIdSubscribe = this.tabSelectedId.subscribe(function (tabSelectedId) { if (tabSelectedId > -1) { // const previousValue = this.tabSelectedId.value; if (_this.el.selectedIndex !== tabSelectedId) { _this.el.selectedIndex = tabSelectedId; } } }); } }; /* interceptTabChange(tab: MatTab, tabHeader: MatTabHeader, idx: number) { if (this.onTabChanging) { return true; } this.onTabChanging = true; let canChange = true; if (this.tabChangeController) { canChange = await this.tabChangeController.canChangeTab(); } this.onTabChanging = false; return canChange && MatTabGroup.prototype._handleClick.apply(this.el, arguments); } */ NgbTabSetDirective.prototype.ngOnDestroy = function () { if (this.tabSelectedIdSubscribe) { this.tabSelectedIdSubscribe.unsubscribe(); } }; NgbTabSetDirective.prototype.cambiarTab = function ($event, force) { if (force === void 0) { force = false; } var tabSelecting = $event.nextId; if (force || this.tabSelectedId.value !== tabSelecting) { this.tabSelectedId.next(tabSelecting); } }; NgbTabSetDirective.ctorParameters = function () { return [ { type: MatTabGroup } ]; }; __decorate([ Input(), __metadata("design:type", BehaviorSubject) ], NgbTabSetDirective.prototype, "tabSelectedId", void 0); __decorate([ Input(), __metadata("design:type", Object) ], NgbTabSetDirective.prototype, "tabChangeController", void 0); NgbTabSetDirective = __decorate([ Directive({ // tslint:disable-next-line:directive-selector selector: '[tabSelectedId], [tabChangeController]', }), __metadata("design:paramtypes", [MatTabGroup]) ], NgbTabSetDirective); return NgbTabSetDirective; }()); export { NgbTabSetDirective }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdiLXRhYnNldC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AbmVvY29tcGxleHgvbmd4LW5lby1kaXJlY3RpdmVzLW1hdC8iLCJzb3VyY2VzIjpbImxpYi9uZ2ItdGFic2V0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBZ0IsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9ELE9BQU8sRUFBZ0IsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXJELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRDs7R0FFRztBQUtIO0lBVUksNEJBQXNCLEdBQWdCO1FBQWhCLFFBQUcsR0FBSCxHQUFHLENBQWE7UUFDbEMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO1FBQ25CLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO0lBQy9CLENBQUM7SUFFRCxxQ0FBUSxHQUFSO1FBRUcsNkRBQTZEO1FBRmhFLGlCQWNDO1FBVkcsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxVQUFDLGFBQWE7Z0JBQ3JFLElBQUksYUFBYSxHQUFHLENBQUMsQ0FBQyxFQUFFO29CQUNwQixrREFBa0Q7b0JBQ2xELElBQUksS0FBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEtBQUssYUFBYSxFQUFFO3dCQUN6QyxLQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7cUJBQ3pDO2lCQUNKO1lBQ0wsQ0FBQyxDQUFDLENBQUM7U0FDTjtJQUNMLENBQUM7SUFFTDs7Ozs7Ozs7Ozs7O1lBWVE7SUFFSix3Q0FBVyxHQUFYO1FBQ0ksSUFBSSxJQUFJLENBQUMsc0JBQXNCLEVBQUU7WUFBRSxJQUFJLENBQUMsc0JBQXNCLENBQUMsV0FBVyxFQUFFLENBQUM7U0FBRTtJQUNuRixDQUFDO0lBR08sdUNBQVUsR0FBbEIsVUFBbUIsTUFBVyxFQUFFLEtBQXNCO1FBQXRCLHNCQUFBLEVBQUEsYUFBc0I7UUFDbEQsSUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztRQUNuQyxJQUFJLEtBQUssSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssS0FBSyxZQUFZLEVBQUU7WUFDcEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDekM7SUFDTCxDQUFDOztnQkE3QzBCLFdBQVc7O0lBTjdCO1FBQVIsS0FBSyxFQUFFO2tDQUFnQixlQUFlOzZEQUFTO0lBRXZDO1FBQVIsS0FBSyxFQUFFOzttRUFBMkM7SUFOMUMsa0JBQWtCO1FBSjlCLFNBQVMsQ0FBQztZQUNQLDhDQUE4QztZQUM5QyxRQUFRLEVBQUUsd0NBQXdDO1NBQ3JELENBQUM7eUNBVzZCLFdBQVc7T0FWN0Isa0JBQWtCLENBeUQ5QjtJQUFELHlCQUFDO0NBQUEsQUF6REQsSUF5REM7U0F6RFksa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0TGlzdGVuZXIsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE9uSW5pdCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiwgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IElUYWJDaGFuZ2VDb250cm9sbGVyIH0gZnJvbSAnLi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBNYXRUYWJHcm91cCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYnMnO1xyXG4vKipcclxuICogQGF1dGhvciBzbGFycmlldVxyXG4gKi9cclxuQERpcmVjdGl2ZSh7XHJcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6ZGlyZWN0aXZlLXNlbGVjdG9yXHJcbiAgICBzZWxlY3RvcjogJ1t0YWJTZWxlY3RlZElkXSwgW3RhYkNoYW5nZUNvbnRyb2xsZXJdJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIE5nYlRhYlNldERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICAgIHByb3RlY3RlZCBlbDogTWF0VGFiR3JvdXA7XHJcbiAgICBwcm90ZWN0ZWQgdGFiU2VsZWN0ZWRJZFN1YnNjcmliZTogU3Vic2NyaXB0aW9uO1xyXG5cclxuICAgIEBJbnB1dCgpIHRhYlNlbGVjdGVkSWQ6IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+O1xyXG5cclxuICAgIEBJbnB1dCgpIHRhYkNoYW5nZUNvbnRyb2xsZXI6IElUYWJDaGFuZ2VDb250cm9sbGVyO1xyXG5cclxuICAgIHByb3RlY3RlZCBvblRhYkNoYW5naW5nOiBib29sZWFuO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBfZWw6IE1hdFRhYkdyb3VwKSB7XHJcbiAgICAgICAgdGhpcy5lbCA9IHRoaXMuX2VsO1xyXG4gICAgICAgIHRoaXMub25UYWJDaGFuZ2luZyA9IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG5cclxuICAgICAgIC8vIHRoaXMuZWwuX2hhbmRsZUNsaWNrID0gdGhpcy5pbnRlcmNlcHRUYWJDaGFuZ2UuYmluZCh0aGlzKTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMudGFiU2VsZWN0ZWRJZCkge1xyXG4gICAgICAgICAgICB0aGlzLnRhYlNlbGVjdGVkSWRTdWJzY3JpYmUgPSB0aGlzLnRhYlNlbGVjdGVkSWQuc3Vic2NyaWJlKCh0YWJTZWxlY3RlZElkKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAodGFiU2VsZWN0ZWRJZCA+IC0xKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gY29uc3QgcHJldmlvdXNWYWx1ZSA9IHRoaXMudGFiU2VsZWN0ZWRJZC52YWx1ZTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5lbC5zZWxlY3RlZEluZGV4ICE9PSB0YWJTZWxlY3RlZElkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZWwuc2VsZWN0ZWRJbmRleCA9IHRhYlNlbGVjdGVkSWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4vKiAgICAgaW50ZXJjZXB0VGFiQ2hhbmdlKHRhYjogTWF0VGFiLCB0YWJIZWFkZXI6IE1hdFRhYkhlYWRlciwgaWR4OiBudW1iZXIpIHtcclxuICAgICAgICBpZiAodGhpcy5vblRhYkNoYW5naW5nKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLm9uVGFiQ2hhbmdpbmcgPSB0cnVlO1xyXG4gICAgICAgIGxldCBjYW5DaGFuZ2UgPSB0cnVlO1xyXG4gICAgICAgIGlmICh0aGlzLnRhYkNoYW5nZUNvbnRyb2xsZXIpIHtcclxuICAgICAgICAgICAgY2FuQ2hhbmdlID0gYXdhaXQgdGhpcy50YWJDaGFuZ2VDb250cm9sbGVyLmNhbkNoYW5nZVRhYigpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLm9uVGFiQ2hhbmdpbmcgPSBmYWxzZTtcclxuXHJcbiAgICAgICAgcmV0dXJuIGNhbkNoYW5nZSAmJiBNYXRUYWJHcm91cC5wcm90b3R5cGUuX2hhbmRsZUNsaWNrLmFwcGx5KHRoaXMuZWwsIGFyZ3VtZW50cyk7XHJcbiAgICB9ICovXHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgaWYgKHRoaXMudGFiU2VsZWN0ZWRJZFN1YnNjcmliZSkgeyB0aGlzLnRhYlNlbGVjdGVkSWRTdWJzY3JpYmUudW5zdWJzY3JpYmUoKTsgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICBwcml2YXRlIGNhbWJpYXJUYWIoJGV2ZW50OiBhbnksIGZvcmNlOiBib29sZWFuID0gZmFsc2UpIHtcclxuICAgICAgICBjb25zdCB0YWJTZWxlY3RpbmcgPSAkZXZlbnQubmV4dElkO1xyXG4gICAgICAgIGlmIChmb3JjZSB8fCB0aGlzLnRhYlNlbGVjdGVkSWQudmFsdWUgIT09IHRhYlNlbGVjdGluZykge1xyXG4gICAgICAgICAgICB0aGlzLnRhYlNlbGVjdGVkSWQubmV4dCh0YWJTZWxlY3RpbmcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbn1cclxuIl19