mobility-toolbox-js 2.0.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (271) hide show
  1. package/api/RealtimeAPI.d.ts +279 -0
  2. package/api/RealtimeAPI.d.ts.map +1 -0
  3. package/api/RealtimeAPI.js +466 -0
  4. package/api/RoutingAPI.d.ts +37 -0
  5. package/api/RoutingAPI.d.ts.map +1 -0
  6. package/api/RoutingAPI.js +35 -0
  7. package/api/StopsAPI.d.ts +38 -0
  8. package/api/StopsAPI.d.ts.map +1 -0
  9. package/api/StopsAPI.js +36 -0
  10. package/api/index.d.ts +4 -0
  11. package/api/index.d.ts.map +1 -0
  12. package/api/index.js +3 -3
  13. package/api/typedefs.d.ts +179 -0
  14. package/api/typedefs.d.ts.map +1 -0
  15. package/api/{tralis/typedefs.js → typedefs.js} +4 -10
  16. package/common/api/HttpAPI.d.ts +31 -0
  17. package/common/api/HttpAPI.d.ts.map +1 -0
  18. package/common/api/HttpAPI.js +57 -0
  19. package/common/api/WebSocketAPI.d.ts +153 -0
  20. package/common/api/WebSocketAPI.d.ts.map +1 -0
  21. package/common/api/WebSocketAPI.js +341 -0
  22. package/common/controls/ControlCommon.d.ts +76 -0
  23. package/common/controls/ControlCommon.d.ts.map +1 -0
  24. package/common/controls/ControlCommon.js +150 -0
  25. package/common/controls/CopyrightControlCommon.d.ts +13 -0
  26. package/common/controls/CopyrightControlCommon.d.ts.map +1 -0
  27. package/common/controls/CopyrightControlCommon.js +34 -0
  28. package/common/controls/StopFinderControlCommon.d.ts +55 -0
  29. package/common/controls/StopFinderControlCommon.d.ts.map +1 -0
  30. package/common/controls/StopFinderControlCommon.js +144 -0
  31. package/common/index.d.ts +3 -0
  32. package/common/index.d.ts.map +1 -0
  33. package/common/index.js +2 -0
  34. package/common/layers/LayerCommon.d.ts +94 -0
  35. package/common/layers/LayerCommon.d.ts.map +1 -0
  36. package/common/layers/LayerCommon.js +244 -0
  37. package/common/mixins/RealtimeLayerMixin.d.ts +286 -0
  38. package/common/mixins/RealtimeLayerMixin.d.ts.map +1 -0
  39. package/common/mixins/RealtimeLayerMixin.js +776 -0
  40. package/common/mixins/UserInteractionsLayerMixin.d.ts +60 -0
  41. package/common/mixins/UserInteractionsLayerMixin.d.ts.map +1 -0
  42. package/common/mixins/UserInteractionsLayerMixin.js +241 -0
  43. package/common/styles/index.d.ts +5 -0
  44. package/common/styles/index.d.ts.map +1 -0
  45. package/common/styles/index.js +4 -4
  46. package/common/styles/realtimeDefaultStyle.d.ts +36 -0
  47. package/common/styles/realtimeDefaultStyle.d.ts.map +1 -0
  48. package/common/styles/realtimeDefaultStyle.js +275 -0
  49. package/common/styles/{trackerDelayStyle.js → realtimeDelayStyle.d.ts} +4 -9
  50. package/common/styles/realtimeDelayStyle.d.ts.map +1 -0
  51. package/common/styles/realtimeDelayStyle.js +13 -0
  52. package/common/styles/realtimeHeadingStyle.d.ts +12 -0
  53. package/common/styles/realtimeHeadingStyle.d.ts.map +1 -0
  54. package/common/styles/realtimeHeadingStyle.js +85 -0
  55. package/common/styles/realtimeSimpleStyle.d.ts +4 -0
  56. package/common/styles/realtimeSimpleStyle.d.ts.map +1 -0
  57. package/common/styles/realtimeSimpleStyle.js +23 -0
  58. package/common/typedefs.d.ts +111 -0
  59. package/common/typedefs.d.ts.map +1 -0
  60. package/common/typedefs.js +35 -6
  61. package/common/utils/compareDepartures.d.ts +11 -0
  62. package/common/utils/compareDepartures.d.ts.map +1 -0
  63. package/common/utils/compareDepartures.js +35 -0
  64. package/common/utils/createCanvas.d.ts +10 -0
  65. package/common/utils/createCanvas.d.ts.map +1 -0
  66. package/common/utils/createCanvas.js +27 -0
  67. package/common/utils/createRealtimeFilters.d.ts +13 -0
  68. package/common/utils/createRealtimeFilters.d.ts.map +1 -0
  69. package/common/utils/createRealtimeFilters.js +74 -0
  70. package/common/utils/debounceDeparturesMessages.d.ts +12 -0
  71. package/common/utils/debounceDeparturesMessages.d.ts.map +1 -0
  72. package/common/utils/debounceDeparturesMessages.js +24 -0
  73. package/common/utils/debounceWebsocketMessages.d.ts +11 -0
  74. package/common/utils/debounceWebsocketMessages.d.ts.map +1 -0
  75. package/common/utils/debounceWebsocketMessages.js +29 -0
  76. package/common/utils/getLayersAsFlatArray.d.ts +3 -0
  77. package/common/utils/getLayersAsFlatArray.d.ts.map +1 -0
  78. package/common/utils/getLayersAsFlatArray.js +15 -0
  79. package/common/utils/getMapboxMapCopyrights.d.ts +18 -0
  80. package/common/utils/getMapboxMapCopyrights.d.ts.map +1 -0
  81. package/common/utils/getMapboxMapCopyrights.js +21 -23
  82. package/common/utils/getMapboxRender.d.ts +7 -0
  83. package/common/utils/getMapboxRender.d.ts.map +1 -0
  84. package/common/utils/getMapboxRender.js +87 -0
  85. package/common/utils/getMaplibreRender.d.ts +7 -0
  86. package/common/utils/getMaplibreRender.d.ts.map +1 -0
  87. package/common/utils/getMaplibreRender.js +38 -0
  88. package/common/utils/getRealtimeModeSuffix.d.ts +10 -0
  89. package/common/utils/getRealtimeModeSuffix.d.ts.map +1 -0
  90. package/common/utils/getRealtimeModeSuffix.js +7 -0
  91. package/common/utils/getUrlWithParams.d.ts +9 -0
  92. package/common/utils/getUrlWithParams.d.ts.map +1 -0
  93. package/common/utils/getUrlWithParams.js +18 -0
  94. package/common/utils/getVehiclePosition.d.ts +16 -0
  95. package/common/utils/getVehiclePosition.d.ts.map +1 -0
  96. package/common/utils/getVehiclePosition.js +60 -60
  97. package/common/utils/index.d.ts +17 -0
  98. package/common/utils/index.d.ts.map +1 -0
  99. package/common/utils/index.js +13 -2
  100. package/common/utils/realtimeConfig.d.ts +49 -0
  101. package/common/utils/realtimeConfig.d.ts.map +1 -0
  102. package/common/utils/realtimeConfig.js +173 -0
  103. package/common/utils/removeDuplicate.d.ts +10 -0
  104. package/common/utils/removeDuplicate.d.ts.map +1 -0
  105. package/common/utils/removeDuplicate.js +5 -12
  106. package/common/utils/renderTrajectories.d.ts +17 -0
  107. package/common/utils/renderTrajectories.d.ts.map +1 -0
  108. package/common/utils/renderTrajectories.js +110 -0
  109. package/common/utils/sortAndFilterDepartures.d.ts +16 -0
  110. package/common/utils/sortAndFilterDepartures.d.ts.map +1 -0
  111. package/common/utils/sortAndFilterDepartures.js +58 -0
  112. package/common/utils/sortByDelay.d.ts +3 -0
  113. package/common/utils/sortByDelay.d.ts.map +1 -0
  114. package/common/utils/sortByDelay.js +17 -20
  115. package/common/utils/timeUtils.d.ts +24 -0
  116. package/common/utils/timeUtils.d.ts.map +1 -0
  117. package/common/utils/timeUtils.js +13 -18
  118. package/iife.d.ts +3 -0
  119. package/iife.d.ts.map +1 -0
  120. package/iife.js +5 -0
  121. package/index.d.ts +10 -0
  122. package/index.d.ts.map +1 -0
  123. package/index.js +10 -2
  124. package/mapbox/controls/CopyrightControl.d.ts +29 -0
  125. package/mapbox/controls/CopyrightControl.d.ts.map +1 -0
  126. package/mapbox/controls/CopyrightControl.js +25 -35
  127. package/mapbox/controls/index.d.ts +2 -0
  128. package/mapbox/controls/index.d.ts.map +1 -0
  129. package/mapbox/controls/index.js +2 -0
  130. package/mapbox/index.d.ts +6 -0
  131. package/mapbox/index.d.ts.map +1 -0
  132. package/mapbox/index.js +5 -3
  133. package/mapbox/layers/Layer.d.ts +59 -0
  134. package/mapbox/layers/Layer.d.ts.map +1 -0
  135. package/mapbox/layers/Layer.js +78 -95
  136. package/mapbox/layers/RealtimeLayer.d.ts +181 -0
  137. package/mapbox/layers/RealtimeLayer.d.ts.map +1 -0
  138. package/mapbox/layers/RealtimeLayer.js +276 -0
  139. package/mapbox/layers/index.d.ts +3 -0
  140. package/mapbox/layers/index.d.ts.map +1 -0
  141. package/mapbox/layers/index.js +2 -0
  142. package/mapbox/utils/getMercatorResolution.d.ts +9 -0
  143. package/mapbox/utils/getMercatorResolution.d.ts.map +1 -0
  144. package/mapbox/utils/getMercatorResolution.js +18 -0
  145. package/mapbox/utils/getSourceCoordinates.d.ts +9 -0
  146. package/mapbox/utils/getSourceCoordinates.d.ts.map +1 -0
  147. package/mapbox/utils/getSourceCoordinates.js +27 -0
  148. package/mapbox/utils/index.d.ts +3 -0
  149. package/mapbox/utils/index.d.ts.map +1 -0
  150. package/mapbox/utils/index.js +2 -0
  151. package/mbt.js +60005 -0
  152. package/mbt.js.map +7 -0
  153. package/mbt.min.js +1084 -0
  154. package/mbt.min.js.map +7 -0
  155. package/ol/controls/CopyrightControl.d.ts +31 -0
  156. package/ol/controls/CopyrightControl.d.ts.map +1 -0
  157. package/ol/controls/CopyrightControl.js +44 -56
  158. package/ol/controls/RoutingControl.d.ts +193 -0
  159. package/ol/controls/RoutingControl.d.ts.map +1 -0
  160. package/ol/controls/RoutingControl.js +546 -667
  161. package/ol/controls/StopFinderControl.d.ts +30 -0
  162. package/ol/controls/StopFinderControl.d.ts.map +1 -0
  163. package/ol/controls/StopFinderControl.js +10 -16
  164. package/ol/controls/index.d.ts +4 -0
  165. package/ol/controls/index.d.ts.map +1 -0
  166. package/ol/controls/index.js +3 -0
  167. package/ol/index.d.ts +6 -0
  168. package/ol/index.d.ts.map +1 -0
  169. package/ol/index.js +4 -12
  170. package/ol/layers/Layer.d.ts +86 -0
  171. package/ol/layers/Layer.d.ts.map +1 -0
  172. package/ol/layers/Layer.js +147 -166
  173. package/ol/layers/MapGlLayer.d.ts +67 -0
  174. package/ol/layers/MapGlLayer.d.ts.map +1 -0
  175. package/ol/layers/MapGlLayer.js +218 -0
  176. package/ol/layers/MapboxLayer.d.ts +50 -0
  177. package/ol/layers/MapboxLayer.d.ts.map +1 -0
  178. package/ol/layers/MapboxLayer.js +79 -348
  179. package/ol/layers/MapboxStyleLayer.d.ts +129 -0
  180. package/ol/layers/MapboxStyleLayer.d.ts.map +1 -0
  181. package/ol/layers/MapboxStyleLayer.js +329 -368
  182. package/ol/layers/MaplibreLayer.d.ts +28 -0
  183. package/ol/layers/MaplibreLayer.d.ts.map +1 -0
  184. package/ol/layers/MaplibreLayer.js +13 -259
  185. package/ol/layers/RealtimeLayer.d.ts +202 -0
  186. package/ol/layers/RealtimeLayer.d.ts.map +1 -0
  187. package/ol/layers/RealtimeLayer.js +340 -0
  188. package/ol/layers/RoutingLayer.d.ts +34 -0
  189. package/ol/layers/RoutingLayer.d.ts.map +1 -0
  190. package/ol/layers/RoutingLayer.js +62 -68
  191. package/ol/layers/VectorLayer.d.ts +25 -0
  192. package/ol/layers/VectorLayer.d.ts.map +1 -0
  193. package/ol/layers/VectorLayer.js +27 -32
  194. package/ol/layers/WMSLayer.d.ts +42 -0
  195. package/ol/layers/WMSLayer.d.ts.map +1 -0
  196. package/ol/layers/WMSLayer.js +74 -66
  197. package/ol/layers/index.d.ts +9 -0
  198. package/ol/layers/index.d.ts.map +1 -0
  199. package/ol/layers/index.js +8 -0
  200. package/ol/styles/fullTrajectoryDelayStyle.d.ts +4 -0
  201. package/ol/styles/fullTrajectoryDelayStyle.d.ts.map +1 -0
  202. package/ol/styles/fullTrajectoryDelayStyle.js +23 -25
  203. package/ol/styles/fullTrajectoryStyle.d.ts +5 -0
  204. package/ol/styles/fullTrajectoryStyle.d.ts.map +1 -0
  205. package/ol/styles/fullTrajectoryStyle.js +37 -44
  206. package/ol/styles/index.d.ts +3 -0
  207. package/ol/styles/index.d.ts.map +1 -0
  208. package/package.json +98 -177
  209. package/setupTests.d.ts +2 -0
  210. package/setupTests.d.ts.map +1 -0
  211. package/setupTests.js +26 -0
  212. package/types/common.d.ts +122 -0
  213. package/types/index.d.ts +11 -0
  214. package/types/realtime.d.ts +320 -0
  215. package/types/routing.d.ts +206 -0
  216. package/types/stops.d.ts +143 -0
  217. package/README.md +0 -23
  218. package/api/routing/RoutingAPI.js +0 -44
  219. package/api/routing/RoutingAPI.test.js +0 -41
  220. package/api/stops/StopsAPI.js +0 -41
  221. package/api/stops/StopsAPI.test.js +0 -34
  222. package/api/tralis/TralisAPI.js +0 -731
  223. package/api/tralis/TralisAPI.test.js +0 -75
  224. package/api/tralis/TralisAPIUtils.js +0 -73
  225. package/api/tralis/WebSocketConnector.js +0 -338
  226. package/api/tralis/WebSocketConnector.test.js +0 -356
  227. package/common/Tracker.js +0 -197
  228. package/common/api/api.js +0 -64
  229. package/common/api/api.test.js +0 -68
  230. package/common/controls/Control.js +0 -146
  231. package/common/controls/Control.test.js +0 -98
  232. package/common/layers/Layer.js +0 -404
  233. package/common/layers/Layer.test.js +0 -585
  234. package/common/mixins/CopyrightMixin.js +0 -48
  235. package/common/mixins/SearchMixin.js +0 -176
  236. package/common/mixins/TralisLayerMixin.js +0 -930
  237. package/common/styles/trackerDefaultStyle.js +0 -333
  238. package/common/styles/trackerSimpleStyle.js +0 -22
  239. package/common/trackerConfig.js +0 -190
  240. package/common/trackerConfig.test.js +0 -25
  241. package/common/utils/createTrackerFilters.js +0 -87
  242. package/common/utils/createTrackerFilters.test.js +0 -95
  243. package/common/utils/getMapboxMapCopyrights.test.js +0 -47
  244. package/common/utils/getMapboxStyleUrl.js +0 -32
  245. package/common/utils/removeDuplicate.test.js +0 -22
  246. package/common/utils/timeUtils.test.js +0 -16
  247. package/index.js.map +0 -1
  248. package/mapbox/layers/Layer.test.js +0 -202
  249. package/mapbox/layers/TralisLayer.js +0 -329
  250. package/mapbox/layers/TralisLayer.test.js +0 -40
  251. package/mapbox/utils.js +0 -46
  252. package/module.js +0 -23
  253. package/ol/README.md +0 -0
  254. package/ol/controls/CopyrightControl.test.js +0 -211
  255. package/ol/controls/RoutingControl.test.js +0 -216
  256. package/ol/controls/StopFinderControl.test.js +0 -59
  257. package/ol/controls/snapshots/RoutingControlRouteGen10.json +0 -58
  258. package/ol/controls/snapshots/RoutingControlRouteGen100.json +0 -292
  259. package/ol/controls/snapshots/RoutingControlRouteGen30.json +0 -69
  260. package/ol/controls/snapshots/RoutingControlRouteGen5.json +0 -58
  261. package/ol/controls/snapshots/RoutingControlRouteOSM.json +0 -759
  262. package/ol/controls/snapshots/RoutingControlStation1.json +0 -60
  263. package/ol/controls/snapshots/RoutingControlStation2.json +0 -49
  264. package/ol/layers/Layer.test.js +0 -197
  265. package/ol/layers/MapboxLayer.test.js +0 -186
  266. package/ol/layers/MapboxStyleLayer.test.js +0 -262
  267. package/ol/layers/RoutingLayer.test.js +0 -49
  268. package/ol/layers/TralisLayer.js +0 -359
  269. package/ol/layers/TralisLayer.test.js +0 -97
  270. package/ol/layers/VectorLayer.test.js +0 -98
  271. package/ol/layers/WMSLayer.test.js +0 -84
