mobility-toolbox-js 2.0.0-beta.6 → 2.0.0-beta.62

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 (487) hide show
  1. package/README.md +29 -8
  2. package/api/RealtimeAPI.d.ts +279 -0
  3. package/api/RealtimeAPI.d.ts.map +1 -0
  4. package/api/RealtimeAPI.js +462 -0
  5. package/api/RoutingAPI.d.ts +37 -0
  6. package/api/RoutingAPI.d.ts.map +1 -0
  7. package/api/RoutingAPI.js +35 -0
  8. package/api/StopsAPI.d.ts +38 -0
  9. package/api/StopsAPI.d.ts.map +1 -0
  10. package/api/StopsAPI.js +36 -0
  11. package/api/index.d.ts +4 -0
  12. package/api/index.d.ts.map +1 -0
  13. package/api/index.js +3 -0
  14. package/api/typedefs.d.ts +179 -0
  15. package/api/typedefs.d.ts.map +1 -0
  16. package/{src/api/tralis → api}/typedefs.js +4 -10
  17. package/common/api/HttpAPI.d.ts +31 -0
  18. package/common/api/HttpAPI.d.ts.map +1 -0
  19. package/common/api/HttpAPI.js +57 -0
  20. package/common/api/WebSocketAPI.d.ts +153 -0
  21. package/common/api/WebSocketAPI.d.ts.map +1 -0
  22. package/common/api/WebSocketAPI.js +328 -0
  23. package/common/controls/ControlCommon.d.ts +76 -0
  24. package/common/controls/ControlCommon.d.ts.map +1 -0
  25. package/common/controls/ControlCommon.js +150 -0
  26. package/common/controls/CopyrightControlCommon.d.ts +13 -0
  27. package/common/controls/CopyrightControlCommon.d.ts.map +1 -0
  28. package/common/controls/CopyrightControlCommon.js +34 -0
  29. package/common/controls/StopFinderControlCommon.d.ts +55 -0
  30. package/common/controls/StopFinderControlCommon.d.ts.map +1 -0
  31. package/common/controls/StopFinderControlCommon.js +144 -0
  32. package/common/index.d.ts +3 -0
  33. package/common/index.d.ts.map +1 -0
  34. package/common/index.js +2 -0
  35. package/common/layers/LayerCommon.d.ts +94 -0
  36. package/common/layers/LayerCommon.d.ts.map +1 -0
  37. package/common/layers/LayerCommon.js +244 -0
  38. package/common/mixins/RealtimeLayerMixin.d.ts +289 -0
  39. package/common/mixins/RealtimeLayerMixin.d.ts.map +1 -0
  40. package/common/mixins/RealtimeLayerMixin.js +746 -0
  41. package/common/mixins/UserInteractionsLayerMixin.d.ts +60 -0
  42. package/common/mixins/UserInteractionsLayerMixin.d.ts.map +1 -0
  43. package/common/mixins/UserInteractionsLayerMixin.js +241 -0
  44. package/common/styles/index.d.ts +5 -0
  45. package/common/styles/index.d.ts.map +1 -0
  46. package/common/styles/index.js +4 -0
  47. package/common/styles/realtimeDefaultStyle.d.ts +36 -0
  48. package/common/styles/realtimeDefaultStyle.d.ts.map +1 -0
  49. package/common/styles/realtimeDefaultStyle.js +261 -0
  50. package/{src/common/styles/trackerDelayStyle.js → common/styles/realtimeDelayStyle.d.ts} +4 -9
  51. package/common/styles/realtimeDelayStyle.d.ts.map +1 -0
  52. package/common/styles/realtimeDelayStyle.js +13 -0
  53. package/common/styles/realtimeSimpleStyle.d.ts +4 -0
  54. package/common/styles/realtimeSimpleStyle.d.ts.map +1 -0
  55. package/common/styles/realtimeSimpleStyle.js +24 -0
  56. package/common/typedefs.d.ts +111 -0
  57. package/common/typedefs.d.ts.map +1 -0
  58. package/common/typedefs.js +52 -0
  59. package/common/utils/compareDepartures.d.ts +11 -0
  60. package/common/utils/compareDepartures.d.ts.map +1 -0
  61. package/common/utils/compareDepartures.js +35 -0
  62. package/common/utils/createCanvas.d.ts +10 -0
  63. package/common/utils/createCanvas.d.ts.map +1 -0
  64. package/common/utils/createCanvas.js +27 -0
  65. package/common/utils/createRealtimeFilters.d.ts +13 -0
  66. package/common/utils/createRealtimeFilters.d.ts.map +1 -0
  67. package/common/utils/createRealtimeFilters.js +74 -0
  68. package/common/utils/debounceDeparturesMessages.d.ts +12 -0
  69. package/common/utils/debounceDeparturesMessages.d.ts.map +1 -0
  70. package/common/utils/debounceDeparturesMessages.js +24 -0
  71. package/common/utils/debounceWebsocketMessages.d.ts +11 -0
  72. package/common/utils/debounceWebsocketMessages.d.ts.map +1 -0
  73. package/common/utils/debounceWebsocketMessages.js +29 -0
  74. package/common/utils/getLayersAsFlatArray.d.ts +3 -0
  75. package/common/utils/getLayersAsFlatArray.d.ts.map +1 -0
  76. package/common/utils/getLayersAsFlatArray.js +15 -0
  77. package/common/utils/getMapboxMapCopyrights.d.ts +18 -0
  78. package/common/utils/getMapboxMapCopyrights.d.ts.map +1 -0
  79. package/common/utils/getMapboxMapCopyrights.js +30 -0
  80. package/common/utils/getMapboxRender.d.ts +7 -0
  81. package/common/utils/getMapboxRender.d.ts.map +1 -0
  82. package/common/utils/getMapboxRender.js +87 -0
  83. package/common/utils/getMaplibreRender.d.ts +7 -0
  84. package/common/utils/getMaplibreRender.d.ts.map +1 -0
  85. package/common/utils/getMaplibreRender.js +38 -0
  86. package/common/utils/getRealtimeModeSuffix.d.ts +10 -0
  87. package/common/utils/getRealtimeModeSuffix.d.ts.map +1 -0
  88. package/common/utils/getRealtimeModeSuffix.js +7 -0
  89. package/common/utils/getUrlWithParams.d.ts +9 -0
  90. package/common/utils/getUrlWithParams.d.ts.map +1 -0
  91. package/common/utils/getUrlWithParams.js +18 -0
  92. package/common/utils/getVehiclePosition.d.ts +16 -0
  93. package/common/utils/getVehiclePosition.d.ts.map +1 -0
  94. package/common/utils/getVehiclePosition.js +63 -0
  95. package/common/utils/index.d.ts +16 -0
  96. package/common/utils/index.d.ts.map +1 -0
  97. package/common/utils/index.js +16 -0
  98. package/common/utils/realtimeConfig.d.ts +49 -0
  99. package/common/utils/realtimeConfig.d.ts.map +1 -0
  100. package/common/utils/realtimeConfig.js +173 -0
  101. package/common/utils/removeDuplicate.d.ts +10 -0
  102. package/common/utils/removeDuplicate.d.ts.map +1 -0
  103. package/common/utils/removeDuplicate.js +15 -0
  104. package/common/utils/renderTrajectories.d.ts +17 -0
  105. package/common/utils/renderTrajectories.d.ts.map +1 -0
  106. package/common/utils/renderTrajectories.js +121 -0
  107. package/common/utils/sortAndFilterDepartures.d.ts +16 -0
  108. package/common/utils/sortAndFilterDepartures.d.ts.map +1 -0
  109. package/common/utils/sortAndFilterDepartures.js +58 -0
  110. package/common/utils/sortByDelay.d.ts +3 -0
  111. package/common/utils/sortByDelay.d.ts.map +1 -0
  112. package/common/utils/sortByDelay.js +20 -0
  113. package/common/utils/timeUtils.d.ts +24 -0
  114. package/common/utils/timeUtils.d.ts.map +1 -0
  115. package/{src/common → common}/utils/timeUtils.js +13 -18
  116. package/iife.d.ts +3 -0
  117. package/iife.d.ts.map +1 -0
  118. package/{src/iife.js → iife.js} +2 -4
  119. package/index.d.ts +10 -0
  120. package/index.d.ts.map +1 -0
  121. package/index.js +10 -0
  122. package/mapbox/controls/CopyrightControl.d.ts +29 -0
  123. package/mapbox/controls/CopyrightControl.d.ts.map +1 -0
  124. package/mapbox/controls/CopyrightControl.js +48 -0
  125. package/mapbox/controls/index.d.ts +2 -0
  126. package/mapbox/controls/index.d.ts.map +1 -0
  127. package/mapbox/controls/index.js +2 -0
  128. package/mapbox/index.d.ts +6 -0
  129. package/mapbox/index.d.ts.map +1 -0
  130. package/mapbox/index.js +5 -0
  131. package/mapbox/layers/Layer.d.ts +59 -0
  132. package/mapbox/layers/Layer.d.ts.map +1 -0
  133. package/mapbox/layers/Layer.js +101 -0
  134. package/mapbox/layers/RealtimeLayer.d.ts +180 -0
  135. package/mapbox/layers/RealtimeLayer.d.ts.map +1 -0
  136. package/mapbox/layers/RealtimeLayer.js +276 -0
  137. package/mapbox/layers/index.d.ts +3 -0
  138. package/mapbox/layers/index.d.ts.map +1 -0
  139. package/mapbox/layers/index.js +2 -0
  140. package/mapbox/utils/getMercatorResolution.d.ts +9 -0
  141. package/mapbox/utils/getMercatorResolution.d.ts.map +1 -0
  142. package/mapbox/utils/getMercatorResolution.js +18 -0
  143. package/mapbox/utils/getSourceCoordinates.d.ts +9 -0
  144. package/mapbox/utils/getSourceCoordinates.d.ts.map +1 -0
  145. package/mapbox/utils/getSourceCoordinates.js +27 -0
  146. package/mapbox/utils/index.d.ts +3 -0
  147. package/mapbox/utils/index.d.ts.map +1 -0
  148. package/mapbox/utils/index.js +2 -0
  149. package/mbt.js +50787 -0
  150. package/mbt.js.map +7 -0
  151. package/mbt.min.js +1083 -0
  152. package/mbt.min.js.map +7 -0
  153. package/ol/controls/CopyrightControl.d.ts +31 -0
  154. package/ol/controls/CopyrightControl.d.ts.map +1 -0
  155. package/ol/controls/CopyrightControl.js +68 -0
  156. package/ol/controls/RoutingControl.d.ts +193 -0
  157. package/ol/controls/RoutingControl.d.ts.map +1 -0
  158. package/ol/controls/RoutingControl.js +632 -0
  159. package/ol/controls/StopFinderControl.d.ts +30 -0
  160. package/ol/controls/StopFinderControl.d.ts.map +1 -0
  161. package/{src/ol → ol}/controls/StopFinderControl.js +10 -16
  162. package/ol/controls/index.d.ts +4 -0
  163. package/ol/controls/index.d.ts.map +1 -0
  164. package/ol/controls/index.js +3 -0
  165. package/ol/index.d.ts +6 -0
  166. package/ol/index.d.ts.map +1 -0
  167. package/ol/index.js +5 -0
  168. package/ol/layers/Layer.d.ts +86 -0
  169. package/ol/layers/Layer.d.ts.map +1 -0
  170. package/ol/layers/Layer.js +159 -0
  171. package/ol/layers/MapGlLayer.d.ts +67 -0
  172. package/ol/layers/MapGlLayer.d.ts.map +1 -0
  173. package/ol/layers/MapGlLayer.js +218 -0
  174. package/ol/layers/MapboxLayer.d.ts +50 -0
  175. package/ol/layers/MapboxLayer.d.ts.map +1 -0
  176. package/ol/layers/MapboxLayer.js +109 -0
  177. package/ol/layers/MapboxStyleLayer.d.ts +129 -0
  178. package/ol/layers/MapboxStyleLayer.d.ts.map +1 -0
  179. package/ol/layers/MapboxStyleLayer.js +374 -0
  180. package/ol/layers/MaplibreLayer.d.ts +28 -0
  181. package/ol/layers/MaplibreLayer.d.ts.map +1 -0
  182. package/ol/layers/MaplibreLayer.js +34 -0
  183. package/ol/layers/RealtimeLayer.d.ts +201 -0
  184. package/ol/layers/RealtimeLayer.d.ts.map +1 -0
  185. package/ol/layers/RealtimeLayer.js +310 -0
  186. package/ol/layers/RoutingLayer.d.ts +34 -0
  187. package/ol/layers/RoutingLayer.d.ts.map +1 -0
  188. package/ol/layers/RoutingLayer.js +85 -0
  189. package/ol/layers/VectorLayer.d.ts +25 -0
  190. package/ol/layers/VectorLayer.d.ts.map +1 -0
  191. package/ol/layers/VectorLayer.js +38 -0
  192. package/ol/layers/WMSLayer.d.ts +42 -0
  193. package/ol/layers/WMSLayer.d.ts.map +1 -0
  194. package/ol/layers/WMSLayer.js +88 -0
  195. package/ol/layers/index.d.ts +9 -0
  196. package/ol/layers/index.d.ts.map +1 -0
  197. package/ol/layers/index.js +8 -0
  198. package/ol/styles/fullTrajectoryDelayStyle.d.ts +4 -0
  199. package/ol/styles/fullTrajectoryDelayStyle.d.ts.map +1 -0
  200. package/ol/styles/fullTrajectoryDelayStyle.js +33 -0
  201. package/ol/styles/fullTrajectoryStyle.d.ts +5 -0
  202. package/ol/styles/fullTrajectoryStyle.d.ts.map +1 -0
  203. package/ol/styles/fullTrajectoryStyle.js +44 -0
  204. package/ol/styles/index.d.ts +3 -0
  205. package/ol/styles/index.d.ts.map +1 -0
  206. package/{src/ol → ol}/styles/index.js +0 -0
  207. package/package.json +71 -126
  208. package/setupTests.d.ts +2 -0
  209. package/setupTests.d.ts.map +1 -0
  210. package/{src/setupTests.js → setupTests.js} +0 -2
  211. package/types/common.d.ts +120 -0
  212. package/types/index.d.ts +11 -0
  213. package/types/realtime.d.ts +315 -0
  214. package/types/routing.d.ts +206 -0
  215. package/types/stops.d.ts +143 -0
  216. package/.babelrc +0 -6
  217. package/.esdoc.json +0 -17
  218. package/.eslintignore +0 -1
  219. package/.github/workflows/conventional-pr-title.yml +0 -21
  220. package/.github/workflows/cypress.yml +0 -29
  221. package/.github/workflows/nodejs.yml +0 -28
  222. package/.husky/commit-msg +0 -4
  223. package/.husky/post-checkout +0 -4
  224. package/.husky/post-merge +0 -4
  225. package/.husky/post-rebase +0 -4
  226. package/.husky/pre-commit +0 -4
  227. package/.neutrinorc.js +0 -176
  228. package/.nvmrc +0 -1
  229. package/CHANGELOG.md +0 -10
  230. package/LICENSE +0 -21
  231. package/Layer.js +0 -2
  232. package/Layer.js.map +0 -7
  233. package/__mocks__/mapbox-gl.js +0 -81
  234. package/__mocks__/maplibre-gl.js +0 -81
  235. package/commitlint.config.js +0 -1
  236. package/cypress/fixtures/example.json +0 -5
  237. package/cypress/integration/examples/api.spec.js +0 -7
  238. package/cypress/integration/examples/examples.spec.js +0 -7
  239. package/cypress/integration/examples/navigation.spec.js +0 -29
  240. package/cypress/plugins/index.js +0 -21
  241. package/cypress/support/commands.js +0 -25
  242. package/cypress/support/index.js +0 -20
  243. package/cypress.json +0 -4
  244. package/data/fetchRoute.json +0 -292
  245. package/data/fetchTrajectories.json +0 -18
  246. package/data/fetchTrajectoryById.json +0 -3
  247. package/data/fetchTrajectoryStations.json +0 -18
  248. package/data/stopsSearch.json +0 -15
  249. package/documentation.yml +0 -4
  250. package/esdoc/README.md +0 -27
  251. package/esdoc/plugins/MyPlugin.js +0 -69
  252. package/esdoc/plugins/dynamic-property-plugin/Plugin.js +0 -50
  253. package/esdoc/plugins/externals-plugin/Plugin.js +0 -45
  254. package/esdoc/plugins/externals-plugin/externals.js +0 -96
  255. package/global-setup.js +0 -3
  256. package/index.html +0 -0
  257. package/indexweb.html +0 -49
  258. package/jest.config.js +0 -5
  259. package/pull_request_template.md +0 -17
  260. package/renovate.json +0 -4
  261. package/scripts/read-pkg-json.js +0 -22
  262. package/src/api/index.js +0 -3
  263. package/src/api/routing/RoutingAPI.js +0 -44
  264. package/src/api/routing/RoutingAPI.test.js +0 -41
  265. package/src/api/stops/StopsAPI.js +0 -41
  266. package/src/api/stops/StopsAPI.test.js +0 -34
  267. package/src/api/tralis/TralisAPI.js +0 -731
  268. package/src/api/tralis/TralisAPI.test.js +0 -75
  269. package/src/api/tralis/TralisAPIUtils.js +0 -73
  270. package/src/api/tralis/WebSocketConnector.js +0 -338
  271. package/src/api/tralis/WebSocketConnector.test.js +0 -356
  272. package/src/assets/Lato-Black.ttf +0 -0
  273. package/src/assets/Lato-BlackItalic.ttf +0 -0
  274. package/src/assets/Lato-Bold.ttf +0 -0
  275. package/src/assets/Lato-BoldItalic.ttf +0 -0
  276. package/src/assets/Lato-Italic.ttf +0 -0
  277. package/src/assets/Lato-Light.ttf +0 -0
  278. package/src/assets/Lato-LightItalic.ttf +0 -0
  279. package/src/assets/Lato-Regular.ttf +0 -0
  280. package/src/assets/Lato-Thin.ttf +0 -0
  281. package/src/assets/Lato-ThinItalic.ttf +0 -0
  282. package/src/assets/OFL.txt +0 -93
  283. package/src/common/Tracker.js +0 -197
  284. package/src/common/api/api.js +0 -64
  285. package/src/common/api/api.test.js +0 -68
  286. package/src/common/controls/Control.js +0 -146
  287. package/src/common/controls/Control.test.js +0 -98
  288. package/src/common/layers/Layer.js +0 -404
  289. package/src/common/layers/Layer.test.js +0 -585
  290. package/src/common/mixins/CopyrightMixin.js +0 -48
  291. package/src/common/mixins/SearchMixin.js +0 -176
  292. package/src/common/mixins/TralisLayerMixin.js +0 -930
  293. package/src/common/styles/index.js +0 -4
  294. package/src/common/styles/trackerDefaultStyle.js +0 -333
  295. package/src/common/styles/trackerSimpleStyle.js +0 -22
  296. package/src/common/trackerConfig.js +0 -190
  297. package/src/common/trackerConfig.test.js +0 -25
  298. package/src/common/typedefs.js +0 -23
  299. package/src/common/utils/createTrackerFilters.js +0 -87
  300. package/src/common/utils/createTrackerFilters.test.js +0 -95
  301. package/src/common/utils/getMapboxMapCopyrights.js +0 -32
  302. package/src/common/utils/getMapboxMapCopyrights.test.js +0 -47
  303. package/src/common/utils/getMapboxStyleUrl.js +0 -32
  304. package/src/common/utils/getVehiclePosition.js +0 -72
  305. package/src/common/utils/index.js +0 -6
  306. package/src/common/utils/removeDuplicate.js +0 -22
  307. package/src/common/utils/removeDuplicate.test.js +0 -22
  308. package/src/common/utils/sortByDelay.js +0 -23
  309. package/src/common/utils/timeUtils.test.js +0 -16
  310. package/src/doc/App.js +0 -116
  311. package/src/doc/App.scss +0 -51
  312. package/src/doc/_redirects +0 -2
  313. package/src/doc/components/CodeSandboxButton.js +0 -103
  314. package/src/doc/components/Documentation.js +0 -40
  315. package/src/doc/components/Esdoc/Anchor.js +0 -57
  316. package/src/doc/components/Esdoc/ClassDoc.js +0 -272
  317. package/src/doc/components/Esdoc/DeprecatedHTML.js +0 -16
  318. package/src/doc/components/Esdoc/DetailDocs.js +0 -281
  319. package/src/doc/components/Esdoc/DetailHTML.js +0 -33
  320. package/src/doc/components/Esdoc/DirectSubclassHTML.js +0 -30
  321. package/src/doc/components/Esdoc/DocBuilderUtils.js +0 -694
  322. package/src/doc/components/Esdoc/DocLinkHTML.js +0 -62
  323. package/src/doc/components/Esdoc/DocsLinkHTML.js +0 -38
  324. package/src/doc/components/Esdoc/Esdoc.js +0 -63
  325. package/src/doc/components/Esdoc/EsdocContent.js +0 -51
  326. package/src/doc/components/Esdoc/EsdocNavigation.js +0 -13
  327. package/src/doc/components/Esdoc/EsdocSearch.js +0 -81
  328. package/src/doc/components/Esdoc/ExperimentalHTML.js +0 -17
  329. package/src/doc/components/Esdoc/ExtendsChainHTML.js +0 -32
  330. package/src/doc/components/Esdoc/FileDocLinkHTML.js +0 -60
  331. package/src/doc/components/Esdoc/IdentifiersDoc.js +0 -113
  332. package/src/doc/components/Esdoc/IndirectSubclassHTML.js +0 -30
  333. package/src/doc/components/Esdoc/InheritedSummaryDoc.js +0 -70
  334. package/src/doc/components/Esdoc/InheritedSummaryHTML.js +0 -38
  335. package/src/doc/components/Esdoc/MixinClassesHTML.js +0 -29
  336. package/src/doc/components/Esdoc/NavDoc.js +0 -112
  337. package/src/doc/components/Esdoc/OverrideMethod.js +0 -44
  338. package/src/doc/components/Esdoc/OverrideMethodDescription.js +0 -35
  339. package/src/doc/components/Esdoc/Properties.js +0 -89
  340. package/src/doc/components/Esdoc/README.md +0 -45
  341. package/src/doc/components/Esdoc/SignatureHTML.js +0 -123
  342. package/src/doc/components/Esdoc/SingleDoc.js +0 -31
  343. package/src/doc/components/Esdoc/SummaryDoc.js +0 -160
  344. package/src/doc/components/Esdoc/SummaryHTML.js +0 -96
  345. package/src/doc/components/Esdoc/TypeDocLinkHTML.js +0 -249
  346. package/src/doc/components/Esdoc/css/identifiers.css +0 -38
  347. package/src/doc/components/Esdoc/css/search.css +0 -76
  348. package/src/doc/components/Esdoc/css/style.css +0 -603
  349. package/src/doc/components/Esdoc/index.js +0 -7
  350. package/src/doc/components/Example.js +0 -153
  351. package/src/doc/components/Examples.js +0 -183
  352. package/src/doc/components/Home.js +0 -106
  353. package/src/doc/components/TrackerExample.js +0 -38
  354. package/src/doc/components/esm.min.js +0 -2
  355. package/src/doc/components/examples/assets/tralis-live-map/index.js +0 -11
  356. package/src/doc/components/examples/assets/tralis-live-map/s1kreis.svg +0 -105
  357. package/src/doc/components/examples/assets/tralis-live-map/s20kreis.svg +0 -101
  358. package/src/doc/components/examples/assets/tralis-live-map/s2kreis.svg +0 -95
  359. package/src/doc/components/examples/assets/tralis-live-map/s3kreis.svg +0 -95
  360. package/src/doc/components/examples/assets/tralis-live-map/s4kreis.svg +0 -95
  361. package/src/doc/components/examples/assets/tralis-live-map/s6kreis.svg +0 -95
  362. package/src/doc/components/examples/assets/tralis-live-map/s7kreis.svg +0 -95
  363. package/src/doc/components/examples/assets/tralis-live-map/s8kreis.svg +0 -93
  364. package/src/doc/components/examples/assets/tralis-live-map/unknown.svg +0 -107
  365. package/src/doc/components/examples/mb-copyright.html +0 -26
  366. package/src/doc/components/examples/mb-copyright.js +0 -37
  367. package/src/doc/components/examples/mb-tracker.html +0 -1
  368. package/src/doc/components/examples/mb-tracker.js +0 -39
  369. package/src/doc/components/examples/mb-tracker.md +0 -1
  370. package/src/doc/components/examples/mb-tralis.html +0 -1
  371. package/src/doc/components/examples/mb-tralis.js +0 -34
  372. package/src/doc/components/examples/ol-copyright.html +0 -26
  373. package/src/doc/components/examples/ol-copyright.js +0 -43
  374. package/src/doc/components/examples/ol-mapbox-layer.html +0 -1
  375. package/src/doc/components/examples/ol-mapbox-layer.js +0 -28
  376. package/src/doc/components/examples/ol-mapbox-layer.md +0 -0
  377. package/src/doc/components/examples/ol-mapbox-style-layer.html +0 -12
  378. package/src/doc/components/examples/ol-mapbox-style-layer.js +0 -44
  379. package/src/doc/components/examples/ol-query.html +0 -32
  380. package/src/doc/components/examples/ol-query.js +0 -83
  381. package/src/doc/components/examples/ol-routing.html +0 -26
  382. package/src/doc/components/examples/ol-routing.js +0 -59
  383. package/src/doc/components/examples/ol-routing.md +0 -1
  384. package/src/doc/components/examples/ol-stop-finder.html +0 -15
  385. package/src/doc/components/examples/ol-stop-finder.js +0 -31
  386. package/src/doc/components/examples/ol-stop-finder.md +0 -1
  387. package/src/doc/components/examples/ol-tracker.html +0 -1
  388. package/src/doc/components/examples/ol-tracker.js +0 -44
  389. package/src/doc/components/examples/ol-tracker.md +0 -1
  390. package/src/doc/components/examples/ol-tralis.html +0 -5
  391. package/src/doc/components/examples/ol-tralis.js +0 -57
  392. package/src/doc/components/examples/tralis-live-map.html +0 -1
  393. package/src/doc/components/examples/tralis-live-map.js +0 -51
  394. package/src/doc/components/examples/tralis-live-map.md +0 -3
  395. package/src/doc/examples/assets/tralis-live-map/index.js +0 -11
  396. package/src/doc/examples/assets/tralis-live-map/s1kreis.svg +0 -105
  397. package/src/doc/examples/assets/tralis-live-map/s20kreis.svg +0 -101
  398. package/src/doc/examples/assets/tralis-live-map/s2kreis.svg +0 -95
  399. package/src/doc/examples/assets/tralis-live-map/s3kreis.svg +0 -95
  400. package/src/doc/examples/assets/tralis-live-map/s4kreis.svg +0 -95
  401. package/src/doc/examples/assets/tralis-live-map/s6kreis.svg +0 -95
  402. package/src/doc/examples/assets/tralis-live-map/s7kreis.svg +0 -95
  403. package/src/doc/examples/assets/tralis-live-map/s8kreis.svg +0 -93
  404. package/src/doc/examples/assets/tralis-live-map/unknown.svg +0 -107
  405. package/src/doc/examples/mb-copyright.html +0 -26
  406. package/src/doc/examples/mb-copyright.js +0 -37
  407. package/src/doc/examples/mb-tracker.html +0 -1
  408. package/src/doc/examples/mb-tracker.js +0 -39
  409. package/src/doc/examples/mb-tracker.md +0 -1
  410. package/src/doc/examples/mb-tralis.html +0 -1
  411. package/src/doc/examples/mb-tralis.js +0 -34
  412. package/src/doc/examples/ol-copyright.html +0 -26
  413. package/src/doc/examples/ol-copyright.js +0 -43
  414. package/src/doc/examples/ol-mapbox-layer.html +0 -1
  415. package/src/doc/examples/ol-mapbox-layer.js +0 -28
  416. package/src/doc/examples/ol-mapbox-layer.md +0 -0
  417. package/src/doc/examples/ol-mapbox-style-layer.html +0 -12
  418. package/src/doc/examples/ol-mapbox-style-layer.js +0 -44
  419. package/src/doc/examples/ol-query.html +0 -32
  420. package/src/doc/examples/ol-query.js +0 -83
  421. package/src/doc/examples/ol-routing.html +0 -26
  422. package/src/doc/examples/ol-routing.js +0 -59
  423. package/src/doc/examples/ol-routing.md +0 -1
  424. package/src/doc/examples/ol-stop-finder.html +0 -15
  425. package/src/doc/examples/ol-stop-finder.js +0 -31
  426. package/src/doc/examples/ol-stop-finder.md +0 -1
  427. package/src/doc/examples/ol-tracker.html +0 -1
  428. package/src/doc/examples/ol-tracker.js +0 -44
  429. package/src/doc/examples/ol-tracker.md +0 -1
  430. package/src/doc/examples/ol-tralis.html +0 -5
  431. package/src/doc/examples/ol-tralis.js +0 -57
  432. package/src/doc/examples/tralis-live-map.html +0 -1
  433. package/src/doc/examples/tralis-live-map.js +0 -51
  434. package/src/doc/examples/tralis-live-map.md +0 -3
  435. package/src/doc/examples.js +0 -107
  436. package/src/doc/img/examples/live_tracker_mb.jpg +0 -0
  437. package/src/doc/img/examples/live_tracker_munich.jpg +0 -0
  438. package/src/doc/img/examples/live_tracker_ol.jpg +0 -0
  439. package/src/doc/img/examples/mapbox.jpg +0 -0
  440. package/src/doc/img/examples/mapbox_style.jpg +0 -0
  441. package/src/doc/img/examples/ol-copyright.png +0 -0
  442. package/src/doc/img/examples/query_objects.jpg +0 -0
  443. package/src/doc/img/examples/routing.jpg +0 -0
  444. package/src/doc/img/examples/simple_map.jpg +0 -0
  445. package/src/doc/img/examples/stops.jpg +0 -0
  446. package/src/doc/img/favico.ico +0 -0
  447. package/src/doc/index.js +0 -21
  448. package/src/index.js +0 -25
  449. package/src/mapbox/controls/CopyrightControl.js +0 -58
  450. package/src/mapbox/index.js +0 -3
  451. package/src/mapbox/layers/Layer.js +0 -118
  452. package/src/mapbox/layers/Layer.test.js +0 -202
  453. package/src/mapbox/layers/TralisLayer.js +0 -329
  454. package/src/mapbox/layers/TralisLayer.test.js +0 -40
  455. package/src/mapbox/utils.js +0 -46
  456. package/src/ol/README.md +0 -0
  457. package/src/ol/controls/CopyrightControl.js +0 -80
  458. package/src/ol/controls/CopyrightControl.test.js +0 -211
  459. package/src/ol/controls/RoutingControl.js +0 -752
  460. package/src/ol/controls/RoutingControl.test.js +0 -216
  461. package/src/ol/controls/StopFinderControl.test.js +0 -59
  462. package/src/ol/controls/snapshots/RoutingControlRouteGen10.json +0 -58
  463. package/src/ol/controls/snapshots/RoutingControlRouteGen100.json +0 -292
  464. package/src/ol/controls/snapshots/RoutingControlRouteGen30.json +0 -69
  465. package/src/ol/controls/snapshots/RoutingControlRouteGen5.json +0 -58
  466. package/src/ol/controls/snapshots/RoutingControlRouteOSM.json +0 -759
  467. package/src/ol/controls/snapshots/RoutingControlStation1.json +0 -60
  468. package/src/ol/controls/snapshots/RoutingControlStation2.json +0 -49
  469. package/src/ol/index.js +0 -13
  470. package/src/ol/layers/Layer.js +0 -193
  471. package/src/ol/layers/Layer.test.js +0 -197
  472. package/src/ol/layers/MapboxLayer.js +0 -378
  473. package/src/ol/layers/MapboxLayer.test.js +0 -186
  474. package/src/ol/layers/MapboxStyleLayer.js +0 -417
  475. package/src/ol/layers/MapboxStyleLayer.test.js +0 -262
  476. package/src/ol/layers/MaplibreLayer.js +0 -280
  477. package/src/ol/layers/RoutingLayer.js +0 -91
  478. package/src/ol/layers/RoutingLayer.test.js +0 -49
  479. package/src/ol/layers/TralisLayer.js +0 -359
  480. package/src/ol/layers/TralisLayer.test.js +0 -97
  481. package/src/ol/layers/VectorLayer.js +0 -43
  482. package/src/ol/layers/VectorLayer.test.js +0 -98
  483. package/src/ol/layers/WMSLayer.js +0 -80
  484. package/src/ol/layers/WMSLayer.test.js +0 -84
  485. package/src/ol/styles/fullTrajectoryDelayStyle.js +0 -35
  486. package/src/ol/styles/fullTrajectoryStyle.js +0 -51
  487. package/webpack.config.js +0 -6
