UNPKG

@bimeister/pupakit.kit

Version:

PupaKit is an open source collection of Angular components based on an atomic approach to building interfaces, which guarantees better performance and greater development flexibility.

43 lines 6.26 kB
import { Directive } from '@angular/core'; import '@bimeister/pupakit.common'; import { isNil } from '@bimeister/utilities'; import 'rxjs'; import { map } from 'rxjs/operators'; import './tabs-service-base.abstract'; import * as i0 from "@angular/core"; export class TabsItemBase { constructor(tabsService, containerService) { this.tabsService = tabsService; this.containerService = containerService; this.stateService = !isNil(this.containerService) ? this.containerService : this.tabsService; this.isActive$ = this.stateService.activeTabName$.pipe(map((activeTab) => activeTab === this.name)); this.isContentDragging$ = this.tabsService.isContentDragging$; } ngOnChanges(changes) { this.processInputIsActiveChanges(changes.isActive?.currentValue); } ngOnInit() { this.stateService.registerTab(this.name); } ngOnDestroy() { this.stateService.unregisterTab(this.name); } setAsActive() { if (this.disabled || !isNil(this.isActive)) { return; } this.stateService.setActiveTab(this.name); } processInputIsActiveChanges(isActive) { if (this.disabled || !isActive) { return; } queueMicrotask(() => this.stateService.setActiveTab(this.name)); } } TabsItemBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TabsItemBase, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive }); TabsItemBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: TabsItemBase, usesOnChanges: true, ngImport: i0 }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TabsItemBase, decorators: [{ type: Directive }], ctorParameters: function () { return [{ type: undefined }, { type: undefined }]; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy1pdGVtLWJhc2UuYWJzdHJhY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZGVjbGFyYXRpb25zL2NsYXNzZXMvYWJzdHJhY3QvdGFicy1pdGVtLWJhc2UuYWJzdHJhY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBZ0MsTUFBTSxlQUFlLENBQUM7QUFDeEUsT0FBaUMsMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLEtBQUssRUFBWSxNQUFNLHNCQUFzQixDQUFDO0FBQ3ZELE9BQTJCLE1BQU0sQ0FBQztBQUNsQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBZ0MsOEJBQThCLENBQUM7O0FBRy9ELE1BQU0sT0FBZ0IsWUFBWTtJQVloQyxZQUE2QixXQUFjLEVBQW1CLGdCQUFvQjtRQUFyRCxnQkFBVyxHQUFYLFdBQVcsQ0FBRztRQUFtQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQUk7UUFQL0QsaUJBQVksR0FBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQzlGLGNBQVMsR0FBd0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUNwRixHQUFHLENBQUMsQ0FBQyxTQUFtQixFQUFFLEVBQUUsQ0FBQyxTQUFTLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxDQUN0RCxDQUFDO1FBRWMsdUJBQWtCLEdBQXdCLElBQUksQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUM7SUFFVCxDQUFDO0lBRS9FLFdBQVcsQ0FBQyxPQUErQjtRQUNoRCxJQUFJLENBQUMsMkJBQTJCLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxZQUFZLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUMxQyxPQUFPO1NBQ1I7UUFDRCxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVPLDJCQUEyQixDQUFDLFFBQTJCO1FBQzdELElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUM5QixPQUFPO1NBQ1I7UUFDRCxjQUFjLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDbEUsQ0FBQzs7MEdBdENtQixZQUFZOzhGQUFaLFlBQVk7NEZBQVosWUFBWTtrQkFEakMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50Q2hhbmdlcyB9IGZyb20gJ0BiaW1laXN0ZXIvcHVwYWtpdC5jb21tb24nO1xuaW1wb3J0IHsgaXNOaWwsIE51bGxhYmxlIH0gZnJvbSAnQGJpbWVpc3Rlci91dGlsaXRpZXMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgVGFic1NlcnZpY2VCYXNlIH0gZnJvbSAnLi90YWJzLXNlcnZpY2UtYmFzZS5hYnN0cmFjdCc7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFRhYnNJdGVtQmFzZTxULCBTIGV4dGVuZHMgVGFic1NlcnZpY2VCYXNlPFQ+PiBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwdWJsaWMgYWJzdHJhY3QgbmFtZTogVDtcbiAgcHVibGljIGFic3RyYWN0IGlzQWN0aXZlOiBOdWxsYWJsZTxib29sZWFuPjtcbiAgcHVibGljIGFic3RyYWN0IGRpc2FibGVkOiBOdWxsYWJsZTxib29sZWFuPjtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgc3RhdGVTZXJ2aWNlOiBTID0gIWlzTmlsKHRoaXMuY29udGFpbmVyU2VydmljZSkgPyB0aGlzLmNvbnRhaW5lclNlcnZpY2UgOiB0aGlzLnRhYnNTZXJ2aWNlO1xuICBwdWJsaWMgcmVhZG9ubHkgaXNBY3RpdmUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5zdGF0ZVNlcnZpY2UuYWN0aXZlVGFiTmFtZSQucGlwZShcbiAgICBtYXAoKGFjdGl2ZVRhYjogVCB8IG51bGwpID0+IGFjdGl2ZVRhYiA9PT0gdGhpcy5uYW1lKVxuICApO1xuXG4gIHB1YmxpYyByZWFkb25seSBpc0NvbnRlbnREcmFnZ2luZyQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLnRhYnNTZXJ2aWNlLmlzQ29udGVudERyYWdnaW5nJDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHRhYnNTZXJ2aWNlOiBTLCBwcml2YXRlIHJlYWRvbmx5IGNvbnRhaW5lclNlcnZpY2U/OiBTKSB7fVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBDb21wb25lbnRDaGFuZ2VzPHRoaXM+KTogdm9pZCB7XG4gICAgdGhpcy5wcm9jZXNzSW5wdXRJc0FjdGl2ZUNoYW5nZXMoY2hhbmdlcy5pc0FjdGl2ZT8uY3VycmVudFZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlU2VydmljZS5yZWdpc3RlclRhYih0aGlzLm5hbWUpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGVTZXJ2aWNlLnVucmVnaXN0ZXJUYWIodGhpcy5uYW1lKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRBc0FjdGl2ZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCB8fCAhaXNOaWwodGhpcy5pc0FjdGl2ZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5zdGF0ZVNlcnZpY2Uuc2V0QWN0aXZlVGFiKHRoaXMubmFtZSk7XG4gIH1cblxuICBwcml2YXRlIHByb2Nlc3NJbnB1dElzQWN0aXZlQ2hhbmdlcyhpc0FjdGl2ZTogTnVsbGFibGU8Ym9vbGVhbj4pOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCB8fCAhaXNBY3RpdmUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgcXVldWVNaWNyb3Rhc2soKCkgPT4gdGhpcy5zdGF0ZVNlcnZpY2Uuc2V0QWN0aXZlVGFiKHRoaXMubmFtZSkpO1xuICB9XG59XG4iXX0=