@@ -0,0 +1,286 @@
1
+ import GeoJSON from 'ol/format/GeoJSON';
2
+ import { EventsKey } from 'ol/events';
3
+ import { Coordinate } from 'ol/coordinate';
4
+ import { Feature } from 'ol';
5
+ import { RealtimeAPI } from '../../api';
6
+ import { AnyCanvas, AnyLayerClass, AnyMap, AnyRealtimeLayer, LayerGetFeatureInfoOptions, RealtimeGeneralizationLevel, RealtimeMode, RealtimeMot, RealtimeRenderState, RealtimeStyleFunction, RealtimeStyleOptions, RealtimeTenant, RealtimeTrainId, ViewState, AnyLayer } from '../../types';
7
+ import { RealtimeTrajectory } from '../../api/typedefs';
8
+ import { WebSocketAPIMessageEventData } from '../api/WebSocketAPI';
9
+ import type { OlLayerOptions } from '../../ol/layers/Layer';
10
+ export type RealtimeLayerMixinOptions = OlLayerOptions & {
11
+ debug?: boolean;
12
+ mode?: RealtimeMode;
13
+ api?: RealtimeAPI;
14
+ tenant?: RealtimeTenant;
15
+ minZoomInterpolation?: number;
16
+ isUpdateBboxOnMoveEnd?: boolean;
17
+ motsByZoom?: RealtimeMot[][];
18
+ generalizationLevelByZoom?: RealtimeGeneralizationLevel[];
19
+ renderTimeIntervalByZoom?: number[];
20
+ style?: RealtimeStyleFunction;
21
+ speed?: number;
22
+ pixelRatio?: number;
23
+ hoverVehicleId?: RealtimeTrainId;
24
+ selectedVehicleId?: RealtimeTrainId;
25
+ filter?: FilterFunction;
26
+ sort?: SortFunction;
27
+ time?: number;
28
+ live?: boolean;
29
+ canvas?: HTMLCanvasElement;
30
+ styleOptions?: RealtimeStyleOptions;
31
+ useRequestAnimationFrame?: boolean;
32
+ useDebounce?: boolean;
33
+ useThrottle?: boolean;
34
+ getMotsByZoom: (zoom: number, motsByZoom: RealtimeMot[][]) => RealtimeMot[];
35
+ getGeneralizationLevelByZoom?: (zoom: number, generalizationLevelByZoom: RealtimeGeneralizationLevel[]) => RealtimeGeneralizationLevel;
36
+ getRenderTimeIntervalByZoom?: (zoom: number, renderTimeIntervalByZoom: number[]) => number;
37
+ onStart?: (realtimeLayer: AnyRealtimeLayer) => void;
38
+ onStop?: (realtimeLayer: AnyRealtimeLayer) => void;
39
+ url?: string;
40
+ apiKey?: string;
41
+ prefix?: string;
42
+ projection?: string;
43
+ bbox?: (number | string)[];
44
+ buffer?: number[];
45
+ pingIntervalMs?: number;
46
+ };
47
+ /**
48
+ * RealtimeLayerInterface.
49
+ */
50
+ export declare class RealtimeLayerInterface {
51
+ /**
52
+ * Start the clock.
53
+ */
54
+ start(): void;
55
+ /**
56
+ * Stop the clock.
57
+ */
58
+ stop(): void;
59
+ /**
60
+ * Set the Realtime api's bbox.
61
+ *
62
+ * @param {Array<number>} extent Extent to request, [minX, minY, maxX, maxY, zoom].
63
+ * @param {number} zoom Zoom level to request. Must be an integer.
64
+ */
65
+ setBbox(extent: [number, number, number, number], zoom: number): void;
66
+ /**
67
+ * Render the trajectories
68
+ */
69
+ renderTrajectories(): void;
70
+ /**
71
+ * Request the stopSequence and the fullTrajectory informations for a vehicle.
72
+ *
73
+ * @param {string} id The vehicle identifier (the train_id property).
74
+ * @param {RealtimeMode} mode The mode to request. If not defined, the layer´s mode propetrty will be used.
75
+ * @return {Promise<{stopSequence: StopSequence, fullTrajectory: FullTrajectory>} A promise that will be resolved with the trajectory informations.
76
+ */
77
+ getTrajectoryInfos(id: string, mode: RealtimeMode): void;
78
+ }
79
+ /**
80
+ * Mixin for RealtimeLayerInterface.
81
+ *
82
+ * @param {Class} Base A class to extend with {RealtimeLayerInterface} functionnalities.
83
+ * @return {Class} A class that implements {RealtimeLayerInterface} class and extends Base;
84
+ * @private
85
+ */
86
+ declare function RealtimeLayerMixin<T extends AnyLayerClass>(Base: T): {
87
+ new (options: RealtimeLayerMixinOptions): {
88
+ [x: string]: any;
89
+ debug: boolean;
90
+ trajectories?: {
91
+ [key: string]: GeoJSONFeature;
92
+ } | undefined;
93
+ canvas?: AnyCanvas | undefined;
94
+ mode: RealtimeMode;
95
+ api: RealtimeAPI;
96
+ tenant: RealtimeTenant;
97
+ time?: Date | undefined;
98
+ live?: boolean | undefined;
99
+ speed?: number | undefined;
100
+ filter?: Function | undefined;
101
+ sort?: Function | undefined;
102
+ style?: RealtimeStyleFunction | undefined;
103
+ styleOptions?: RealtimeStyleOptions | undefined;
104
+ pixelRatio?: number | undefined;
105
+ minZoomInterpolation: number;
106
+ isUpdateBboxOnMoveEnd: boolean;
107
+ hoverVehicleId?: string | undefined;
108
+ selectedVehicleId?: string | undefined;
109
+ renderState?: RealtimeRenderState | undefined;
110
+ useRequestAnimationFrame?: boolean | undefined;
111
+ useDebounce?: boolean | undefined;
112
+ useThrottle?: boolean | undefined;
113
+ mots?: RealtimeMot[] | undefined;
114
+ motsByZoom: RealtimeMot[][];
115
+ generalizationLevel?: RealtimeGeneralizationLevel | undefined;
116
+ generalizationLevelByZoom: RealtimeGeneralizationLevel[];
117
+ renderTimeIntervalByZoom: number[];
118
+ format: GeoJSON;
119
+ requestId?: number | undefined;
120
+ updateTimeInterval?: number | undefined;
121
+ updateTimeDelay?: number | undefined;
122
+ visibilityRef: EventsKey;
123
+ selectedVehicle: GeoJSONFeature;
124
+ getMotsByZoom: (zoom: number) => RealtimeMot[];
125
+ getGeneralizationLevelByZoom: (zoom: number) => RealtimeGeneralizationLevel;
126
+ getRenderTimeIntervalByZoom: (zoom: number) => number;
127
+ throttleRenderTrajectories: (viewState: ViewState, noInterpolate?: boolean) => void;
128
+ debounceRenderTrajectories: (viewState: ViewState, noInterpolate?: boolean) => void;
129
+ onStart?: ((realtimeLayer: AnyLayer) => void) | undefined;
130
+ onStop?: ((realtimeLayer: AnyLayer) => void) | undefined;
131
+ /**
132
+ * Define layer's properties.
133
+ *
134
+ * @ignore
135
+ */
136
+ defineProperties(options: RealtimeLayerMixinOptions): void;
137
+ attachToMap(map: AnyMap): void;
138
+ detachFromMap(): void;
139
+ start(): void;
140
+ /**
141
+ * Start the clock.
142
+ * @private
143
+ */
144
+ startUpdateTime(): void;
145
+ stop(): void;
146
+ /**
147
+ * Stop the clock.
148
+ * @private
149
+ */
150
+ stopUpdateTime(): void;
151
+ /**
152
+ * Launch renderTrajectories. it avoids duplicating code in renderTrajectories method.
153
+ *
154
+ * @param {object} viewState The view state of the map.
155
+ * @param {number[2]} viewState.center Center coordinate of the map in mercator coordinate.
156
+ * @param {number[4]} viewState.extent Extent of the map in mercator coordinates.
157
+ * @param {number[2]} viewState.size Size ([width, height]) of the canvas to render.
158
+ * @param {number} [viewState.rotation = 0] Rotation of the map to render.
159
+ * @param {number} viewState.resolution Resolution of the map to render.
160
+ * @param {boolean} noInterpolate If true trajectories are not interpolated but
161
+ * drawn at the last known coordinate. Use this for performance optimization
162
+ * during map navigation.
163
+ * @private
164
+ */
165
+ renderTrajectoriesInternal(viewState: ViewState, noInterpolate?: boolean): boolean;
166
+ /**
167
+ * Render the trajectories requesting an animation frame and cancelling the previous one.
168
+ * This function must be overrided by children to provide the correct parameters.
169
+ *
170
+ * @param {object} viewState The view state of the map.
171
+ * @param {number[2]} viewState.center Center coordinate of the map in mercator coordinate.
172
+ * @param {number[4]} viewState.extent Extent of the map in mercator coordinates.
173
+ * @param {number[2]} viewState.size Size ([width, height]) of the canvas to render.
174
+ * @param {number} [viewState.rotation = 0] Rotation of the map to render.
175
+ * @param {number} viewState.resolution Resolution of the map to render.
176
+ * @param {boolean} noInterpolate If true trajectories are not interpolated but
177
+ * drawn at the last known coordinate. Use this for performance optimization
178
+ * during map navigation.
179
+ * @private
180
+ */
181
+ renderTrajectories(viewState: ViewState | undefined, noInterpolate: boolean | undefined): void;
182
+ setBbox(extent?: [number, number, number, number], zoom?: number): void;
183
+ /**
184
+ * Get the duration before the next update depending on zoom level.
185
+ *
186
+ * @private
187
+ * @param {number} zoom
188
+ */
189
+ getRefreshTimeInMs(zoom?: number | undefined): number;
190
+ /**
191
+ * Get vehicle.
192
+ * @param {function} filterFc A function use to filter results.
193
+ * @return {Array<Object>} Array of vehicle.
194
+ */
195
+ getVehicle(filterFc: FilterFunction): GeoJSONFeature[];
196
+ /**
197
+ * Request feature information for a given coordinate.
198
+ *
199
+ * @param {ol/coordinate~Coordinate} coordinate Coordinate.
200
+ * @param {Object} options Options See child classes to see which options are supported.
201
+ * @param {number} [options.resolution=1] The resolution of the map.
202
+ * @param {number} [options.nb=Infinity] The max number of vehicles to return.
203
+ * @return {Promise<FeatureInfo>} Promise with features, layer and coordinate.
204
+ */
205
+ getFeatureInfoAtCoordinate(coordinate: Coordinate, options: LayerGetFeatureInfoOptions): Promise<{
206
+ layer: any;
207
+ features: Feature<import("ol/geom/Geometry").default>[];
208
+ coordinate: Coordinate;
209
+ }>;
210
+ /**
211
+ * Request the stopSequence and the fullTrajectory informations for a vehicle.
212
+ *
213
+ * @param {string} id The vehicle identifier (the train_id property).
214
+ * @return {Promise<{stopSequence: StopSequence, fullTrajectory: FullTrajectory>} A promise that will be resolved with the trajectory informations.
215
+ */
216
+ getTrajectoryInfos(id: RealtimeTrainId): Promise<{
217
+ stopSequence: WebSocketAPIMessageEventData<import("../../types").RealtimeFullTrajectory> | WebSocketAPIMessageEventData<GeoJSONFeature[]>;
218
+ fullTrajectory: WebSocketAPIMessageEventData<import("../../types").RealtimeFullTrajectory> | WebSocketAPIMessageEventData<GeoJSONFeature[]>;
219
+ }>;
220
+ /**
221
+ * Remove all trajectories that are in the past.
222
+ */
223
+ purgeOutOfDateTrajectories(): void;
224
+ /**
225
+ * Determine if the trajectory is useless and should be removed from the list or not.
226
+ * By default, this function exclude vehicles:
227
+ * - that have their trajectory outside the current extent and
228
+ * - that aren't in the MOT list.
229
+ *
230
+ * @param {RealtimeTrajectory} trajectory
231
+ * @param {Array<number>} extent
232
+ * @param {number} zoom
233
+ * @return {boolean} if the trajectory must be displayed or not.
234
+ * @ignore
235
+ */
236
+ purgeTrajectory(trajectory: GeoJSONFeature, extent: [number, number, number, number], zoom: number): boolean;
237
+ /**
238
+ * Add a trajectory.
239
+ * @param {RealtimeTrajectory} trajectory The trajectory to add.
240
+ * @private
241
+ */
242
+ addTrajectory(trajectory: GeoJSONFeature): void;
243
+ removeTrajectory(trajectoryOrId: RealtimeTrajectory | RealtimeTrainId): void;
244
+ /**
245
+ * On zoomend we adjust the time interval of the update of vehicles positions.
246
+ *
247
+ * @param evt Event that triggered the function.
248
+ * @private
249
+ */
250
+ onZoomEnd(): void;
251
+ onDocumentVisibilityChange(): void;
252
+ /**
253
+ * Callback on websocket's trajectory channel events.
254
+ * It adds a trajectory to the list.
255
+ *
256
+ * @private
257
+ */
258
+ onTrajectoryMessage(data: WebSocketAPIMessageEventData<RealtimeTrajectory>): void;
259
+ /**
260
+ * Callback on websocket's deleted_vehicles channel events.
261
+ * It removes the trajectory from the list.
262
+ *
263
+ * @private
264
+ * @override
265
+ */
266
+ onDeleteTrajectoryMessage(data: WebSocketAPIMessageEventData<RealtimeTrainId>): void;
267
+ /**
268
+ * Callback when user moves the mouse/pointer over the map.
269
+ * It sets the layer's hoverVehicleId property with the current hovered vehicle's id.
270
+ *
271
+ * @private
272
+ * @override
273
+ */
274
+ onFeatureHover(features: Feature[], layer: AnyRealtimeLayer, coordinate: Coordinate): void;
275
+ /**
276
+ * Callback when user clicks on the map.
277
+ * It sets the layer's selectedVehicleId property with the current selected vehicle's id.
278
+ *
279
+ * @private
280
+ * @override
281
+ */
282
+ onFeatureClick(features: Feature[], layer: AnyRealtimeLayer, coordinate: Coordinate): void;
283
+ };
284
+ } & T;
285
+ export default RealtimeLayerMixin;
286
+ //# sourceMappingURL=RealtimeLayerMixin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RealtimeLayerMixin.d.ts","sourceRoot":"","sources":["../../../src/common/mixins/RealtimeLayerMixin.ts"],"names":[],"mappings":"AAOA,OAAO,OAAO,MAAM,mBAAmB,CAAC;AAIxC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAE7B,OAAO,EAAE,WAAW,EAAiB,MAAM,WAAW,CAAC;AAGvD,OAAO,EACL,SAAS,EACT,aAAa,EACb,MAAM,EACN,gBAAgB,EAChB,0BAA0B,EAC1B,2BAA2B,EAC3B,YAAY,EACZ,WAAW,EACX,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,cAAc,EACd,eAAe,EACf,SAAS,EACT,QAAQ,EACT,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AAEnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,MAAM,yBAAyB,GAAG,cAAc,GAAG;IACvD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,GAAG,CAAC,EAAE,WAAW,CAAC;IAClB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,UAAU,CAAC,EAAE,WAAW,EAAE,EAAE,CAAC;IAC7B,yBAAyB,CAAC,EAAE,2BAA2B,EAAE,CAAC;IAC1D,wBAAwB,CAAC,EAAE,MAAM,EAAE,CAAC;IACpC,KAAK,CAAC,EAAE,qBAAqB,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,eAAe,CAAC;IACjC,iBAAiB,CAAC,EAAE,eAAe,CAAC;IACpC,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,YAAY,CAAC,EAAE,oBAAoB,CAAC;IACpC,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,EAAE,KAAK,WAAW,EAAE,CAAC;IAC5E,4BAA4B,CAAC,EAAE,CAC7B,IAAI,EAAE,MAAM,EACZ,yBAAyB,EAAE,2BAA2B,EAAE,KACrD,2BAA2B,CAAC;IACjC,2BAA2B,CAAC,EAAE,CAC5B,IAAI,EAAE,MAAM,EACZ,wBAAwB,EAAE,MAAM,EAAE,KAC/B,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,CAAC,aAAa,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACpD,MAAM,CAAC,EAAE,CAAC,aAAa,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAGnD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF;;GAEG;AACH,qBAAa,sBAAsB;IACjC;;OAEG;IACH,KAAK;IAEL;;OAEG;IACH,IAAI;IAEJ;;;;;OAKG;IACH,OAAO,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM;IAE9D;;OAEG;IACH,kBAAkB;IAElB;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY;CAClD;AAED;;;;;;GAMG;AACH,iBAAS,kBAAkB,CAAC,CAAC,SAAS,aAAa,EAAE,IAAI,EAAE,CAAC;kBAyFnC,yBAAyB;;eAtFvC,OAAO;;;;;cAMR,YAAY;aAEb,WAAW;gBAER,cAAc;;;;;;;;;8BAkBA,MAAM;+BAEL,OAAO;;;;;;;;oBAgBlB,WAAW,EAAE,EAAE;;mCAIA,2BAA2B,EAAE;kCAE9B,MAAM,EAAE;gBAE1B,OAAO;;;;uBAQC,SAAS;;8BAIH,MAAM,KAAK,WAAW,EAAE;6CAET,MAAM,KAAK,2BAA2B;4CAEvC,MAAM,KAAK,MAAM;gDAGxC,SAAS,kBACJ,OAAO,KACpB,IAAI;gDAGI,SAAS,kBACJ,OAAO,KACpB,IAAI;mCAEiB,QAAQ,KAAK,IAAI;kCAElB,QAAQ,KAAK,IAAI;QAwH1C;;;;WAIG;kCACuB,yBAAyB;yBAqMlC,MAAM;;;QAgFvB;;;WAGG;;;QAyBH;;;WAGG;;QAQH;;;;;;;;;;;;;WAaG;8CAEU,SAAS,kBACL,OAAO;QA8CxB;;;;;;;;;;;;;;WAcG;sCAEU,SAAS,GAAG,SAAS,iBACjB,OAAO,GAAG,SAAS;yBAwBnB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,SAAS,MAAM;QAyChE;;;;;WAKG;kCACsB,MAAM,GAAG,SAAS,GAAO,MAAM;QA0BxD;;;;WAIG;6BACkB,cAAc;QASnC;;;;;;;;WAQG;oEAGQ,0BAA0B;;;;;QAkCrC;;;;;WAKG;+BACoB,eAAe;;;;QAiBtC;;WAEG;;QAaH;;;;;;;;;;;WAWG;4DAGO,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,QAClC,MAAM;QAcd;;;;WAIG;;yCAa8B,kBAAkB,GAAG,eAAe;QAYrE;;;;;WAKG;;;QAqBH;;;;;WAKG;kCAEK,6BAA6B,kBAAkB,CAAC;QAgDxD;;;;;;WAMG;wCAEK,6BAA6B,eAAe,CAAC;QAQrD;;;;;;WAMG;iCAES,OAAO,EAAE,SACZ,gBAAgB;QAgBzB;;;;;;WAMG;iCAES,OAAO,EAAE,SACZ,gBAAgB;;MAkB5B;AAED,eAAe,kBAAkB,CAAC"}