@@ -0,0 +1,58 @@
1
+ import compareDepartures from './compareDepartures';
2
+ /**
3
+ * This function sort Departures by arrival time and filter out unwanted departures:
4
+ * - when dparture time is in the past
5
+ * - when departure are duplicated
6
+ * - when departure is not in the next 30 min
7
+ *
8
+ * @param {Object} depObject The object containing departures by id.
9
+ * @param {boolean} [sortByMinArrivalTime=false] If true sort departures by arrival time.
10
+ * @return {Array<Departure>} Return departures array.
11
+ * @private
12
+ */
13
+ const sortAndfilterDepartures = (depObject, sortByMinArrivalTime = false, maxDepartureAge = 30) => {
14
+ const departures = Object.keys(depObject).map((k) => depObject[k]);
15
+ departures.sort((a, b) => compareDepartures(a, b, sortByMinArrivalTime));
16
+ const futureDate = new Date();
17
+ futureDate.setMinutes(futureDate.getMinutes() + maxDepartureAge);
18
+ const future = futureDate.getTime();
19
+ const pastDate = new Date();
20
+ pastDate.setMinutes(pastDate.getMinutes() - maxDepartureAge);
21
+ const past = pastDate.getTime();
22
+ const departureArray = [];
23
+ const platformsBoarding = [];
24
+ let previousDeparture = null;
25
+ for (let i = departures.length - 1; i >= 0; i -= 1) {
26
+ const departure = Object.assign({}, departures[i]);
27
+ const time = new Date(departure.time).getTime();
28
+ // Only show departures within the next 30 minutes
29
+ if (time > past && time < future) {
30
+ // If 2 trains are boarding at the same platform,
31
+ // remove the older one.
32
+ if (departure.state === 'BOARDING') {
33
+ if (!platformsBoarding.includes(departure.platform)) {
34
+ platformsBoarding.push(departure.platform);
35
+ }
36
+ else {
37
+ departure.state = 'HIDDEN';
38
+ }
39
+ }
40
+ // If two trains with the same line number and destinatin
41
+ // and a departure difference < 1 minute, hide the second one.
42
+ if (previousDeparture &&
43
+ departure.to[0] === previousDeparture.to[0] &&
44
+ Math.abs(time - previousDeparture.time) < 1000 &&
45
+ departure.line.name === previousDeparture.line.name) {
46
+ departure.state = 'HIDDEN';
47
+ }
48
+ if (/(STOP_CANCELLED|JOURNEY_CANCELLED)/.test(departure.state)) {
49
+ departure.cancelled = true;
50
+ }
51
+ previousDeparture = departure;
52
+ previousDeparture.time = time;
53
+ departureArray.unshift(departure);
54
+ }
55
+ }
56
+ return departureArray;
57
+ };
58
+ export default sortAndfilterDepartures;
@@ -0,0 +1,3 @@
1
+ declare const sortByDelay: (traj1: GeoJSONFeature, traj2: GeoJSONFeature) => number;
2
+ export default sortByDelay;
3
+ //# sourceMappingURL=sortByDelay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sortByDelay.d.ts","sourceRoot":"","sources":["../../../src/common/utils/sortByDelay.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,WAAW,oDAGd,MAoBF,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -0,0 +1,20 @@
1
+ const sortByDelay = (traj1, traj2) => {
2
+ const props1 = traj1.properties;
3
+ const props2 = traj2.properties;
4
+ if (props1.delay === null && props2.delay !== null) {
5
+ return 1;
6
+ }
7
+ if (props2.delay === null && props1.delay !== null) {
8
+ return -1;
9
+ }
10
+ // We put cancelled train inbetween green and yellow trains
11
+ // >=180000ms corresponds to yellow train
12
+ if (props1.cancelled && !props2.cancelled) {
13
+ return props2.delay < 180000 ? -1 : 1;
14
+ }
15
+ if (props2.cancelled && !props1.cancelled) {
16
+ return props1.delay < 180000 ? 1 : -1;
17
+ }
18
+ return props2.delay - props1.delay;
19
+ };
20
+ export default sortByDelay;
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Get a Date object as UTC date string .
3
+ * ex: 2019 09 01
4
+ * @ignore
5
+ */
6
+ export declare const getUTCDateString: (now?: Date) => string;
7
+ /**
8
+ * Get the UTC time string of Date object.
9
+ * ex: 09:05:01.123
10
+ * @ignore
11
+ */
12
+ export declare const getUTCTimeString: (date: Date) => string;
13
+ /**
14
+ * Returns a string representation of a number, with a zero if the number is lower than 10.
15
+ * @ignore
16
+ */
17
+ export declare const pad: (integer: number) => string;
18
+ /**
19
+ * Returns a 'hh:mm' string from a time in ms.
20
+ * @param {Number} timeInMs Time in milliseconds.
21
+ * @ignore
22
+ */
23
+ export declare const getHoursAndMinutes: (timeInMs: number) => string;
24
+ //# sourceMappingURL=timeUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeUtils.d.ts","sourceRoot":"","sources":["../../../src/common/utils/timeUtils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,kBAAuB,MAOnD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,SAAU,IAAI,KAAG,MAKjC,CAAC;AAEd;;;GAGG;AACH,eAAO,MAAM,GAAG,YAAa,MAAM,KAAG,MACO,CAAC;AAE9C;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,aAAc,MAAM,KAAG,MAMrD,CAAC"}
@@ -4,41 +4,36 @@
4
4
  * @ignore
