{ "version": 3, "sources": ["src/app/_services/toggle.service.ts", "src/app/sidenav/_components/side-nav-companion-bar/side-nav-companion-bar.component.ts", "src/app/sidenav/_components/side-nav-companion-bar/side-nav-companion-bar.component.html"], "sourcesContent": ["import { Injectable } from '@angular/core';\nimport { NavigationStart, Router } from '@angular/router';\nimport { filter, ReplaySubject, take } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ToggleService {\n\n toggleState: boolean = false;\n\n\n private toggleStateSource: ReplaySubject = new ReplaySubject(1);\n public toggleState$ = this.toggleStateSource.asObservable();\n\n constructor(router: Router) {\n router.events\n .pipe(filter(event => event instanceof NavigationStart))\n .subscribe((event) => {\n this.toggleState = false;\n this.toggleStateSource.next(this.toggleState);\n });\n this.toggleStateSource.next(false);\n }\n\n toggle() {\n this.toggleState = !this.toggleState;\n this.toggleStateSource.pipe(take(1)).subscribe(state => {\n this.toggleState = !state;\n this.toggleStateSource.next(this.toggleState);\n });\n \n }\n\n set(state: boolean) {\n this.toggleState = state;\n this.toggleStateSource.next(state);\n }\n}\n", "import {\n Component,\n DestroyRef,\n EventEmitter,\n inject,\n Input,\n OnInit,\n Output,\n TemplateRef\n} from '@angular/core';\nimport {NgbOffcanvas, NgbTooltip} from '@ng-bootstrap/ng-bootstrap';\nimport { Breakpoint, UtilityService } from 'src/app/shared/_services/utility.service';\nimport { NavService } from 'src/app/_services/nav.service';\nimport { ToggleService } from 'src/app/_services/toggle.service';\nimport {takeUntilDestroyed} from \"@angular/core/rxjs-interop\";\nimport {CommonModule} from \"@angular/common\";\nimport {TranslocoDirective} from \"@ngneat/transloco\";\n\n/**\n * This should go on all pages which have the side nav present and is not Settings related.\n * Content inside [main] selector should not have any padding top or bottom, they are included in this component.\n */\n@Component({\n selector: 'app-side-nav-companion-bar',\n standalone: true,\n imports: [CommonModule, NgbTooltip, TranslocoDirective],\n templateUrl: './side-nav-companion-bar.component.html',\n styleUrls: ['./side-nav-companion-bar.component.scss']\n})\nexport class SideNavCompanionBarComponent implements OnInit {\n /**\n * If the page should show a filter\n */\n @Input() hasFilter: boolean = false;\n /**\n * If the page should show an extra section button\n */\n @Input() hasExtras: boolean = false;\n\n /**\n * This implies there is a filter in effect on the underlying page. Will show UI styles to imply this to the user.\n */\n @Input() filterActive: boolean = false;\n\n @Input() extraDrawer!: TemplateRef;\n\n\n @Output() filterOpen: EventEmitter = new EventEmitter();\n\n isFilterOpen = false;\n isExtrasOpen = false;\n\n private readonly destroyRef = inject(DestroyRef);\n\n constructor(private navService: NavService, private utilityService: UtilityService, public toggleService: ToggleService,\n private offcanvasService: NgbOffcanvas) {\n }\n\n ngOnInit(): void {\n // If user opens side nav while filter is open on mobile, then collapse filter (as it doesn't render well) TODO: Change this when we have new drawer\n this.navService.sideNavCollapsed$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(sideNavCollapsed => {\n if (this.isFilterOpen && sideNavCollapsed && this.utilityService.getActiveBreakpoint() < Breakpoint.Tablet) {\n this.isFilterOpen = false;\n this.filterOpen.emit(this.isFilterOpen);\n }\n });\n }\n\n toggleFilter() {\n this.isFilterOpen = !this.isFilterOpen;\n this.filterOpen.emit(this.isFilterOpen);\n }\n\n openExtrasDrawer() {\n if (this.extraDrawer === undefined) return;\n\n this.isExtrasOpen = true;\n const drawerRef = this.offcanvasService.open(this.extraDrawer, {position: 'end', scroll: true});\n drawerRef.closed.subscribe(() => this.isExtrasOpen = false);\n drawerRef.dismissed.subscribe(() => this.isExtrasOpen = false);\n }\n\n}\n", "\n
\n
\n \n \n
\n
\n \n
\n
\n \n \n
\n\n
\n
\n"], "mappings": "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", "names": ["ToggleService", "constructor", "router", "toggleState", "toggleStateSource", "ReplaySubject", "toggleState$", "asObservable", "events", "pipe", "filter", "event", "NavigationStart", "subscribe", "next", "toggle", "take", "state", "set", "\u0275\u0275inject", "Router", "factory", "\u0275fac", "providedIn", "_ToggleService", "\u0275\u0275elementStart", "\u0275\u0275listener", "\u0275\u0275restoreView", "_r1", "ctx_r1", "\u0275\u0275nextContext", "\u0275\u0275resetView", "openExtrasDrawer", "\u0275\u0275element", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275property", "t_r3", "\u0275\u0275advance", "\u0275\u0275textInterpolate", "_r4", "toggleService", "toggle", "\u0275\u0275classMapInterpolate1", "filterActive", "\u0275\u0275propertyInterpolate", "filterOpen", "\u0275\u0275elementContainerStart", "\u0275\u0275projection", "\u0275\u0275template", "SideNavCompanionBarComponent_ng_container_0_button_8_Template", "SideNavCompanionBarComponent_ng_container_0_button_9_Template", "hasExtras", "hasFilter", "SideNavCompanionBarComponent", "constructor", "navService", "utilityService", "offcanvasService", "EventEmitter", "isFilterOpen", "isExtrasOpen", "destroyRef", "inject", "DestroyRef", "ngOnInit", "sideNavCollapsed$", "pipe", "takeUntilDestroyed", "subscribe", "sideNavCollapsed", "getActiveBreakpoint", "Breakpoint", "Tablet", "emit", "toggleFilter", "extraDrawer", "undefined", "drawerRef", "open", "position", "scroll", "closed", "dismissed", "\u0275\u0275directiveInject", "NavService", "UtilityService", "ToggleService", "NgbOffcanvas", "selectors", "inputs", "outputs", "standalone", "features", "\u0275\u0275StandaloneFeature", "ngContentSelectors", "_c1", "decls", "vars", "consts", "template", "rf", "ctx", "SideNavCompanionBarComponent_ng_container_0_Template", "CommonModule", "NgIf", "NgbTooltip", "TranslocoDirective", "styles", "_SideNavCompanionBarComponent"] }