{"version":3,"file":"metromobilite-m-features-disturbances.mjs","sources":["../../../projects/lib-m-features/disturbances/src/has-disturbance.directive.ts","../../../projects/lib-m-features/disturbances/src/pipes/disturbances-routerlink.pipe.ts","../../../projects/lib-m-features/disturbances/src/disturbances.module.ts","../../../projects/lib-m-features/disturbances/src/disturbances.resolver.ts","../../../projects/lib-m-features/disturbances/src/disturbance.resolver.ts","../../../projects/lib-m-features/disturbances/metromobilite-m-features-disturbances.ts"],"sourcesContent":["import {Directive, HostBinding, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\nimport {ExtendedDisturbance} from './disturbances.model';\r\nimport {DisturbancesService} from '@metromobilite/m-features/dyn';\r\n\r\n@Directive({\r\n\tselector: '[mfHasDisturbance]', exportAs: 'mfHasDisturbance',\r\n})\r\nexport class HasDisturbanceDirective implements OnChanges, OnInit {\r\n\r\n\t@HostBinding('class') public hostClass = '';\r\n\t@Input('mfHasDisturbance') disturbanceOptions: { lineOrNsv: string | number, activateHostBinding?: boolean };\r\n\t@Input() outer: boolean;\r\n\r\n\tcalculatedClasses = '';\r\n\tevent: ExtendedDisturbance;\r\n\tnsv: number;\r\n\thasDisturbance: boolean;\r\n\tactivateHostbinding = true;\r\n\tprivate evtTc : any = {};\r\n\r\n\tconstructor(private disturbancesService: DisturbancesService) {\r\n\t}\r\n\r\n\tngOnInit(): void {\r\n\t\tthis.disturbancesService.disturbanceTCAsObservable().subscribe((disturbances: any) => {\r\n\t\t\tthis.evtTc = disturbances;\r\n\t\t\tif( typeof this.disturbanceOptions.lineOrNsv !== 'number' && typeof this.evtTc[this.disturbanceOptions.lineOrNsv] !== 'undefined'){\r\n\t\t\t\tthis.nsv = this.evtTc[this.disturbanceOptions.lineOrNsv]['niveauService'];\r\n\t\t\t\tthis.hasDisturbance = this.nsv >= 2 && this.nsv <= 4;\r\n\t\t\t} else {\r\n\t\t\t\tthis.hasDisturbance = false;\r\n\t\t\t}\r\n\t\t\tthis.updateClasses();\r\n\t\t});\r\n\t}\r\n\r\n\tngOnChanges(changes: SimpleChanges): void {\r\n\t\tlet nsvIds: { nsv_id: number }[];\r\n\t\tif (typeof changes.disturbanceOptions.currentValue.lineOrNsv === 'number') {\r\n\t\t\tnsvIds = [{nsv_id: changes.disturbanceOptions.currentValue.lineOrNsv}];\r\n\t\t} else {\r\n\r\n\t\t\tnsvIds = this.evtTc[changes.disturbanceOptions.currentValue.lineOrNsv];\r\n\t\t}\r\n\t\tif (nsvIds && nsvIds.length > 0) {\r\n\t\t\tthis.nsv = nsvIds[nsvIds.length - 1].nsv_id;\r\n\t\t\t// The service level (nsv) is a number between 0 and 5.\r\n\t\t\t// Here, we only take into account the 2, 3 and 4 levels.\r\n\t\t\tthis.hasDisturbance = this.nsv >= 2 && this.nsv <= 4;\r\n\t\t} else {\r\n\t\t\tthis.hasDisturbance = false;\r\n\t\t}\r\n\r\n\t\tif (changes.disturbanceOptions.currentValue.activateHostBinding !== null &&\r\n\t\t\tchanges.disturbanceOptions.currentValue.activateHostBinding !== undefined) {\r\n\t\t\tthis.activateHostbinding = changes.disturbanceOptions.currentValue.activateHostBinding;\r\n\t\t}\r\n\t\tthis.updateClasses();\r\n\t}\r\n\r\n\tupdateClasses(): void {\r\n\t\tthis.hostClass = '';\r\n\t\tif (this.hasDisturbance) {\r\n\t\t\tconst obj = {};\r\n\t\t\tobj['has-disturbance'] = this.hasDisturbance;\r\n\t\t\tobj[`disturbance-${this.nsv}`] = this.hasDisturbance;\r\n\t\t\tobj['disturbance-position-outer'] = this.outer;\r\n\t\t\tconst classes = Object.entries(obj).filter(([_, value]) => value).map(([className, _]) => className).join(' ');\r\n\t\t\tif (this.activateHostbinding) {\r\n\t\t\t\tthis.hostClass = classes;\r\n\t\t\t}\r\n\t\t\tthis.calculatedClasses = classes;\r\n\t\t}\r\n\t}\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { Disturbance } from '@metromobilite/m-features/dyn';\r\n\r\n@Pipe({\r\n\tname: 'mfDisturbanceRouterLink',\r\n})\r\nexport class DisturbanceRouterLinkPipe implements PipeTransform {\r\n\ttransform(disturbanceCollection: Disturbance[], lineId: string): string {\r\n\t\tif (disturbanceCollection.length === 1) {\r\n\t\t\treturn `/perturbations/detail/${disturbanceCollection[0].code}`;\r\n\t\t} else {\r\n\t\t\treturn `/horaires/lignes/detailligne/${lineId}/perturbations`;\r\n\t\t}\r\n\t}\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport {MatButtonModule} from '@angular/material/button';\r\nimport { CoreModule } from '@metromobilite/m-features/core';\r\nimport {MIcons} from '@metromobilite/m-ui';\r\nimport { HasDisturbanceDirective } from './has-disturbance.directive';\r\nimport { DynModule } from '@metromobilite/m-features/dyn';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { RouterModule } from '@angular/router';\r\nimport { DisturbanceRouterLinkPipe } from './pipes/disturbances-routerlink.pipe';\r\n\r\n\r\n\r\n@NgModule({\r\n\tdeclarations: [\r\n\t\tHasDisturbanceDirective,\r\n\t\tDisturbanceRouterLinkPipe\r\n\t],\r\n\texports: [\r\n\t\tHasDisturbanceDirective,\r\n\t\tDisturbanceRouterLinkPipe\r\n\t],\r\n\timports: [\r\n\t\tCommonModule,\r\n\t\tHttpClientModule,\r\n\t\tCoreModule,\r\n\t\tDynModule,\r\n\t\tMatIconModule,\r\n\t\tRouterModule,\r\n\t\tMIcons,\r\n\t\tMatButtonModule\r\n\t]\r\n})\r\nexport class DisturbancesModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, Resolve, RouterStateSnapshot } from '@angular/router';\r\nimport { LinesService } from '@metromobilite/m-features/core';\r\nimport { DisturbancesCollection, DisturbancesService } from '@metromobilite/m-features/dyn';\r\nimport { Observable, of } from 'rxjs';\r\nimport { catchError, first, map, take, takeUntil } from 'rxjs/operators';\r\nimport { ExtendedDisturbance } from './disturbances.model';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class DisturbancesResolver implements Resolve<DisturbancesCollection> {\r\n\r\n\tprivate data?: DisturbancesCollection;\r\n\tprivate timestamp: number = Date.now();\r\n\r\n\tconstructor(private disturbancesService: DisturbancesService, private linesService: LinesService) {\r\n\t}\r\n\r\n\tresolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<DisturbancesCollection> {\r\n\t\t// if (this.data && this.timestamp + 40000 >= Date.now()) {\r\n\t\t// \treturn of(this.data);\r\n\t\t// }\r\n\t\tlet collectionDisturbance = this.disturbancesService.dataDisturbance;\r\n\t\tObject.values(collectionDisturbance).forEach((disturbance: ExtendedDisturbance) => {\r\n\t\t\tdisturbance.computed = {};\r\n\t\t\tif (disturbance.texte) {\r\n\t\t\t\tconst firstSplit: string[] = disturbance.texte.split(' : ', 2);\r\n\t\t\t\tif (firstSplit.length === 2) {\r\n\t\t\t\t\tconst data: string = firstSplit[1];\r\n\t\t\t\t\tconst secondSplit: string[] = data.split('|');\r\n\t\t\t\t\tif (secondSplit.length > 0) {\r\n\t\t\t\t\t\tdisturbance.computed.title = secondSplit.shift().trim();\r\n\t\t\t\t\t\tdisturbance.computed.content = secondSplit.join('<br>').trim();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (disturbance.listeLigne) {\r\n\t\t\t\tconst lineCode: string = disturbance.listeLigne.replace('_', ':');\r\n\t\t\t\t// Fake line because no data exists for SACADO type of lines\r\n\t\t\t\tif (lineCode === 'sacado') {\r\n\t\t\t\t\tdisturbance.computed.line = {\r\n\t\t\t\t\t\tcolor: 'ffec00',\r\n\t\t\t\t\t\tgtfsId: 'sacado',\r\n\t\t\t\t\t\tid: 'sacado',\r\n\t\t\t\t\t\tlongName: 'Ligne scolaire',\r\n\t\t\t\t\t\tmode: 'BUS',\r\n\t\t\t\t\t\tshortName: 'SACADO',\r\n\t\t\t\t\t\ttextColor: '000000',\r\n\t\t\t\t\t\ttype: 'SCOL'\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tdisturbance.computed.line = this.linesService.find(lineCode);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t\tthis.data = collectionDisturbance;\r\n\t\tthis.timestamp = Date.now();\r\n\t\treturn of(collectionDisturbance);\r\n\t}\r\n\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {ActivatedRouteSnapshot, Resolve, Router, RouterStateSnapshot} from '@angular/router';\r\nimport {Line, LinesResolver} from '@metromobilite/m-features/core';\r\nimport {Disturbance, DisturbancesCollection} from '@metromobilite/m-features/dyn';\r\nimport {from, Observable, of} from 'rxjs';\r\nimport {catchError, map, switchMap} from 'rxjs/operators';\r\nimport {DisturbancesResolver} from './disturbances.resolver';\r\n\r\n@Injectable({providedIn: 'root'})\r\nexport class DisturbanceResolver implements Resolve<Disturbance> {\r\n\r\n\tconstructor(private disturbancesResolver: DisturbancesResolver, private linesResolver: LinesResolver, private router: Router) {\r\n\t}\r\n\r\n\tresolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Disturbance | Observable<Disturbance> | Promise<Disturbance> {\r\n\t\tlet lineOrPromise: Line[] | Promise<Line[]> = this.linesResolver.resolve(route, state);\r\n\t\tif (Array.isArray(lineOrPromise)) {\r\n\t\t\tlineOrPromise = Promise.resolve(lineOrPromise);\r\n\t\t}\r\n\t\treturn from(lineOrPromise).pipe(\r\n\t\t\tcatchError((error) => {\r\n\t\t\t\t// console.error('Error fetching getLines in DisturbanceResolver: ', error);\r\n\t\t\t\treturn of({} as Disturbance);\r\n\t\t\t}),\r\n\t\t\tswitchMap(() => (this.disturbancesResolver.resolve(route, state) as unknown as Observable<DisturbancesCollection>)),\r\n\t\t\tmap((collection: DisturbancesCollection) => {\r\n\t\t\t\tif (collection[route.params.id]) {\r\n\t\t\t\t\treturn collection[route.params.id];\r\n\t\t\t\t}\r\n\t\t\t\tthis.router.navigateByUrl('/perturbations');\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.DisturbancesResolver"],"mappings":"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"}