5
5
  */
6
6
  export const getUTCDateString = (now = new Date()) => {
7
- let month = (now.getUTCMonth() + 1).toString();
8
- month = month.length === 1 ? `0${month}` : month;
9
- let day = now.getUTCDate().toString();
10
- day = day.length === 1 ? `0${day}` : day;
11
-
12
- return [now.getUTCFullYear(), month, day].join('');
7
+ let month = (now.getUTCMonth() + 1).toString();
8
+ month = month.length === 1 ? `0${month}` : month;
9
+ let day = now.getUTCDate().toString();
10
+ day = day.length === 1 ? `0${day}` : day;
11
+ return [now.getUTCFullYear(), month, day].join('');
13
12
  };
14
-
15
13
  /**
16
14
  * Get the UTC time string of Date object.
17
15
  * ex: 09:05:01.123
18
16
  * @ignore
19
17
  */
20
- export const getUTCTimeString = (date) =>
21
- [
18
+ export const getUTCTimeString = (date) => [
22
19
  date.getUTCHours(),
23
20
  date.getUTCMinutes(),
24
21
  `${date.getUTCSeconds()}.${date.getUTCMilliseconds()}`,
25
- ].join(':');
26
-
22
+ ].join(':');
27
23
  /**
28
24
  * Returns a string representation of a number, with a zero if the number is lower than 10.
29
25
  * @ignore
30
26
  */
