{"version":3,"file":"metromobilite-m-features-point-cov.mjs","sources":["../../../projects/lib-m-features/point-cov/src/directives/mco-enabled.directive.ts","../../../projects/lib-m-features/point-cov/src/point-cov.service.ts","../../../projects/lib-m-features/point-cov/src/helpers/mco.helpers.ts","../../../projects/lib-m-features/point-cov/src/point-cov/point-cov.component.ts","../../../projects/lib-m-features/point-cov/src/point-cov/point-cov.component.html","../../../projects/lib-m-features/point-cov/src/point-cov.module.ts","../../../projects/lib-m-features/point-cov/metromobilite-m-features-point-cov.ts"],"sourcesContent":["import { Directive, Input, OnDestroy, OnInit } from '@angular/core';\r\nimport { DistanceHelper, GeolocationService, GeolocationWatcher } from '@metromobilite/m-features/core';\r\nimport { BehaviorSubject, combineLatest, of, Subject } from 'rxjs';\r\nimport { catchError, takeUntil } from 'rxjs/operators';\r\n\r\n@Directive({\r\n\tselector: '[mfMcoEnabled]',\r\n\texportAs: 'mfMcoEnabled'\r\n})\r\nexport class MfMcoEnabledDirective implements OnInit, OnDestroy {\r\n\r\n\tisDisabled$ = new BehaviorSubject(true);\r\n\r\n\t@Input() startAt?: number;\r\n\t@Input() at: [number, number];\r\n\r\n\treasons: any[] = [];\r\n\r\n\tprivate unsubscriber = new Subject<void>();\r\n\tprivate geolocationWatcher: GeolocationWatcher;\r\n\r\n\tconstructor(\r\n\t\tprivate geolocationService: GeolocationService,\r\n\t\tprivate distanceHelper: DistanceHelper\r\n\t) { }\r\n\r\n\tngOnInit(): void {\r\n\t\tthis.reasons = [];\r\n\t\tthis.geolocationWatcher = this.geolocationService.watch();\r\n\t\tcombineLatest([\r\n\t\t\tof(this.dateIsOk),\r\n\t\t\tthis.geolocationWatcher.changes$.pipe(catchError(() => of(null)))\r\n\t\t]).pipe(takeUntil(this.unsubscriber)).subscribe({\r\n\t\t\tnext: ([dateIsOk, _]) => {\r\n\t\t\t\tthis.reasons = [];\r\n\t\t\t\t// The reasons are pushed into an array to keep them for display.\r\n\t\t\t\t// The first reason is the error message to display if we have more than 1 reason (?)\r\n\t\t\t\t// if (!dateIsOk) {\r\n\t\t\t\t// \tthis.reasons.push({ reason: 'date-out-of-range' });\r\n\t\t\t\t// }\r\n\t\t\t\tif (!this.geolocationService.available) {\r\n\t\t\t\t\tthis.reasons.push({ reason: 'geolocation-unavailable' });\r\n\t\t\t\t} else {\r\n\t\t\t\t\tif (this.geolocationService.refused === true) {\r\n\t\t\t\t\t\tthis.reasons.push({ reason: 'geolocation-refused' });\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tif (!this.userIsWithin100m) {\r\n\t\t\t\t\t\t\tthis.reasons.push({ reason: 'too-far' });\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tthis.isDisabled$.next(this.reasons.length > 0);\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tngOnDestroy(): void {\r\n\t\tthis.unsubscriber.next();\r\n\t\tthis.unsubscriber.complete();\r\n\t\tthis.geolocationWatcher.clearWatch();\r\n\t}\r\n\r\n\tprivate get dateIsOk(): boolean {\r\n\t\tconst mcoStart = this.startAt ? new Date(this.startAt) : null;\r\n\t\tconst dayStart = new Date().setHours(6, 45);\r\n\t\tconst dayEnd = new Date().setHours(20);\r\n\t\tconst now = new Date();\r\n\t\tconst nowIsBeetwinStartAndEnd = (now.getTime() > dayStart) && (now.getTime() < dayEnd);\r\n\t\tconst startIsBeetwinStartAndAQuarterAndStart = mcoStart !== null && (mcoStart.getTime() && (now.getTime() > (mcoStart.setMinutes(mcoStart.getMinutes() + 15)) && (now.getTime() < mcoStart.getTime())));\r\n\r\n\t\treturn  !mcoStart || nowIsBeetwinStartAndEnd &&startIsBeetwinStartAndAQuarterAndStart;\r\n\t}\r\n\r\n\tprivate get userIsWithin100m(): boolean {\r\n\t\tif (!this.at || !this.geolocationService.position) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\treturn this.distanceHelper.calculate(this.at, this.geolocationService.coordinates) < 100;\r\n\t}\r\n\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { Destination } from './point-cov.model';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PointCovService {\r\n\r\n\r\n\tconstructor(\r\n\t\tprivate http: HttpClient,\r\n\t) { }\r\n\r\n\tgetDestinations(lineId: string): Observable<Destination[]> {\r\n\t\treturn this.http.get<Destination[]>(`@domain/@api/routers/default/index/clusters/${lineId}/destinations`);\r\n\t}\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Poi } from '@metromobilite/m-features/reference';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class McoHelper {\r\n\r\n\tpmUrl = '/mypass/services/car-and-carpool/carpool/mcovoitlignes/recap';\r\n\r\n\tbuildURLSearchParams(data: { tripId: string, startStation: string, endStation: string, fare: any }): URLSearchParams {\r\n\t\tconst matchId = (data.tripId as never as string).match(/od_([0-9]*)_trip/);\r\n\t\tlet price = '0.00';\r\n\t\tif (data.fare) {\r\n\t\t\tif (typeof data.fare.price === 'object') {\r\n\t\t\t\tprice = (data.fare.price.cents / 100).toFixed(2);\r\n\t\t\t} else if (typeof data.fare.price === 'string') {\r\n\t\t\t\tprice = data.fare.price;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn new URLSearchParams({\r\n\t\t\ttripId: matchId[1],\r\n\t\t\tstartStation: data.startStation,\r\n\t\t\tendStation: data.endStation,\r\n\t\t\tprice\r\n\t\t});\r\n\t}\r\n\r\n\tisEcov(poi: Poi) {\r\n\t\treturn typeof poi.properties.CODE === 'string' && poi.properties.CODE.includes('MCO');\r\n\t}\r\n}\r\n","import {Component, Input, OnDestroy, OnInit} from '@angular/core';\r\nimport {FilterPipe} from '@metromobilite/m-features/core';\r\nimport {Poi} from '@metromobilite/m-features/reference';\r\nimport {Subject} from 'rxjs';\r\nimport {takeUntil} from 'rxjs/operators';\r\nimport {McoHelper} from '../helpers/mco.helpers';\r\nimport {Destination} from '../point-cov.model';\r\nimport {PointCovService} from '../point-cov.service';\r\n\r\n@Component({\r\n\tselector: 'mf-point-cov', templateUrl: './point-cov.component.html', styleUrls: ['./point-cov.component.scss'],\r\n})\r\nexport class PointCovComponent implements OnInit, OnDestroy {\r\n\r\n\t@Input() poi: Poi;\r\n\tdestinations: Destination[] = [];\r\n\tprivate unSubscriber = new Subject<void>();\r\n\r\n\tconstructor(private pointCovService: PointCovService, private mcoHelper: McoHelper, private filter: FilterPipe) {\r\n\t}\r\n\r\n\r\n\tngOnInit(): void {\r\n\t\tthis.pointCovService.getDestinations(this.poi.properties.CODE).pipe(takeUntil(this.unSubscriber)).subscribe(destinations => {\r\n\t\t\tconst dests: any[] = this.filter.transform(destinations, 'sample_trip_id', 'MCO');\r\n\t\t\tdests.forEach(destination => {\r\n\t\t\t\tconst urlParams = this.mcoHelper.buildURLSearchParams({\r\n\t\t\t\t\ttripId: destination.sample_trip_id,\r\n\t\t\t\t\tstartStation: this.poi.properties.nom_lieu,\r\n\t\t\t\t\tendStation: destination.destination_name,\r\n\t\t\t\t\tfare: destination.fare,\r\n\t\t\t\t});\r\n\t\t\t\tdestination.url = `${this.mcoHelper.pmUrl}?${urlParams}`;\r\n\t\t\t\tthis.destinations.push(destination);\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis.unSubscriber.next();\r\n\t\tthis.unSubscriber.complete();\r\n\t}\r\n}\r\n","<ng-container *ngIf=\"destinations.length > 0; else emptyData\">\r\n\t<ng-container mfMcoEnabled\r\n\t\t[at]=\"poi.properties.meta ? poi.properties.meta.lonLatCoordinates : poi.geometry.coordinates\"\r\n\t\t#mco=\"mfMcoEnabled\">\r\n\t\t<mat-nav-list>\r\n\t\t\t<mat-list-item *ngFor=\"let destination of destinations\" [disabled]=\"mco.isDisabled$ | async\" class=\"mco-destination-wrapper\"\r\n\t\t\t\t[ngClass]=\"{'non-clickable': mco.isDisabled$ | async}\">\r\n\t\t\t\t<a matListItemTitle [attr.href]=\"(mco.isDisabled$ | async) ? null : destination.url\">\r\n\t\t\t\t\t<m-logo-lines matListItemAvatar [ligne]=\"destination.route_code | line\"\r\n\t\t\t\t\t\t\t\t  [height]=\"60\" [width]=\"56\" class=\"margin--right\">\r\n\t\t\t\t\t</m-logo-lines>\r\n\t\t\t\t\t<div class=\"column\">\r\n\t\t\t\t\t\t<span matListItemTitle class=\"ellipsis item-name\">{{ destination.destination_name }}</span>\r\n\t\t\t\t\t\t<span class=\"ellipsis sub-line\">{{ destination.destination_city }}</span>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"spacer\"></div>\r\n\t\t\t\t\t<div matListItemMeta class=\"margin--right---small go-button-wrapper\"\r\n\t\t\t\t\t\t[ngClass]=\"{ isDisabled: mco.isDisabled$ | async }\">\r\n\t\t\t\t\t\t<m-icons class=\"icon-left\">near_me</m-icons>\r\n\t\t\t\t\t\t<span>Go !</span>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</a>\r\n\t\t\t</mat-list-item>\r\n\t\t</mat-nav-list>\r\n\t\t<p class=\"text-secondary padding--all---spacing\" *ngIf=\"mco.reasons.length > 0\">\r\n\t\t\tPour pouvoir covoiturer, veuillez vous rendre au point de prise en charge de départ du trajet M covoit'\r\n\t\t\tLignes+ souhaité.\r\n\t\t</p>\r\n\t</ng-container>\r\n</ng-container>\r\n\r\n<ng-template #emptyData>\r\n\t<span class=\"layout align-center content-center text-secondary padding--tb---spacing-2\">\r\n\t\tAucune prise en charge M covoit' Lignes+ disponible actuellement.\r\n\t</span>\r\n</ng-template>\r\n","import {CommonModule} from '@angular/common';\r\nimport {NgModule} from '@angular/core';\r\nimport {MatButtonModule} from '@angular/material/button';\r\nimport {MatIconModule} from '@angular/material/icon';\r\nimport {MatListModule} from '@angular/material/list';\r\n\r\nimport {CoreModule, FilterPipe} from '@metromobilite/m-features/core';\r\nimport { MIcons } from '@metromobilite/m-ui/lib/m-icons';\r\nimport { MLogoLines } from '@metromobilite/m-ui/lib/m-logo-lines';\r\nimport {MfMcoEnabledDirective} from './directives/mco-enabled.directive';\r\nimport {PointCovComponent} from './point-cov/point-cov.component';\r\n\r\n\r\n@NgModule({\r\n\tdeclarations: [PointCovComponent, MfMcoEnabledDirective],\r\n    imports: [CommonModule, CoreModule, MatListModule, MatButtonModule, MatIconModule, MIcons, MLogoLines],\r\n\texports: [PointCovComponent, MfMcoEnabledDirective, FilterPipe],\r\n\tproviders: [FilterPipe],\r\n})\r\nexport class PointCovModule {\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i1.PointCovService","i2.McoHelper","i3","i8.MfMcoEnabledDirective"],"mappings":"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"}