{"version":3,"sources":["projects/fuse/src/services/platform/platform.service.ts","projects/web-portal/src/app/core/navigation/navigation.service.ts","projects/fuse/src/services/loading/loading.service.ts"],"sourcesContent":["import { Platform } from '@angular/cdk/platform';\nimport { inject, Injectable } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class FusePlatformService {\n private _platform = inject(Platform);\n\n osName = 'os-unknown';\n\n /**\n * Constructor\n */\n constructor() {\n // If the platform is not a browser, return immediately\n if (!this._platform.isBrowser) {\n return;\n }\n\n // Windows\n if (navigator.userAgent.includes('Win')) {\n this.osName = 'os-windows';\n }\n\n // Mac OS\n if (navigator.userAgent.includes('Mac')) {\n this.osName = 'os-mac';\n }\n\n // Unix\n if (navigator.userAgent.includes('X11')) {\n this.osName = 'os-unix';\n }\n\n // Linux\n if (navigator.userAgent.includes('Linux')) {\n this.osName = 'os-linux';\n }\n\n // iOS\n if (this._platform.IOS) {\n this.osName = 'os-ios';\n }\n\n // Android\n if (this._platform.ANDROID) {\n this.osName = 'os-android';\n }\n }\n}\n","import { Injectable, inject } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable, ReplaySubject, tap } from 'rxjs';\nimport { Navigation } from 'app/core/navigation/navigation.types';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NavigationService {\n private _httpClient = inject(HttpClient);\n\n private _navigation: ReplaySubject = new ReplaySubject(1);\n\n /** Inserted by Angular inject() migration for backwards compatibility */\n constructor(...args: unknown[]);\n\n /**\n * Constructor\n */\n constructor() {\n }\n\n // -----------------------------------------------------------------------------------------------------\n // @ Accessors\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * Getter for navigation\n */\n get navigation$(): Observable {\n return this._navigation.asObservable();\n }\n\n // -----------------------------------------------------------------------------------------------------\n // @ Public methods\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * Get all navigation data\n */\n get(): Observable {\n return this._httpClient.get('api/common/navigation').pipe(\n tap((navigation) => {\n this._navigation.next(navigation);\n })\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class FuseLoadingService {\n private _auto$: BehaviorSubject = new BehaviorSubject(\n true\n );\n private _mode$: BehaviorSubject<'determinate' | 'indeterminate'> =\n new BehaviorSubject<'determinate' | 'indeterminate'>('indeterminate');\n private _progress$: BehaviorSubject = new BehaviorSubject<\n number | null\n >(0);\n private _show$: BehaviorSubject = new BehaviorSubject(\n false\n );\n private _urlMap: Map = new Map();\n\n // -----------------------------------------------------------------------------------------------------\n // @ Accessors\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * Getter for auto mode\n */\n get auto$(): Observable {\n return this._auto$.asObservable();\n }\n\n /**\n * Getter for mode\n */\n get mode$(): Observable<'determinate' | 'indeterminate'> {\n return this._mode$.asObservable();\n }\n\n /**\n * Getter for progress\n */\n get progress$(): Observable {\n return this._progress$.asObservable();\n }\n\n /**\n * Getter for show\n */\n get show$(): Observable {\n return this._show$.asObservable();\n }\n\n // -----------------------------------------------------------------------------------------------------\n // @ Public methods\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * Show the loading bar\n */\n show(): void {\n this._show$.next(true);\n }\n\n /**\n * Hide the loading bar\n */\n hide(): void {\n this._show$.next(false);\n }\n\n /**\n * Set the auto mode\n *\n * @param value\n */\n setAutoMode(value: boolean): void {\n this._auto$.next(value);\n }\n\n /**\n * Set the mode\n *\n * @param value\n */\n setMode(value: 'determinate' | 'indeterminate'): void {\n this._mode$.next(value);\n }\n\n /**\n * Set the progress of the bar manually\n *\n * @param value\n */\n setProgress(value: number): void {\n if (value < 0 || value > 100) {\n console.error('Progress value must be between 0 and 100!');\n return;\n }\n\n this._progress$.next(value);\n }\n\n /**\n * Sets the loading status on the given url\n *\n * @param status\n * @param url\n */\n _setLoadingStatus(status: boolean, url: string): void {\n // Return if the url was not provided\n if (!url) {\n console.error('The request URL must be provided!');\n return;\n }\n\n if (status === true) {\n this._urlMap.set(url, status);\n this._show$.next(true);\n } else if (status === false && this._urlMap.has(url)) {\n this._urlMap.delete(url);\n }\n\n // Only set the status to 'false' if all outgoing requests are completed\n if (this._urlMap.size === 0) {\n this._show$.next(false);\n }\n }\n}\n"],"names":["FusePlatformService","constructor","_platform","inject","Platform","osName","isBrowser","navigator","userAgent","includes","IOS","ANDROID","factory","ɵfac","providedIn","NavigationService","constructor","_httpClient","inject","HttpClient","_navigation","ReplaySubject","navigation$","asObservable","get","pipe","tap","navigation","next","factory","ɵfac","providedIn","FuseLoadingService","constructor","_auto$","BehaviorSubject","_mode$","_progress$","_show$","_urlMap","Map","auto$","asObservable","mode$","progress$","show$","show","next","hide","setAutoMode","value","setMode","setProgress","console","error","_setLoadingStatus","status","url","set","has","delete","size","factory","ɵfac","providedIn"],"mappings":";;sHAIA,IAAaA,GAAmB,IAAA,CAA1B,MAAOA,CAAmB,CAQ5BC,aAAA,CAPQ,KAAAC,UAAYC,EAAOC,CAAQ,EAEnC,KAAAC,OAAS,aAOA,KAAKH,UAAUI,YAKhBC,UAAUC,UAAUC,SAAS,KAAK,IAClC,KAAKJ,OAAS,cAIdE,UAAUC,UAAUC,SAAS,KAAK,IAClC,KAAKJ,OAAS,UAIdE,UAAUC,UAAUC,SAAS,KAAK,IAClC,KAAKJ,OAAS,WAIdE,UAAUC,UAAUC,SAAS,OAAO,IACpC,KAAKJ,OAAS,YAId,KAAKH,UAAUQ,MACf,KAAKL,OAAS,UAId,KAAKH,UAAUS,UACf,KAAKN,OAAS,cAEtB,iDA3CSL,EAAmB,CAAA,iCAAnBA,EAAmBY,QAAnBZ,EAAmBa,UAAAC,WADN,MAAM,CAAA,CAAA,SACnBd,CAAmB,GAAA,ECIhC,IAAae,GAAiB,IAAA,CAAxB,MAAOA,CAAiB,CAW5BC,aAAA,CAVQ,KAAAC,YAAcC,EAAOC,CAAU,EAE/B,KAAAC,YAAyC,IAAIC,EAA0B,CAAC,CAShF,CASA,IAAIC,aAAW,CACb,OAAO,KAAKF,YAAYG,aAAY,CACtC,CASAC,KAAG,CACD,OAAO,KAAKP,YAAYO,IAAgB,uBAAuB,EAAEC,KAC/DC,EAAKC,GAAc,CACjB,KAAKP,YAAYQ,KAAKD,CAAU,CAClC,CAAC,CAAC,CAEN,iDAtCWZ,EAAiB,CAAA,iCAAjBA,EAAiBc,QAAjBd,EAAiBe,UAAAC,WAFhB,MAAM,CAAA,CAAA,SAEPhB,CAAiB,GAAA,ECJ9B,IAAaiB,GAAkB,IAAA,CAAzB,MAAOA,CAAkB,CAD/BC,aAAA,CAEY,KAAAC,OAAmC,IAAIC,EAC3C,EAAI,EAEA,KAAAC,OACJ,IAAID,EAAiD,eAAe,EAChE,KAAAE,WAA6C,IAAIF,EAEvD,CAAC,EACK,KAAAG,OAAmC,IAAIH,EAC3C,EAAK,EAED,KAAAI,QAAgC,IAAIC,IAS5C,IAAIC,OAAK,CACL,OAAO,KAAKP,OAAOQ,aAAY,CACnC,CAKA,IAAIC,OAAK,CACL,OAAO,KAAKP,OAAOM,aAAY,CACnC,CAKA,IAAIE,WAAS,CACT,OAAO,KAAKP,WAAWK,aAAY,CACvC,CAKA,IAAIG,OAAK,CACL,OAAO,KAAKP,OAAOI,aAAY,CACnC,CASAI,MAAI,CACA,KAAKR,OAAOS,KAAK,EAAI,CACzB,CAKAC,MAAI,CACA,KAAKV,OAAOS,KAAK,EAAK,CAC1B,CAOAE,YAAYC,EAAc,CACtB,KAAKhB,OAAOa,KAAKG,CAAK,CAC1B,CAOAC,QAAQD,EAAsC,CAC1C,KAAKd,OAAOW,KAAKG,CAAK,CAC1B,CAOAE,YAAYF,EAAa,CACrB,GAAIA,EAAQ,GAAKA,EAAQ,IAAK,CAC1BG,QAAQC,MAAM,2CAA2C,EACzD,MACJ,CAEA,KAAKjB,WAAWU,KAAKG,CAAK,CAC9B,CAQAK,kBAAkBC,EAAiBC,EAAW,CAE1C,GAAI,CAACA,EAAK,CACNJ,QAAQC,MAAM,mCAAmC,EACjD,MACJ,CAEIE,IAAW,IACX,KAAKjB,QAAQmB,IAAID,EAAKD,CAAM,EAC5B,KAAKlB,OAAOS,KAAK,EAAI,GACdS,IAAW,IAAS,KAAKjB,QAAQoB,IAAIF,CAAG,GAC/C,KAAKlB,QAAQqB,OAAOH,CAAG,EAIvB,KAAKlB,QAAQsB,OAAS,GACtB,KAAKvB,OAAOS,KAAK,EAAK,CAE9B,iDAxHSf,EAAkB,CAAA,iCAAlBA,EAAkB8B,QAAlB9B,EAAkB+B,UAAAC,WADL,MAAM,CAAA,CAAA,SACnBhC,CAAkB,GAAA","debug_id":"22aedb59-dc02-529f-b710-9bae36201a06"}