31
- export const pad = (integer) => (integer < 10 ? `0${integer}` : integer);
32
-
27
+ export const pad = (integer) => integer < 10 ? `0${integer}` : `${integer}`;
33
28
  /**
34
29
  * Returns a 'hh:mm' string from a time in ms.
35
30
  * @param {Number} timeInMs Time in milliseconds.
36
31
  * @ignore
37
32
  */
38
33
  export const getHoursAndMinutes = (timeInMs) => {
39
- if (!timeInMs || timeInMs <= 0) {
40
- return '';
41
- }
42
- const date = new Date(timeInMs);
43
- return `${pad(date.getHours())}:${pad(date.getMinutes())}`;
34
+ if (!timeInMs || timeInMs <= 0) {
35
+ return '';
36
+ }
37
+ const date = new Date(timeInMs);
38
+ return `${pad(date.getHours())}:${pad(date.getMinutes())}`;
44
39
  };
package/iife.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ export default mbt;
2
+ import mbt from "./index";
3
+ //# sourceMappingURL=iife.d.ts.map
package/iife.d.ts.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iife.d.ts","sourceRoot":"","sources":["../src/iife.js"],"names":[],"mappings":""}
@@ -1,7 +1,5 @@
1
1
  import mbt from './index';
2
-
3
2
  if (typeof window !== 'undefined') {
4
- window.mbt = mbt
5
- };
6
-
3
+ window.mbt = mbt;
4
+ }
7
5
  export default mbt;
