{ "version": 3, "sources": ["src/app/layout/layout.service.ts"], "sourcesContent": ["import { ComponentRef, ElementRef, Injectable, Type } from '@angular/core';\nimport { BehaviorSubject, ReplaySubject, combineLatest } from 'rxjs';\nimport { ISidebarComponent } from './sidebar/sidebar-component.interface';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LayoutService {\n showMapViewSwitcherSubject = new BehaviorSubject(false);\n showMapViewSwitcher$ = this.showMapViewSwitcherSubject.asObservable();\n private readonly showMapSubject$ = new ReplaySubject(1);\n showMap$ = this.showMapSubject$.asObservable();\n private readonly rootScrollingSubject$ = new ReplaySubject(1);\n rootScrolling$ = this.rootScrollingSubject$.asObservable();\n private ref?: ElementRef;\n\n private readonly showDeliveryCartIconSubject = new BehaviorSubject(false);\n showDeliveryCartIcon$ = this.showDeliveryCartIconSubject.asObservable();\n private readonly activeSidebarComponentSubject = new BehaviorSubject | null>(null);\n activeSidebarComponent$ = this.activeSidebarComponentSubject.asObservable();\n activeSidebarComponentRef: ComponentRef | null = null;\n\n constructor() {\n combineLatest([this.showMapViewSwitcher$, this.showMap$]).subscribe(([showMapViewSwitcher, showMap]) => {\n this.disableRootScroll(showMapViewSwitcher && showMap);\n });\n }\n\n getCurrentSidebarComponent() {\n return this.activeSidebarComponentSubject.value;\n }\n\n toggleMapViewSwitcher(show = true, value?: boolean) {\n if (value !== undefined) {\n this.showMapSubject$.next(!!value);\n }\n\n this.showMapViewSwitcherSubject.next(show);\n }\n\n disableRootScroll(disable: boolean = true) {\n if (disable) {\n if (this.ref?.nativeElement.classList?.contains?.('overflow-y-scroll')) {\n this.ref?.nativeElement.classList.remove('overflow-y-scroll');\n }\n }\n else {\n if (!this.ref?.nativeElement.classList?.contains?.('overflow-y-scroll')) {\n this.ref?.nativeElement.classList.add('overflow-y-scroll');\n }\n }\n }\n\n setRootScrollingReference(ref: ElementRef) {\n this.rootScrollingSubject$.next(ref);\n this.ref = ref;\n }\n\n showSidebarComponent(component: any) {\n this.activeSidebarComponentSubject.next(component);\n }\n\n setSidebarComponentReference(ref: ComponentRef | null) {\n this.activeSidebarComponentRef = ref;\n }\n\n hideSidebarComponent() {\n this.activeSidebarComponentSubject.next(null);\n }\n\n showDeliveryCartIcon() {\n this.showDeliveryCartIconSubject.next(true);\n }\n}\n"], "mappings": ";;;;;;;;AAOM,IAAO,gBAAP,MAAO,eAAa;EAexB,cAAA;AAdA,SAAA,6BAA6B,IAAI,gBAAyB,KAAK;AAC/D,SAAA,uBAAuB,KAAK,2BAA2B,aAAY;AAClD,SAAA,kBAAkB,IAAI,cAAuB,CAAC;AAC/D,SAAA,WAAW,KAAK,gBAAgB,aAAY;AAC3B,SAAA,wBAAwB,IAAI,cAA0B,CAAC;AACxE,SAAA,iBAAiB,KAAK,sBAAsB,aAAY;AAGvC,SAAA,8BAA8B,IAAI,gBAAyB,KAAK;AACjF,SAAA,wBAAwB,KAAK,4BAA4B,aAAY;AACpD,SAAA,gCAAgC,IAAI,gBAAgD,IAAI;AACzG,SAAA,0BAA0B,KAAK,8BAA8B,aAAY;AACzE,SAAA,4BAAoE;AAGlE,kBAAc,CAAC,KAAK,sBAAsB,KAAK,QAAQ,CAAC,EAAE,UAAU,CAAC,CAAC,qBAAqB,OAAO,MAAK;AACrG,WAAK,kBAAkB,uBAAuB,OAAO;IACvD,CAAC;EACH;EAEA,6BAA0B;AACxB,WAAO,KAAK,8BAA8B;EAC5C;EAEA,sBAAsB,OAAO,MAAM,OAAe;AAChD,QAAI,UAAU,QAAW;AACvB,WAAK,gBAAgB,KAAK,CAAC,CAAC,KAAK;IACnC;AAEA,SAAK,2BAA2B,KAAK,IAAI;EAC3C;EAEA,kBAAkB,UAAmB,MAAI;AACvC,QAAI,SAAS;AACX,UAAI,KAAK,KAAK,cAAc,WAAW,WAAW,mBAAmB,GAAG;AACtE,aAAK,KAAK,cAAc,UAAU,OAAO,mBAAmB;MAC9D;IACF,OACK;AACH,UAAI,CAAC,KAAK,KAAK,cAAc,WAAW,WAAW,mBAAmB,GAAG;AACvE,aAAK,KAAK,cAAc,UAAU,IAAI,mBAAmB;MAC3D;IACF;EACF;EAEA,0BAA0B,KAAe;AACvC,SAAK,sBAAsB,KAAK,GAAG;AACnC,SAAK,MAAM;EACb;EAEA,qBAAqB,WAAc;AACjC,SAAK,8BAA8B,KAAK,SAAS;EACnD;EAEA,6BAA6B,KAA2C;AACtE,SAAK,4BAA4B;EACnC;EAEA,uBAAoB;AAClB,SAAK,8BAA8B,KAAK,IAAI;EAC9C;EAEA,uBAAoB;AAClB,SAAK,4BAA4B,KAAK,IAAI;EAC5C;;;uCAjEW,gBAAa;IAAA;EAAA;;4EAAb,gBAAa,SAAb,eAAa,WAAA,YAFZ,OAAM,CAAA;EAAA;;", "names": [] }