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