{ "version": 3, "sources": ["src/app/shared/auth-guards/menu.auth-guard.ts"], "sourcesContent": ["import { DataAvailabilityInfo } from './../types/data-availability-info.type';\nimport { DataAvailabilityService } from './../services/data-availability.service';\nimport { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\nimport { ModuleType, PageType } from '../enums/page-type.enum';\nimport { BreadcrumbService } from '../services/breadcrumb.service';\nimport { MenuService } from '../services/menu.service';\nimport { NavigationService } from '../services/navigation.service';\nimport { SelectionService } from '../services/selection.service';\n\n@Injectable({ providedIn: 'root' })\nexport class MenuAuthGuard {\n constructor(\n private menuService: MenuService,\n private navigationService: NavigationService,\n private breadcrumbService: BreadcrumbService,\n private selectionService: SelectionService,\n private dataAvailabilityService: DataAvailabilityService,\n ) {}\n\n async canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Promise {\n this.navigationService.setCurrentRoute(route);\n\n const module = this.navigationService.currentModule;\n const page = this.navigationService.currentPage;\n const subPage = this.navigationService.currentSubPage;\n\n this.breadcrumbService.clear();\n if (module === ModuleType.Admin) {\n this.menuService.initializeAdminMenuItems();\n } else if (page === PageType.RuntimeAnalysis && subPage != null) {\n this.selectionService.clear();\n } else {\n const dataAvailability = await this.dataAvailabilityService.getDataAvailability();\n this.menuService.initializeMainMenuItems(dataAvailability);\n }\n return true;\n }\n}\n"], "mappings": "+IAWA,IAAaA,GAAa,IAAA,CAApB,IAAOA,EAAP,MAAOA,CAAa,CACxBC,YACUC,EACAC,EACAC,EACAC,EACAC,EAAgD,CAJhD,KAAAJ,YAAAA,EACA,KAAAC,kBAAAA,EACA,KAAAC,kBAAAA,EACA,KAAAC,iBAAAA,EACA,KAAAC,wBAAAA,CACP,CAEGC,YAAYC,EAA+BC,EAA0B,QAAAC,EAAA,sBACzE,KAAKP,kBAAkBQ,gBAAgBH,CAAK,EAE5C,IAAMI,EAAS,KAAKT,kBAAkBU,cAChCC,EAAO,KAAKX,kBAAkBY,YAC9BC,EAAU,KAAKb,kBAAkBc,eAGvC,GADA,KAAKb,kBAAkBc,MAAK,EACxBN,IAAWO,EAAWC,MACxB,KAAKlB,YAAYmB,yBAAwB,UAChCP,IAASQ,EAASC,iBAAmBP,GAAW,KACzD,KAAKX,iBAAiBa,MAAK,MACtB,CACL,IAAMM,EAAmB,MAAM,KAAKlB,wBAAwBmB,oBAAmB,EAC/E,KAAKvB,YAAYwB,wBAAwBF,CAAgB,CAC3D,CACA,MAAO,EACT,2CA1BWxB,GAAa2B,EAAAC,CAAA,EAAAD,EAAAE,CAAA,EAAAF,EAAAG,CAAA,EAAAH,EAAAI,CAAA,EAAAJ,EAAAK,CAAA,CAAA,CAAA,wBAAbhC,EAAaiC,QAAbjC,EAAakC,UAAAC,WADA,MAAM,CAAA,EAC1B,IAAOnC,EAAPoC,SAAOpC,CAAa,GAAA", "names": ["MenuAuthGuard", "constructor", "menuService", "navigationService", "breadcrumbService", "selectionService", "dataAvailabilityService", "canActivate", "route", "state", "__async", "setCurrentRoute", "module", "currentModule", "page", "currentPage", "subPage", "currentSubPage", "clear", "ModuleType", "Admin", "initializeAdminMenuItems", "PageType", "RuntimeAnalysis", "dataAvailability", "getDataAvailability", "initializeMainMenuItems", "\u0275\u0275inject", "MenuService", "NavigationService", "BreadcrumbService", "SelectionService", "DataAvailabilityService", "factory", "\u0275fac", "providedIn", "_MenuAuthGuard"] }