package/index.d.ts ADDED
@@ -0,0 +1,10 @@
1
+ export * as ol from "./ol";
2
+ export * as mapbox from "./mapbox";
3
+ declare namespace _default {
4
+ export { ol };
5
+ export { mapbox };
6
+ }
7
+ export default _default;
8
+ import * as ol from "./ol";
9
+ import * as mapbox from "./mapbox";
10
+ //# sourceMappingURL=index.d.ts.map
package/index.d.ts.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.js"],"names":[],"mappings":""}
package/index.js ADDED
@@ -0,0 +1,10 @@
1
+ import * as ol from './ol';
2
+ import * as mapbox from './mapbox';
3
+ import * as ol_1 from './ol';
4
+ export { ol_1 as ol };
5
+ import * as mapbox_1 from './mapbox';
6
+ export { mapbox_1 as mapbox };
7
+ export default {
8
+ ol,
9
+ mapbox,
10
+ };
@@ -0,0 +1,29 @@
1
+ import CopyrightControlCommon from '../../common/controls/CopyrightControlCommon';
2
+ /**
3
+ * Display layer's copyrights.
4
+ *
5
+ * @example
6
+ * import { Map } from 'mapbox-gl';
7
+ * import { CopyrightControl } from 'mobility-toolbox-js/mapbox';
8
+ *
9
+ * const map = new Map({
10
+ * container: 'map',
11
+ * style: `https://maps.geops.io/styles/travic_v2/style.json?key=${window.apiKey}`,
12
+ * });
13
+ *
14
+ * const control = new CopyrightControl();
15
+ * control.attachToMap(map);
16
+ *
17
+ *
18
+ * @see <a href="/example/mb-copyright">Mapbox copyright example</a>
19
+ *
20
+ * @extends {CopyrightControlCommon}
21
+ */
22
+ declare class CopyrightControl extends CopyrightControlCommon {
23
+ constructor(options: any);
24
+ activate(): void;
25
+ deactivate(): void;
26
+ getCopyrights(): any[];
27
+ }
28
+ export default CopyrightControl;
29
+ //# sourceMappingURL=CopyrightControl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CopyrightControl.d.ts","sourceRoot":"","sources":["../../../src/mapbox/controls/CopyrightControl.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,MAAM,8CAA8C,CAAC;AAGlF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,cAAM,gBAAiB,SAAQ,sBAAsB;gBACvC,OAAO,EAAE,GAAG;IAKxB,QAAQ;IASR,UAAU;IASV,aAAa;CAGd;AAED,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,48 @@
1
+ import CopyrightControlCommon from '../../common/controls/CopyrightControlCommon';
2
+ import { getMapboxMapCopyrights } from '../../common/utils';
3
+ /**
4
+ * Display layer's copyrights.
5
+ *
6
+ * @example
7
+ * import { Map } from 'mapbox-gl';
8
+ * import { CopyrightControl } from 'mobility-toolbox-js/mapbox';
9
+ *
10
+ * const map = new Map({
11
+ * container: 'map',
12
+ * style: `https://maps.geops.io/styles/travic_v2/style.json?key=${window.apiKey}`,
13
+ * });
14
+ *
15
+ * const control = new CopyrightControl();
16
+ * control.attachToMap(map);
17
+ *
18
+ *
19
+ * @see <a href="/example/mb-copyright">Mapbox copyright example</a>
20
+ *
21
+ * @extends {CopyrightControlCommon}
22
+ */
23
+ class CopyrightControl extends CopyrightControlCommon {
24
+ constructor(options) {
25
+ super(options);
26
+ this.render = this.render.bind(this);
27
+ }
28
+ activate() {
29
+ super.activate();
30
+ if (this.map) {
31
+ this.map.on('sourcedata', this.render);
32
+ this.map.on('styledata', this.render);
33
+ this.map.on('idle', this.render);
34
+ }
35
+ }
36
+ deactivate() {
37
+ if (this.map) {
38
+ this.map.off('sourcedata', this.render);
39
+ this.map.off('styledata', this.render);
40
+ this.map.off('idle', this.render);
41
+ }
42
+ super.deactivate();
43
+ }
44
+ getCopyrights() {
45
+ return getMapboxMapCopyrights(this.map);
46
+ }
47
+ }
48
+ export default CopyrightControl;
@@ -0,0 +1,2 @@
1
+ export { default as CopyrightControl } from "./CopyrightControl";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mapbox/controls/index.js"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ // eslint-disable-next-line import/prefer-default-export
2
+ export { default as CopyrightControl } from './CopyrightControl';
@@ -0,0 +1,6 @@
1
+ export * from "../api";
2
+ export * from "../common";
3
+ export * from "./controls";
4
+ export * from "./layers";
5
+ export * from "./utils";
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mapbox/index.js"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ export * from '../api';
2
+ export * from '../common';
3
+ export * from './controls';
4
+ export * from './layers';
5
+ export * from './utils';
@@ -0,0 +1,59 @@
1
+ import { EventsKey } from 'ol/events';
2
+ import LayerCommon, { LayerCommonOptions } from '../../common/layers/LayerCommon';
3
+ import { AnyMapboxMap, UserInteractionCallback } from '../../types';
4
+ declare const Layer_base: typeof LayerCommon;
5
+ /**
6
+ * A class representing a layer to display on an OpenLayers map.
7
+ *
8
+ * @example
9
+ * import { Layer } from 'mobility-toolbox-js/ol';
10
+ *
11
+ * const layer = new Layer({
12
+ * olLayer: ...,
13
+ * });
14
+ *
15
+ * @see <a href="/example/ol-map">Map example</a>
16
+ *
17
+ * @classproperty {ol/Map~Map} map - The map where the layer is displayed.
18
+ * @extends {Layer}
19
+ */
20
+ declare class Layer extends Layer_base {
21
+ options: LayerCommonOptions;
22
+ onChangeVisibleKey?: EventsKey;
23
+ userInteractions?: boolean;
24
+ userClickInteractions?: boolean;
25
+ userHoverInteractions?: boolean;
26
+ userClickCallbacks?: UserInteractionCallback[];
27
+ userHoverCallbacks?: UserInteractionCallback[];
28
+ onUserClickCallback: () => void;
29
+ onUserMoveCallback: () => void;
30
+ /**
31
+ * Initialize the layer and listen to user events.
32
+ * @param {mapboxgl.Map|maplibregl.Map} map
33
+ */
34
+ attachToMap(map: AnyMapboxMap): void;
35
+ detachFromMap(): void;
36
+ activateUserInteractions(): void;
37
+ deactivateUserInteractions(): void;
38
+ /**
39
+ * Toggle listeners needed when a layer is avisible or not.
40
+ * @private
41
+ */
42
+ toggleVisibleListeners(): void;
43
+ /**
44
+ * Returns the current extent in mercator coordinates.
45
+ */
46
+ getMercatorExtent(): import("ol/extent").Extent;
47
+ /**
48
+ * Returns the equivalent zoom in Openlayers.
49
+ */
50
+ getOlZoom(): any;
51
+ /**
52
+ * Create a copy of the Layer.
53
+ * @param {Object} newOptions Options to override
54
+ * @return {Layer} A Layer
55
+ */
56
+ clone(newOptions: LayerCommonOptions): Layer;
57
+ }
58
+ export default Layer;
59
+ //# sourceMappingURL=Layer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Layer.d.ts","sourceRoot":"","sources":["../../../src/mapbox/layers/Layer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAGtC,OAAO,WAAW,EAAE,EAClB,kBAAkB,EACnB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;;AAEpE;;;;;;;;;;;;;;GAcG;AACH,cAAM,KAAM,SAAQ,UAAkC;IACpD,OAAO,EAAG,kBAAkB,CAAC;IAE7B,kBAAkB,CAAC,EAAE,SAAS,CAAC;IAI/B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC,kBAAkB,CAAC,EAAE,uBAAuB,EAAE,CAAC;IAE/C,kBAAkB,CAAC,EAAE,uBAAuB,EAAE,CAAC;IAE/C,mBAAmB,EAAG,MAAM,IAAI,CAAC;IAEjC,kBAAkB,EAAG,MAAM,IAAI,CAAC;IAEhC;;;OAGG;IACH,WAAW,CAAC,GAAG,EAAE,YAAY;IAiB7B,aAAa;IASb,wBAAwB;IAqBxB,0BAA0B;IAO1B;;;OAGG;IACH,sBAAsB;IAQtB;;OAEG;IACH,iBAAiB;IASjB;;OAEG;IACH,SAAS;IAIT;;;;OAIG;IACH,KAAK,CAAC,UAAU,EAAE,kBAAkB;CAGrC;AACD,eAAe,KAAK,CAAC"}
@@ -0,0 +1,101 @@
1
+ import { unByKey } from 'ol/Observable';
2
+ import { transformExtent } from 'ol/proj';
3
+ import LayerCommon from '../../common/layers/LayerCommon';
4
+ import userInteractionsMixin from '../../common/mixins/UserInteractionsLayerMixin';
5
+ /**
6
+ * A class representing a layer to display on an OpenLayers map.
7
+ *
8
+ * @example
9
+ * import { Layer } from 'mobility-toolbox-js/ol';
10
+ *
11
+ * const layer = new Layer({
12
+ * olLayer: ...,
13
+ * });
14
+ *
15
+ * @see <a href="/example/ol-map">Map example</a>
16
+ *
17
+ * @classproperty {ol/Map~Map} map - The map where the layer is displayed.
18
+ * @extends {Layer}
19
+ */
20
+ class Layer extends userInteractionsMixin(LayerCommon) {
21
+ /**
22
+ * Initialize the layer and listen to user events.
23
+ * @param {mapboxgl.Map|maplibregl.Map} map
24
+ */
25
+ attachToMap(map) {
26
+ super.attachToMap(map);
27
+ if (!this.map) {
28
+ return;
29
+ }
30
+ if (this.userInteractions) {
31
+ this.toggleVisibleListeners();
32
+ this.onChangeVisibleKey = this.on(
33
+ // @ts-ignore
34
+ 'change:visible', this.toggleVisibleListeners);
35
+ }
36
+ }
37
+ detachFromMap() {
38
+ if (this.map) {
39
+ this.deactivateUserInteractions();
40
+ // @ts-ignore
41
+ unByKey(this.onChangeVisibleKey);
42
+ }
43
+ super.detachFromMap();
44
+ }
45
+ activateUserInteractions() {
46
+ var _a, _b;
47
+ this.deactivateUserInteractions();
48
+ if (this.map &&
49
+ this.userInteractions &&
50
+ this.userClickInteractions &&
51
+ ((_a = this.userClickCallbacks) === null || _a === void 0 ? void 0 : _a.length)) {
52
+ this.map.on('click', this.onUserClickCallback);
53
+ }
54
+ if (this.map &&
55
+ this.userInteractions &&
56
+ this.userHoverInteractions &&
57
+ ((_b = this.userHoverCallbacks) === null || _b === void 0 ? void 0 : _b.length)) {
58
+ this.map.on('mousemove', this.onUserMoveCallback);
59
+ }
60
+ }
61
+ deactivateUserInteractions() {
62
+ if (this.map) {
63
+ this.map.off('mousemove', this.onUserMoveCallback);
64
+ this.map.off('click', this.onUserClickCallback);
65
+ }
66
+ }
67
+ /**
68
+ * Toggle listeners needed when a layer is avisible or not.
69
+ * @private
70
+ */
71
+ toggleVisibleListeners() {
72
+ if (this.visible) {
73
+ this.activateUserInteractions();
74
+ }
75
+ else {
76
+ this.deactivateUserInteractions();
77
+ }
78
+ }
79
+ /**
80
+ * Returns the current extent in mercator coordinates.
81
+ */
82
+ getMercatorExtent() {
83
+ const bounds = this.map.getBounds().toArray();
84
+ return transformExtent([...bounds[0], ...bounds[1]], 'EPSG:4326', 'EPSG:3857');
85
+ }
86
+ /**
87
+ * Returns the equivalent zoom in Openlayers.
88
+ */
89
+ getOlZoom() {
90
+ return this.map.getZoom() + 1;
91
+ }
92
+ /**
93
+ * Create a copy of the Layer.
94
+ * @param {Object} newOptions Options to override
95
+ * @return {Layer} A Layer
96
+ */
97
+ clone(newOptions) {
98
+ return new Layer(Object.assign(Object.assign({}, this.options), newOptions));
99
+ }
100
+ }
101
+ export default Layer;