mobility-toolbox-js 2.3.10 → 2.4.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 (471) hide show
  1. package/api/RealtimeAPI.d.ts +290 -0
  2. package/api/RealtimeAPI.d.ts.map +1 -0
  3. package/api/RealtimeAPI.js +483 -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/typedefs.d.ts +179 -0
  13. package/api/typedefs.d.ts.map +1 -0
  14. package/{src/api → api}/typedefs.js +1 -11
  15. package/common/api/HttpAPI.d.ts +31 -0
  16. package/common/api/HttpAPI.d.ts.map +1 -0
  17. package/common/api/HttpAPI.js +57 -0
  18. package/common/api/WebSocketAPI.d.ts +153 -0
  19. package/common/api/WebSocketAPI.d.ts.map +1 -0
  20. package/common/api/WebSocketAPI.js +341 -0
  21. package/common/controls/ControlCommon.d.ts +76 -0
  22. package/common/controls/ControlCommon.d.ts.map +1 -0
  23. package/common/controls/ControlCommon.js +150 -0
  24. package/common/controls/CopyrightControlCommon.d.ts +13 -0
  25. package/common/controls/CopyrightControlCommon.d.ts.map +1 -0
  26. package/common/controls/CopyrightControlCommon.js +34 -0
  27. package/common/controls/StopFinderControlCommon.d.ts +55 -0
  28. package/common/controls/StopFinderControlCommon.d.ts.map +1 -0
  29. package/common/controls/StopFinderControlCommon.js +144 -0
  30. package/common/index.d.ts +3 -0
  31. package/common/index.d.ts.map +1 -0
  32. package/common/layers/LayerCommon.d.ts +94 -0
  33. package/common/layers/LayerCommon.d.ts.map +1 -0
  34. package/common/layers/LayerCommon.js +244 -0
  35. package/common/mixins/RealtimeLayerMixin.d.ts +288 -0
  36. package/common/mixins/RealtimeLayerMixin.d.ts.map +1 -0
  37. package/common/mixins/RealtimeLayerMixin.js +779 -0
  38. package/common/mixins/UserInteractionsLayerMixin.d.ts +60 -0
  39. package/common/mixins/UserInteractionsLayerMixin.d.ts.map +1 -0
  40. package/common/mixins/UserInteractionsLayerMixin.js +241 -0
  41. package/common/styles/index.d.ts +5 -0
  42. package/common/styles/index.d.ts.map +1 -0
  43. package/common/styles/realtimeDefaultStyle.d.ts +36 -0
  44. package/common/styles/realtimeDefaultStyle.d.ts.map +1 -0
  45. package/common/styles/realtimeDefaultStyle.js +276 -0
  46. package/common/styles/realtimeDelayStyle.d.ts +12 -0
  47. package/common/styles/realtimeDelayStyle.d.ts.map +1 -0
  48. package/common/styles/realtimeDelayStyle.js +13 -0
  49. package/common/styles/realtimeHeadingStyle.d.ts +12 -0
  50. package/common/styles/realtimeHeadingStyle.d.ts.map +1 -0
  51. package/common/styles/realtimeHeadingStyle.js +87 -0
  52. package/common/styles/realtimeSimpleStyle.d.ts +4 -0
  53. package/common/styles/realtimeSimpleStyle.d.ts.map +1 -0
  54. package/common/styles/realtimeSimpleStyle.js +23 -0
  55. package/common/typedefs.d.ts +183 -0
  56. package/common/typedefs.d.ts.map +1 -0
  57. package/{src/common → common}/typedefs.js +1 -1
  58. package/common/utils/compareDepartures.d.ts +11 -0
  59. package/common/utils/compareDepartures.d.ts.map +1 -0
  60. package/common/utils/compareDepartures.js +35 -0
  61. package/common/utils/createCanvas.d.ts +11 -0
  62. package/common/utils/createCanvas.d.ts.map +1 -0
  63. package/common/utils/createCanvas.js +28 -0
  64. package/common/utils/createRealtimeFilters.d.ts +13 -0
  65. package/common/utils/createRealtimeFilters.d.ts.map +1 -0
  66. package/common/utils/createRealtimeFilters.js +74 -0
  67. package/common/utils/debounceDeparturesMessages.d.ts +13 -0
  68. package/common/utils/debounceDeparturesMessages.d.ts.map +1 -0
  69. package/common/utils/debounceDeparturesMessages.js +28 -0
  70. package/common/utils/debounceWebsocketMessages.d.ts +12 -0
  71. package/common/utils/debounceWebsocketMessages.d.ts.map +1 -0
  72. package/common/utils/debounceWebsocketMessages.js +30 -0
  73. package/common/utils/getLayersAsFlatArray.d.ts +4 -0
  74. package/common/utils/getLayersAsFlatArray.d.ts.map +1 -0
  75. package/common/utils/getLayersAsFlatArray.js +16 -0
  76. package/common/utils/getMapboxMapCopyrights.d.ts +18 -0
  77. package/common/utils/getMapboxMapCopyrights.d.ts.map +1 -0
  78. package/common/utils/getMapboxMapCopyrights.js +30 -0
  79. package/common/utils/getMapboxRender.d.ts +8 -0
  80. package/common/utils/getMapboxRender.d.ts.map +1 -0
  81. package/common/utils/getMapboxRender.js +88 -0
  82. package/common/utils/getMaplibreRender.d.ts +9 -0
  83. package/common/utils/getMaplibreRender.d.ts.map +1 -0
  84. package/common/utils/getMaplibreRender.js +40 -0
  85. package/{src/common/utils/getRealtimeModeSuffix.ts → common/utils/getRealtimeModeSuffix.d.ts} +2 -4
  86. package/common/utils/getRealtimeModeSuffix.d.ts.map +1 -0
  87. package/common/utils/getRealtimeModeSuffix.js +7 -0
  88. package/common/utils/getUrlWithParams.d.ts +9 -0
  89. package/common/utils/getUrlWithParams.d.ts.map +1 -0
  90. package/common/utils/getUrlWithParams.js +18 -0
  91. package/common/utils/getVehiclePosition.d.ts +16 -0
  92. package/common/utils/getVehiclePosition.d.ts.map +1 -0
  93. package/common/utils/getVehiclePosition.js +72 -0
  94. package/common/utils/index.d.ts +18 -0
  95. package/common/utils/index.d.ts.map +1 -0
  96. package/{src/common → common}/utils/index.js +2 -1
  97. package/common/utils/realtimeConfig.d.ts +53 -0
  98. package/common/utils/realtimeConfig.d.ts.map +1 -0
  99. package/common/utils/realtimeConfig.js +202 -0
  100. package/common/utils/removeDuplicate.d.ts +10 -0
  101. package/common/utils/removeDuplicate.d.ts.map +1 -0
  102. package/common/utils/removeDuplicate.js +15 -0
  103. package/common/utils/renderTrajectories.d.ts +17 -0
  104. package/common/utils/renderTrajectories.d.ts.map +1 -0
  105. package/common/utils/renderTrajectories.js +110 -0
  106. package/common/utils/sortAndFilterDepartures.d.ts +16 -0
  107. package/common/utils/sortAndFilterDepartures.d.ts.map +1 -0
  108. package/common/utils/sortAndFilterDepartures.js +58 -0
  109. package/common/utils/sortByDelay.d.ts +4 -0
  110. package/common/utils/sortByDelay.d.ts.map +1 -0
  111. package/common/utils/sortByDelay.js +21 -0
  112. package/common/utils/timeUtils.d.ts +24 -0
  113. package/common/utils/timeUtils.d.ts.map +1 -0
  114. package/common/utils/timeUtils.js +39 -0
  115. package/iife.d.ts +3 -0
  116. package/iife.d.ts.map +1 -0
  117. package/{src/iife.js → iife.js} +1 -3
  118. package/index.d.ts +10 -0
  119. package/index.d.ts.map +1 -0
  120. package/index.js +10 -0
  121. package/mapbox/controls/CopyrightControl.d.ts +29 -0
  122. package/mapbox/controls/CopyrightControl.d.ts.map +1 -0
  123. package/{src/mapbox/controls/CopyrightControl.ts → mapbox/controls/CopyrightControl.js} +21 -26
  124. package/mapbox/controls/index.d.ts +2 -0
  125. package/mapbox/controls/index.d.ts.map +1 -0
  126. package/mapbox/index.d.ts +6 -0
  127. package/mapbox/index.d.ts.map +1 -0
  128. package/mapbox/layers/Layer.d.ts +59 -0
  129. package/mapbox/layers/Layer.d.ts.map +1 -0
  130. package/mapbox/layers/Layer.js +101 -0
  131. package/mapbox/layers/RealtimeLayer.d.ts +180 -0
  132. package/mapbox/layers/RealtimeLayer.d.ts.map +1 -0
  133. package/mapbox/layers/RealtimeLayer.js +270 -0
  134. package/mapbox/layers/index.d.ts +3 -0
  135. package/mapbox/layers/index.d.ts.map +1 -0
  136. package/mapbox/utils/getMercatorResolution.d.ts +9 -0
  137. package/mapbox/utils/getMercatorResolution.d.ts.map +1 -0
  138. package/mapbox/utils/getMercatorResolution.js +18 -0
  139. package/mapbox/utils/getSourceCoordinates.d.ts +9 -0
  140. package/mapbox/utils/getSourceCoordinates.d.ts.map +1 -0
  141. package/mapbox/utils/getSourceCoordinates.js +27 -0
  142. package/mapbox/utils/index.d.ts +3 -0
  143. package/mapbox/utils/index.d.ts.map +1 -0
  144. package/mbt.js +64822 -0
  145. package/mbt.js.map +7 -0
  146. package/mbt.min.js +1090 -0
  147. package/mbt.min.js.map +7 -0
  148. package/ol/controls/CopyrightControl.d.ts +31 -0
  149. package/ol/controls/CopyrightControl.d.ts.map +1 -0
  150. package/ol/controls/CopyrightControl.js +68 -0
  151. package/ol/controls/RoutingControl.d.ts +193 -0
  152. package/ol/controls/RoutingControl.d.ts.map +1 -0
  153. package/ol/controls/RoutingControl.js +631 -0
  154. package/ol/controls/StopFinderControl.d.ts +30 -0
  155. package/ol/controls/StopFinderControl.d.ts.map +1 -0
  156. package/{src/ol/controls/StopFinderControl.ts → ol/controls/StopFinderControl.js} +7 -10
  157. package/ol/controls/index.d.ts +4 -0
  158. package/ol/controls/index.d.ts.map +1 -0
  159. package/ol/index.d.ts +6 -0
  160. package/ol/index.d.ts.map +1 -0
  161. package/ol/layers/Layer.d.ts +86 -0
  162. package/ol/layers/Layer.d.ts.map +1 -0
  163. package/ol/layers/Layer.js +174 -0
  164. package/ol/layers/MapGlLayer.d.ts +67 -0
  165. package/ol/layers/MapGlLayer.d.ts.map +1 -0
  166. package/ol/layers/MapGlLayer.js +218 -0
  167. package/ol/layers/MapboxLayer.d.ts +50 -0
  168. package/ol/layers/MapboxLayer.d.ts.map +1 -0
  169. package/ol/layers/MapboxLayer.js +109 -0
  170. package/ol/layers/MapboxStyleLayer.d.ts +131 -0
  171. package/ol/layers/MapboxStyleLayer.d.ts.map +1 -0
  172. package/ol/layers/MapboxStyleLayer.js +369 -0
  173. package/{src/ol/layers/MaplibreLayer.ts → ol/layers/MaplibreLayer.d.ts} +10 -21
  174. package/ol/layers/MaplibreLayer.d.ts.map +1 -0
  175. package/ol/layers/MaplibreLayer.js +34 -0
  176. package/ol/layers/RealtimeLayer.d.ts +202 -0
  177. package/ol/layers/RealtimeLayer.d.ts.map +1 -0
  178. package/ol/layers/RealtimeLayer.js +332 -0
  179. package/ol/layers/RoutingLayer.d.ts +35 -0
  180. package/ol/layers/RoutingLayer.d.ts.map +1 -0
  181. package/ol/layers/RoutingLayer.js +85 -0
  182. package/ol/layers/VectorLayer.d.ts +25 -0
  183. package/ol/layers/VectorLayer.d.ts.map +1 -0
  184. package/ol/layers/VectorLayer.js +38 -0
  185. package/ol/layers/WMSLayer.d.ts +42 -0
  186. package/ol/layers/WMSLayer.d.ts.map +1 -0
  187. package/ol/layers/WMSLayer.js +88 -0
  188. package/ol/layers/index.d.ts +9 -0
  189. package/ol/layers/index.d.ts.map +1 -0
  190. package/ol/styles/fullTrajectoryDelayStyle.d.ts +4 -0
  191. package/ol/styles/fullTrajectoryDelayStyle.d.ts.map +1 -0
  192. package/ol/styles/fullTrajectoryDelayStyle.js +33 -0
  193. package/ol/styles/fullTrajectoryStyle.d.ts +5 -0
  194. package/ol/styles/fullTrajectoryStyle.d.ts.map +1 -0
  195. package/ol/styles/fullTrajectoryStyle.js +44 -0
  196. package/ol/styles/index.d.ts +3 -0
  197. package/ol/styles/index.d.ts.map +1 -0
  198. package/package.json +1 -1
  199. package/setupTests.d.ts +2 -0
  200. package/setupTests.d.ts.map +1 -0
  201. package/{src/setupTests.js → setupTests.js} +7 -12
  202. package/.esdoc.js +0 -18
  203. package/.eslintignore +0 -1
  204. package/.eslintrc.js +0 -25
  205. package/.fixpackrc +0 -20
  206. package/.github/workflows/build.yml +0 -16
  207. package/.github/workflows/conventional-pr-title.yml +0 -16
  208. package/.github/workflows/cypress.yml +0 -101
  209. package/.github/workflows/test.yml +0 -17
  210. package/.husky/commit-msg +0 -4
  211. package/.husky/post-checkout +0 -4
  212. package/.husky/post-merge +0 -4
  213. package/.husky/post-rebase +0 -4
  214. package/.husky/pre-commit +0 -4
  215. package/.lintstagedrc.js +0 -10
  216. package/.nvmrc +0 -1
  217. package/.prettierrc.js +0 -5
  218. package/.stylelintrc.js +0 -4
  219. package/CHANGELOG.md +0 -132
  220. package/LICENSE +0 -21
  221. package/MIGRATION-V2.md +0 -248
  222. package/README.md +0 -42
  223. package/__mocks__/mapbox-gl.js +0 -81
  224. package/__mocks__/maplibre-gl.js +0 -81
  225. package/babel.config.js +0 -9
  226. package/commitlint.config.js +0 -1
  227. package/cypress/e2e/examples/api.cy.js +0 -7
  228. package/cypress/e2e/examples/examples.cy.js +0 -7
  229. package/cypress/e2e/examples/navigation.cy.js +0 -29
  230. package/cypress/fixtures/example.json +0 -5
  231. package/cypress/plugins/index.js +0 -21
  232. package/cypress/support/commands.js +0 -25
  233. package/cypress/support/e2e.js +0 -20
  234. package/cypress.config.ts +0 -15
  235. package/data/fetchRoute.json +0 -292
  236. package/data/fetchTrajectories.json +0 -18
  237. package/data/fetchTrajectoryById.json +0 -3
  238. package/data/fetchTrajectoryStations.json +0 -18
  239. package/data/stopsSearch.json +0 -15
  240. package/dependabot.yml +0 -15
  241. package/doc/.eslintrc.json +0 -1
  242. package/doc/README.md +0 -34
  243. package/doc/next.config.js +0 -16
  244. package/doc/package.json +0 -41
  245. package/doc/pages/404.js +0 -5
  246. package/doc/pages/_app.js +0 -61
  247. package/doc/pages/_document.js +0 -64
  248. package/doc/pages/doc/[...slug].js +0 -23
  249. package/doc/pages/doc.js +0 -23
  250. package/doc/pages/example/[example].js +0 -52
  251. package/doc/pages/examples.js +0 -34
  252. package/doc/pages/index.js +0 -25
  253. package/doc/public/README.md +0 -15
  254. package/doc/public/favicon.ico +0 -0
  255. package/doc/public/static/assets/Lato-Black.ttf +0 -0
  256. package/doc/public/static/assets/Lato-BlackItalic.ttf +0 -0
  257. package/doc/public/static/assets/Lato-Bold.ttf +0 -0
  258. package/doc/public/static/assets/Lato-BoldItalic.ttf +0 -0
  259. package/doc/public/static/assets/Lato-Italic.ttf +0 -0
  260. package/doc/public/static/assets/Lato-Light.ttf +0 -0
  261. package/doc/public/static/assets/Lato-LightItalic.ttf +0 -0
  262. package/doc/public/static/assets/Lato-Regular.ttf +0 -0
  263. package/doc/public/static/assets/Lato-Thin.ttf +0 -0
  264. package/doc/public/static/assets/Lato-ThinItalic.ttf +0 -0
  265. package/doc/public/static/assets/OFL.txt +0 -93
  266. package/doc/public/static/examples/assets/tralis-live-map/index.js +0 -11
  267. package/doc/public/static/examples/assets/tralis-live-map/s1kreis.svg +0 -105
  268. package/doc/public/static/examples/assets/tralis-live-map/s20kreis.svg +0 -101
  269. package/doc/public/static/examples/assets/tralis-live-map/s2kreis.svg +0 -95
  270. package/doc/public/static/examples/assets/tralis-live-map/s3kreis.svg +0 -95
  271. package/doc/public/static/examples/assets/tralis-live-map/s4kreis.svg +0 -95
  272. package/doc/public/static/examples/assets/tralis-live-map/s6kreis.svg +0 -95
  273. package/doc/public/static/examples/assets/tralis-live-map/s7kreis.svg +0 -95
  274. package/doc/public/static/examples/assets/tralis-live-map/s8kreis.svg +0 -93
  275. package/doc/public/static/examples/assets/tralis-live-map/unknown.svg +0 -107
  276. package/doc/public/static/examples/layers.html +0 -11
  277. package/doc/public/static/examples/layers.js +0 -97
  278. package/doc/public/static/examples/mb-copyright.html +0 -26
  279. package/doc/public/static/examples/mb-copyright.js +0 -37
  280. package/doc/public/static/examples/mb-tracker.html +0 -1
  281. package/doc/public/static/examples/mb-tracker.js +0 -40
  282. package/doc/public/static/examples/mb-tracker.md +0 -1
  283. package/doc/public/static/examples/mb-tralis.html +0 -1
  284. package/doc/public/static/examples/mb-tralis.js +0 -34
  285. package/doc/public/static/examples/ol-copyright.html +0 -26
  286. package/doc/public/static/examples/ol-copyright.js +0 -43
  287. package/doc/public/static/examples/ol-mapbox-layer.html +0 -1
  288. package/doc/public/static/examples/ol-mapbox-layer.js +0 -28
  289. package/doc/public/static/examples/ol-mapbox-style-layer.html +0 -12
  290. package/doc/public/static/examples/ol-mapbox-style-layer.js +0 -48
  291. package/doc/public/static/examples/ol-query.html +0 -32
  292. package/doc/public/static/examples/ol-query.js +0 -83
  293. package/doc/public/static/examples/ol-routing.html +0 -26
  294. package/doc/public/static/examples/ol-routing.js +0 -65
  295. package/doc/public/static/examples/ol-routing.md +0 -1
  296. package/doc/public/static/examples/ol-stop-finder.html +0 -15
  297. package/doc/public/static/examples/ol-stop-finder.js +0 -35
  298. package/doc/public/static/examples/ol-stop-finder.md +0 -1
  299. package/doc/public/static/examples/ol-tracker.html +0 -1
  300. package/doc/public/static/examples/ol-tracker.js +0 -41
  301. package/doc/public/static/examples/ol-tracker.md +0 -1
  302. package/doc/public/static/examples/ol-tralis.html +0 -5
  303. package/doc/public/static/examples/ol-tralis.js +0 -62
  304. package/doc/public/static/examples/tralis-live-map.html +0 -1
  305. package/doc/public/static/examples/tralis-live-map.js +0 -67
  306. package/doc/public/static/examples/tralis-live-map.md +0 -3
  307. package/doc/public/static/img/live_tracker_mb.jpg +0 -0
  308. package/doc/public/static/img/live_tracker_munich.jpg +0 -0
  309. package/doc/public/static/img/live_tracker_ol.jpg +0 -0
  310. package/doc/public/static/img/mapbox.jpg +0 -0
  311. package/doc/public/static/img/mapbox_style.jpg +0 -0
  312. package/doc/public/static/img/ol-copyright.png +0 -0
  313. package/doc/public/static/img/query_objects.jpg +0 -0
  314. package/doc/public/static/img/routing.jpg +0 -0
  315. package/doc/public/static/img/simple_map.jpg +0 -0
  316. package/doc/public/static/img/stops.jpg +0 -0
  317. package/doc/public/vercel.svg +0 -4
  318. package/doc/src/components/CodeSandboxButton.js +0 -102
  319. package/doc/src/components/Documentation.js +0 -42
  320. package/doc/src/components/Esdoc/Anchor.js +0 -57
  321. package/doc/src/components/Esdoc/ClassDoc.js +0 -272
  322. package/doc/src/components/Esdoc/DeprecatedHTML.js +0 -16
  323. package/doc/src/components/Esdoc/DetailDocs.js +0 -279
  324. package/doc/src/components/Esdoc/DetailHTML.js +0 -33
  325. package/doc/src/components/Esdoc/DirectSubclassHTML.js +0 -30
  326. package/doc/src/components/Esdoc/DocBuilderUtils.js +0 -697
  327. package/doc/src/components/Esdoc/DocLinkHTML.js +0 -63
  328. package/doc/src/components/Esdoc/DocsLinkHTML.js +0 -38
  329. package/doc/src/components/Esdoc/Esdoc.js +0 -63
  330. package/doc/src/components/Esdoc/EsdocContent.js +0 -56
  331. package/doc/src/components/Esdoc/EsdocNavigation.js +0 -13
  332. package/doc/src/components/Esdoc/EsdocSearch.js +0 -78
  333. package/doc/src/components/Esdoc/ExperimentalHTML.js +0 -17
  334. package/doc/src/components/Esdoc/ExtendsChainHTML.js +0 -32
  335. package/doc/src/components/Esdoc/FileDocLinkHTML.js +0 -62
  336. package/doc/src/components/Esdoc/IdentifiersDoc.js +0 -113
  337. package/doc/src/components/Esdoc/IndirectSubclassHTML.js +0 -30
  338. package/doc/src/components/Esdoc/InheritedSummaryDoc.js +0 -70
  339. package/doc/src/components/Esdoc/InheritedSummaryHTML.js +0 -38
  340. package/doc/src/components/Esdoc/MixinClassesHTML.js +0 -29
  341. package/doc/src/components/Esdoc/NavDoc.js +0 -112
  342. package/doc/src/components/Esdoc/OverrideMethod.js +0 -44
  343. package/doc/src/components/Esdoc/OverrideMethodDescription.js +0 -35
  344. package/doc/src/components/Esdoc/Properties.js +0 -89
  345. package/doc/src/components/Esdoc/README.md +0 -45
  346. package/doc/src/components/Esdoc/SignatureHTML.js +0 -123
  347. package/doc/src/components/Esdoc/SingleDoc.js +0 -31
  348. package/doc/src/components/Esdoc/SummaryDoc.js +0 -160
  349. package/doc/src/components/Esdoc/SummaryHTML.js +0 -96
  350. package/doc/src/components/Esdoc/TypeDocLinkHTML.js +0 -251
  351. package/doc/src/components/Esdoc/index.js +0 -7
  352. package/doc/src/components/Esdoc/taffydb.js +0 -2070
  353. package/doc/src/components/Example.js +0 -200
  354. package/doc/src/components/ExampleCard.js +0 -126
  355. package/doc/src/components/Examples.js +0 -78
  356. package/doc/src/components/Home.js +0 -121
  357. package/doc/src/components/TrackerExample.js +0 -39
  358. package/doc/src/examples.js +0 -117
  359. package/doc/styles/App.scss +0 -53
  360. package/doc/styles/identifiers.css +0 -38
  361. package/doc/styles/search.css +0 -76
  362. package/doc/styles/style.css +0 -603
  363. package/esdoc/README.md +0 -27
  364. package/esdoc/plugins/MyPlugin.js +0 -69
  365. package/esdoc/plugins/dynamic-property-plugin/Plugin.js +0 -50
  366. package/esdoc/plugins/externals-plugin/Plugin.js +0 -45
  367. package/esdoc/plugins/externals-plugin/externals.js +0 -93
  368. package/esdoc/plugins/optional-chaining-plugin/Plugin.js +0 -8
  369. package/global-setup.js +0 -3
  370. package/jest.config.js +0 -24
  371. package/pull_request_template.md +0 -17
  372. package/scripts/read-pkg-json.js +0 -22
  373. package/src/api/RealtimeAPI.test.js +0 -144
  374. package/src/api/RealtimeAPI.ts +0 -712
  375. package/src/api/RoutingAPI.test.js +0 -41
  376. package/src/api/RoutingAPI.ts +0 -47
  377. package/src/api/StopsAPI.test.js +0 -34
  378. package/src/api/StopsAPI.ts +0 -45
  379. package/src/common/api/HttpAPI.test.js +0 -68
  380. package/src/common/api/HttpAPI.ts +0 -77
  381. package/src/common/api/WebSocketAPI.test.js +0 -421
  382. package/src/common/api/WebSocketAPI.ts +0 -515
  383. package/src/common/controls/ControlCommon.test.js +0 -106
  384. package/src/common/controls/ControlCommon.ts +0 -194
  385. package/src/common/controls/CopyrightControlCommon.ts +0 -41
  386. package/src/common/controls/StopFinderControlCommon.ts +0 -192
  387. package/src/common/layers/LayerCommon.test.js +0 -158
  388. package/src/common/layers/LayerCommon.ts +0 -321
  389. package/src/common/mixins/RealtimeLayerMixin.ts +0 -1168
  390. package/src/common/mixins/UserInteractionsLayerMixin.test.js +0 -227
  391. package/src/common/mixins/UserInteractionsLayerMixin.ts +0 -352
  392. package/src/common/styles/realtimeDefaultStyle.ts +0 -436
  393. package/src/common/styles/realtimeDelayStyle.ts +0 -27
  394. package/src/common/styles/realtimeHeadingStyle.ts +0 -138
  395. package/src/common/styles/realtimeSimpleStyle.ts +0 -25
  396. package/src/common/utils/compareDepartures.ts +0 -46
  397. package/src/common/utils/createCanvas.ts +0 -33
  398. package/src/common/utils/createRealtimeFilters.test.js +0 -100
  399. package/src/common/utils/createRealtimeFilters.ts +0 -96
  400. package/src/common/utils/debounceDeparturesMessages.ts +0 -52
  401. package/src/common/utils/debounceWebsocketMessages.ts +0 -47
  402. package/src/common/utils/getLayersAsFlatArray.ts +0 -17
  403. package/src/common/utils/getMapboxMapCopyrights.test.js +0 -47
  404. package/src/common/utils/getMapboxMapCopyrights.ts +0 -52
  405. package/src/common/utils/getMapboxRender.ts +0 -104
  406. package/src/common/utils/getMaplibreRender.ts +0 -54
  407. package/src/common/utils/getUrlWithParams.ts +0 -21
  408. package/src/common/utils/getVehiclePosition.ts +0 -92
  409. package/src/common/utils/realtimeConfig.test.js +0 -57
  410. package/src/common/utils/realtimeConfig.ts +0 -228
  411. package/src/common/utils/removeDuplicate.test.js +0 -22
  412. package/src/common/utils/removeDuplicate.ts +0 -22
  413. package/src/common/utils/renderTrajectories.ts +0 -194
  414. package/src/common/utils/sortAndFilterDepartures.ts +0 -78
  415. package/src/common/utils/sortByDelay.ts +0 -29
  416. package/src/common/utils/timeUtils.test.js +0 -16
  417. package/src/common/utils/timeUtils.ts +0 -45
  418. package/src/index.js +0 -10
  419. package/src/mapbox/layers/Layer.test.js +0 -217
  420. package/src/mapbox/layers/Layer.ts +0 -144
  421. package/src/mapbox/layers/RealtimeLayer.test.js +0 -13
  422. package/src/mapbox/layers/RealtimeLayer.ts +0 -350
  423. package/src/mapbox/utils/getMercatorResolution.ts +0 -21
  424. package/src/mapbox/utils/getSourceCoordinates.ts +0 -34
  425. package/src/ol/README.md +0 -0
  426. package/src/ol/controls/CopyrightControl.test.js +0 -211
  427. package/src/ol/controls/CopyrightControl.ts +0 -82
  428. package/src/ol/controls/RoutingControl.test.js +0 -205
  429. package/src/ol/controls/RoutingControl.ts +0 -869
  430. package/src/ol/controls/StopFinderControl.test.js +0 -59
  431. package/src/ol/controls/snapshots/RoutingControlRouteGen10.json +0 -58
  432. package/src/ol/controls/snapshots/RoutingControlRouteGen100.json +0 -292
  433. package/src/ol/controls/snapshots/RoutingControlRouteGen30.json +0 -69
  434. package/src/ol/controls/snapshots/RoutingControlRouteGen5.json +0 -58
  435. package/src/ol/controls/snapshots/RoutingControlRouteOSM.json +0 -759
  436. package/src/ol/controls/snapshots/RoutingControlStation1.json +0 -60
  437. package/src/ol/controls/snapshots/RoutingControlStation2.json +0 -49
  438. package/src/ol/layers/Layer.test.js +0 -212
  439. package/src/ol/layers/Layer.ts +0 -252
  440. package/src/ol/layers/MapGlLayer.ts +0 -294
  441. package/src/ol/layers/MapboxLayer.test.js +0 -190
  442. package/src/ol/layers/MapboxLayer.ts +0 -136
  443. package/src/ol/layers/MapboxStyleLayer.test.js +0 -258
  444. package/src/ol/layers/MapboxStyleLayer.ts +0 -466
  445. package/src/ol/layers/RealtimeLayer.test.js +0 -84
  446. package/src/ol/layers/RealtimeLayer.ts +0 -465
  447. package/src/ol/layers/RoutingLayer.test.js +0 -48
  448. package/src/ol/layers/RoutingLayer.ts +0 -113
  449. package/src/ol/layers/VectorLayer.test.js +0 -87
  450. package/src/ol/layers/VectorLayer.ts +0 -48
  451. package/src/ol/layers/WMSLayer.test.js +0 -65
  452. package/src/ol/layers/WMSLayer.ts +0 -114
  453. package/src/ol/styles/fullTrajectoryDelayStyle.ts +0 -37
  454. package/src/ol/styles/fullTrajectoryStyle.ts +0 -56
  455. package/tsconfig.json +0 -23
  456. /package/{src/api → api}/index.js +0 -0
  457. /package/{src/common → common}/index.js +0 -0
  458. /package/{src/common → common}/styles/index.js +0 -0
  459. /package/{src/mapbox → mapbox}/controls/index.js +0 -0
  460. /package/{src/mapbox → mapbox}/index.js +0 -0
  461. /package/{src/mapbox → mapbox}/layers/index.js +0 -0
  462. /package/{src/mapbox → mapbox}/utils/index.js +0 -0
  463. /package/{src/ol → ol}/controls/index.js +0 -0
  464. /package/{src/ol → ol}/index.js +0 -0
  465. /package/{src/ol → ol}/layers/index.js +0 -0
  466. /package/{src/ol → ol}/styles/index.js +0 -0
  467. /package/{src/types → types}/common.d.ts +0 -0
  468. /package/{src/types → types}/index.d.ts +0 -0
  469. /package/{src/types → types}/realtime.d.ts +0 -0
  470. /package/{src/types → types}/routing.d.ts +0 -0
  471. /package/{src/types → types}/stops.d.ts +0 -0
@@ -1,227 +0,0 @@
1
- import VectorLayer from 'ol/layer/Vector';
2
- import VectorSource from 'ol/source/Vector';
3
- import BaseLayer from '../layers/LayerCommon';
4
- import mixin from './UserInteractionsLayerMixin';
5
-
6
- const olLayer = new VectorLayer({ source: new VectorSource() });
7
-
8
- const Layer = mixin(BaseLayer);
9
-
10
- describe('Layer', () => {
11
- test('should initialize.', () => {
12
- const layer = new Layer();
13
- expect(layer).toBeInstanceOf(Layer);
14
- });
15
-
16
- test('should define default properties.', () => {
17
- const layer = new Layer();
18
- expect(layer).toBeInstanceOf(Layer);
19
- expect(layer.userInteractions).toEqual(true);
20
- expect(layer.userClickInteractions).toEqual(true);
21
- expect(layer.userHoverInteractions).toEqual(true);
22
- expect(layer.defaultUserInteractions).toBe(true);
23
- expect(layer.userClickCallbacks).toEqual([]);
24
- expect(layer.userHoverCallbacks).toEqual([]);
25
- expect(layer.userClickEventsKeys).toEqual([]);
26
- expect(layer.userHoverEventsKeys).toEqual([]);
27
- });
28
-
29
- test('should set userInteractionsXXX to false.', () => {
30
- const options = {
31
- userInteractions: false,
32
- userClickInteractions: false,
33
- userHoverInteractions: false,
34
- defaultUserInteractions: false,
35
- };
36
- const layer = new Layer(options);
37
- expect(layer).toBeInstanceOf(Layer);
38
- expect(layer.userInteractions).toBe(false);
39
- expect(layer.userClickInteractions).toBe(false);
40
- expect(layer.userHoverInteractions).toBe(false);
41
- expect(layer.defaultUserInteractions).toBe(false);
42
- });
43
-
44
- test('should set onClick using constructor', () => {
45
- const fn = () => {};
46
- const layer = new Layer({
47
- onClick: fn,
48
- onHover: fn,
49
- });
50
- expect(layer.userClickCallbacks[0]).toBe(fn);
51
- expect(layer.userHoverCallbacks[0]).toBe(fn);
52
- expect(layer.userClickEventsKeys.length).toBe(0);
53
- expect(layer.userHoverEventsKeys.length).toBe(0);
54
- });
55
-
56
- describe('#attachToMap()', () => {
57
- test('should not add events if no callbacks', () => {
58
- const layer = new Layer({
59
- olLayer,
60
- });
61
-
62
- expect(layer.map).toBe(undefined);
63
- const obj = {};
64
- layer.attachToMap(obj);
65
- expect(layer.userClickEventsKeys.length).toBe(0);
66
- expect(layer.userHoverEventsKeys.length).toBe(0);
67
- });
68
-
69
- test('should add events', () => {
70
- const fn = () => {};
71
- const layer = new Layer({
72
- olLayer,
73
- onClick: fn,
74
- onHover: fn,
75
- });
76
-
77
- expect(layer.map).toBe(undefined);
78
- const obj = {};
79
- layer.attachToMap(obj);
80
- expect(layer.userClickEventsKeys.length).toBe(1);
81
- expect(layer.userHoverEventsKeys.length).toBe(1);
82
- });
83
- });
84
-
85
- describe('#onClick()', () => {
86
- test('adds function to callback array', () => {
87
- const layer = new Layer();
88
- const fn = jest.fn();
89
- const fn2 = jest.fn();
90
- layer.onClick(fn);
91
- expect(layer.userClickCallbacks).toEqual([fn]);
92
- layer.onClick(fn2);
93
- expect(layer.userClickCallbacks).toEqual([fn, fn2]);
94
- expect(layer.userClickEventsKeys.length).toBe(0);
95
-
96
- layer.attachToMap({});
97
- expect(layer.userClickEventsKeys.length).toBe(2);
98
- });
99
- });
100
-
101
- describe('#onHover()', () => {
102
- test('adds function to callback array', () => {
103
- const layer = new Layer();
104
- const fn = jest.fn();
105
- const fn2 = jest.fn();
106
- layer.onHover(fn);
107
- expect(layer.userHoverCallbacks).toEqual([fn]);
108
- layer.onHover(fn2);
109
- expect(layer.userHoverCallbacks).toEqual([fn, fn2]);
110
- expect(layer.userHoverEventsKeys.length).toBe(0);
111
-
112
- layer.attachToMap({});
113
- expect(layer.userHoverEventsKeys.length).toBe(2);
114
- });
115
- });
116
-
117
- describe('#onUserClickCallback()', () => {
118
- const evt = { type: 'signleclick', coordinate: [0, 0] };
119
-
120
- const getFeatureInfo = (layer, features = []) => ({
121
- features,
122
- layer,
123
- coordinate: evt.coordinate,
124
- event: evt,
125
- });
126
-
127
- test('calls click callback functions', (done) => {
128
- const layer = new Layer();
129
- const goodFeatureInfo = getFeatureInfo(layer, [{ name: 'test' }]);
130
- const fn = jest.fn();
131
- const fn2 = jest.fn();
132
- const spy = jest
133
- .spyOn(layer, 'getFeatureInfoAtCoordinate')
134
- .mockResolvedValue(goodFeatureInfo);
135
- layer.onClick(fn);
136
- layer.onClick(fn2);
137
- layer.attachToMap({});
138
- layer.onUserClickCallback(evt).then((featureInfo) => {
139
- expect(spy).toHaveBeenCalledTimes(1);
140
- expect(spy).toHaveBeenCalledWith(evt.coordinate);
141
- expect(featureInfo).toBe(goodFeatureInfo);
142
- expect(fn).toHaveBeenCalledTimes(1);
143
- expect(fn.mock.calls[0][0]).toBe(goodFeatureInfo.features);
144
- expect(fn.mock.calls[0][1]).toBe(goodFeatureInfo.layer);
145
- expect(fn.mock.calls[0][2]).toBe(goodFeatureInfo.coordinate);
146
- expect(fn2).toHaveBeenCalledTimes(1);
147
- expect(fn2.mock.calls[0][0]).toBe(goodFeatureInfo.features);
148
- expect(fn2.mock.calls[0][1]).toBe(goodFeatureInfo.layer);
149
- expect(fn2.mock.calls[0][2]).toBe(goodFeatureInfo.coordinate);
150
- done();
151
- });
152
- });
153
-
154
- describe('returns empty feature info', () => {
155
- test('if an error is thrown in click callback', (done) => {
156
- const layer = new Layer();
157
- layer.onClick(() => {
158
- throw new Error('foo');
159
- });
160
- const goodFeatureInfo = getFeatureInfo(layer, [{ name: 'test' }]);
161
- jest
162
- .spyOn(layer, 'getFeatureInfoAtCoordinate')
163
- .mockResolvedValue(goodFeatureInfo);
164
- layer.attachToMap({});
165
- layer.onUserClickCallback(evt).then((featureInfo) => {
166
- expect(featureInfo).toEqual(getFeatureInfo(layer));
167
- done();
168
- });
169
- });
170
- });
171
- });
172
-
173
- describe('#onUserMoveCallback()', () => {
174
- const evt = { type: 'pointermove', coordinate: [0, 0] };
175
-
176
- const getFeatureInfo = (layer, features = []) => ({
177
- features,
178
- layer,
179
- coordinate: evt.coordinate,
180
- event: evt,
181
- });
182
-
183
- test('calls hover callback functions', (done) => {
184
- const layer = new Layer();
185
- const goodFeatureInfo = getFeatureInfo(layer, [{ name: 'test' }]);
186
- const fn = jest.fn();
187
- const fn2 = jest.fn();
188
- const spy = jest
189
- .spyOn(layer, 'getFeatureInfoAtCoordinate')
190
- .mockResolvedValue(goodFeatureInfo);
191
- layer.onHover(fn);
192
- layer.onHover(fn2);
193
- layer.attachToMap({});
194
- layer.onUserMoveCallback(evt).then((featureInfo) => {
195
- expect(spy).toHaveBeenCalledTimes(1);
196
- expect(spy).toHaveBeenCalledWith(evt.coordinate);
197
- expect(featureInfo).toBe(goodFeatureInfo);
198
- expect(fn).toHaveBeenCalledTimes(1);
199
- expect(fn.mock.calls[0][0]).toBe(goodFeatureInfo.features);
200
- expect(fn.mock.calls[0][1]).toBe(goodFeatureInfo.layer);
201
- expect(fn.mock.calls[0][2]).toBe(goodFeatureInfo.coordinate);
202
- expect(fn2).toHaveBeenCalledTimes(1);
203
- expect(fn2.mock.calls[0][0]).toBe(goodFeatureInfo.features);
204
- expect(fn2.mock.calls[0][1]).toBe(goodFeatureInfo.layer);
205
- expect(fn2.mock.calls[0][2]).toBe(goodFeatureInfo.coordinate);
206
- done();
207
- });
208
- });
209
-
210
- describe('returns empty feature info', () => {
211
- test('if an error is thrown in hover callback', (done) => {
212
- const layer = new Layer();
213
- layer.onHover(() => {
214
- throw new Error('foo');
215
- });
216
- jest
217
- .spyOn(layer, 'getFeatureInfoAtCoordinate')
218
- .mockResolvedValue(getFeatureInfo(layer, [{ name: 'test' }]));
219
- layer.attachToMap({});
220
- layer.onUserMoveCallback(evt).then((featureInfo) => {
221
- expect(featureInfo).toEqual(getFeatureInfo(layer));
222
- done();
223
- });
224
- });
225
- });
226
- });
227
- });
@@ -1,352 +0,0 @@
1
- /* eslint-disable no-empty-function,@typescript-eslint/no-empty-function */
2
- /* eslint-disable no-useless-constructor,@typescript-eslint/no-useless-constructor */
3
- /* eslint-disable no-unused-vars,@typescript-eslint/no-unused-vars */
4
- /* eslint-disable class-methods-use-this */
5
- /* eslint-disable max-classes-per-file */
6
- import { fromLonLat } from 'ol/proj';
7
- import { unByKey } from 'ol/Observable';
8
- import { EventsKey } from 'ol/events';
9
- import { ObjectEvent } from 'ol/Object';
10
- import { Coordinate } from 'ol/coordinate';
11
- import { MapBrowserEvent, MapEvent } from 'ol';
12
- import BaseEvent from 'ol/events/Event';
13
- import { AnyMap, CommonLayerClass, UserInteractionCallback } from '../../types';
14
- import LayerCommon from '../layers/LayerCommon';
15
-
16
- export type UserInteractionsLayerMixinOptions = {
17
- userInteractions?: boolean;
18
- userClickInteractions?: boolean;
19
- userHoverInteractions?: boolean;
20
- defaultUserInteractions?: boolean;
21
- onClick?: UserInteractionCallback;
22
- onHover?: UserInteractionCallback;
23
- };
24
-
25
- /**
26
- * UserInteractionsLayerInterface.
27
- */
28
- export class UserInteractionsLayerInterface {
29
- /*
30
- * Constructor
31
-
32
- * @param {Object} options Layer options.
33
- * @param {string} options.userInteractions If true, it listens for user mouse hover and click event.
34
- * @param {string} options.userClickInteractions If true, it listens for user click event.
35
- * @param {string} options.userHoverInteractions If true, it listens for user mouse over event.
36
- * @param {string} options.defaultUserInteractions If true, it adds default listeners for user mouse hover and click event.
37
- */
38
- constructor(options = {}) {}
39
-
40
- /**
41
- * Initialize the layer adding user interactions.
42
- *
43
- * @param {ol/Map~Map} map
44
- */
45
- attachToMap(map: AnyMap) {}
46
-
47
- /**
48
- * Terminate the layer unsubscribing user interactions.
49
- */
50
- detachFromMap() {}
51
-
52
- /**
53
- * Activate map listeners events.
54
- */
55
- activateUserInteractions() {}
56
-
57
- /**
58
- * Deactivate map listeners events.
59
- */
60
- deactivateUserInteractions() {}
61
-
62
- /**
63
- * Subscribe on user:click event.
64
- */
65
- onClick(callback: UserInteractionCallback) {}
66
-
67
- /**
68
- * Subscribe on user:hover event.
69
- */
70
- onHover(callback: UserInteractionCallback) {}
71
-
72
- /**
73
- * Unsubscribe on user:click event.
74
- */
75
- unClick(callback: UserInteractionCallback) {}
76
-
77
- /**
78
- * Unsubscribe on user:hover event.
79
- */
80
- unHover(callback: UserInteractionCallback) {}
81
- }
82
-
83
- /**
84
- * Mixin for UserInteractionsLayerInterface. It provide onClick and onHover functions.
85
- *
86
- * @param {Class} Base A class to extend with {UserInteractionsLayerInterface} functionnalities.
87
- * @return {Class} A class that implements {UserInteractionsLayerInterface} class and extends Base;
88
- * @private
89
- */
90
- function UserInteractionsLayerMixin<T extends CommonLayerClass>(
91
- Base: T,
92
- ): T & typeof LayerCommon {
93
- // @ts-ignore
94
- return class extends Base {
95
- userInteractions: boolean;
96
-
97
- userClickInteractions: boolean;
98
-
99
- userHoverInteractions: boolean;
100
-
101
- defaultUserInteractions: boolean;
102
-
103
- userClickCallbacks: UserInteractionCallback[];
104
-
105
- userHoverCallbacks: UserInteractionCallback[];
106
-
107
- userClickEventsKeys: EventsKey[];
108
-
109
- userHoverEventsKeys: EventsKey[];
110
-
111
- onFeatureClick?: UserInteractionCallback;
112
-
113
- onFeatureHover?: UserInteractionCallback;
114
-
115
- constructor(options: UserInteractionsLayerMixinOptions = {}) {
116
- super(options);
117
-
118
- const {
119
- userInteractions = true,
120
- userClickInteractions = true,
121
- userHoverInteractions = true,
122
- defaultUserInteractions = true,
123
- } = options;
124
-
125
- this.userInteractions = userInteractions;
126
- this.userClickInteractions = userClickInteractions;
127
- this.userHoverInteractions = userHoverInteractions;
128
- this.defaultUserInteractions = defaultUserInteractions;
129
- this.userClickCallbacks = [];
130
- this.userHoverCallbacks = [];
131
- this.userClickEventsKeys = [];
132
- this.userHoverEventsKeys = [];
133
- this.onUserClickCallback = this.onUserClickCallback.bind(this);
134
- this.onUserMoveCallback = this.onUserMoveCallback.bind(this);
135
-
136
- // Add mouse event callbacks
137
- const { onClick, onHover } = options;
138
-
139
- if (this.userInteractions && this.userClickInteractions && onClick) {
140
- this.onClick(onClick);
141
- }
142
-
143
- if (this.userInteractions && this.userHoverInteractions && onHover) {
144
- this.onHover(onHover);
145
- }
146
- }
147
-
148
- attachToMap(map: AnyMap) {
149
- super.attachToMap(map);
150
-
151
- if (
152
- this.userInteractions &&
153
- this.defaultUserInteractions &&
154
- this.userClickInteractions &&
155
- this.onFeatureClick
156
- ) {
157
- this.onClick(this.onFeatureClick);
158
- }
159
-
160
- if (
161
- this.userInteractions &&
162
- this.defaultUserInteractions &&
163
- this.userHoverInteractions &&
164
- this.onFeatureHover
165
- ) {
166
- this.onHover(this.onFeatureHover);
167
- }
168
- this.listenEvents();
169
- }
170
-
171
- detachFromMap() {
172
- this.unlistenEvents();
173
- super.detachFromMap();
174
- }
175
-
176
- listenEvents() {
177
- this.unlistenEvents();
178
- this.userClickCallbacks.forEach((callback) => {
179
- this.userClickEventsKeys.push(
180
- this.on(
181
- // @ts-ignore
182
- 'user:click',
183
- ({
184
- target: { features, layer, coordinate, event },
185
- }: ObjectEvent) => {
186
- callback(features, layer, coordinate, event);
187
- },
188
- ),
189
- );
190
- });
191
- this.userHoverCallbacks.forEach((callback) => {
192
- this.userHoverEventsKeys.push(
193
- this.on(
194
- // @ts-ignore
195
- 'user:hover',
196
- ({
197
- target: { features, layer, coordinate, event },
198
- }: ObjectEvent) => {
199
- callback(features, layer, coordinate, event);
200
- },
201
- ),
202
- );
203
- });
204
- }
205
-
206
- unlistenEvents() {
207
- unByKey(this.userClickEventsKeys);
208
- unByKey(this.userHoverEventsKeys);
209
- this.userClickEventsKeys = [];
210
- this.userHoverEventsKeys = [];
211
- }
212
-
213
- /**
214
- * Listens to click events on the layer.
215
- * @param {function} callback Callback function, called with the clicked
216
- * features,
217
- * the layer instance and the click event.
218
- */
219
- onClick(callback: UserInteractionCallback) {
220
- this.userClickCallbacks.push(callback);
221
- this.activateUserInteractions();
222
- if (this.map) {
223
- // If the layer is already attached to the map we reload the events
224
- this.listenEvents();
225
- }
226
- }
227
-
228
- /**
229
- * Listens to hover events on the layer.
230
- * @param {function} callback Callback function, called with the clicked
231
- * features, the layer instance and the click event.
232
- */
233
- onHover(callback: UserInteractionCallback) {
234
- this.userHoverCallbacks.push(callback);
235
- this.activateUserInteractions();
236
- if (this.map) {
237
- // If the layer is already attached to the map we reload the events
238
- this.listenEvents();
239
- }
240
- }
241
-
242
- /**
243
- * Unlistens to click events on the layer.
244
- * @param {function} callback Callback function, called with the clicked
245
- * features,
246
- * the layer instance and the click event.
247
- */
248
- unClick(callback: UserInteractionCallback) {
249
- const index = this.userClickCallbacks.indexOf(callback);
250
- if (index !== -1) {
251
- return;
252
- }
253
- this.userClickCallbacks = this.userClickCallbacks.slice(index, 1);
254
-
255
- if (this.map) {
256
- // If the layer is already attached to the map we reload the events
257
- this.listenEvents();
258
- }
259
- }
260
-
261
- /**
262
- * Unlistens to hover events on the layer.
263
- * @param {function} callback Callback function, called with the clicked
264
- * features, the layer instance and the click event.
265
- */
266
- unHover(callback: UserInteractionCallback) {
267
- const index = this.userHoverCallbacks.indexOf(callback);
268
- if (index !== -1) {
269
- return;
270
- }
271
- this.userHoverCallbacks = this.userHoverCallbacks.slice(index, 1);
272
-
273
- if (this.map) {
274
- // If the layer is already attached to the map we reload the events
275
- this.listenEvents();
276
- }
277
- }
278
-
279
- /**
280
- * Function triggered when the user click the map.
281
- * @private
282
- */
283
- onUserClickCallback(
284
- evt:
285
- | { coordinate: Coordinate }
286
- | mapboxgl.MapLayerMouseEvent
287
- | maplibregl.MapMouseEvent,
288
- ) {
289
- const coordinate =
290
- (evt as { coordinate: Coordinate }).coordinate ||
291
- fromLonLat(
292
- (
293
- evt as mapboxgl.MapLayerMouseEvent | maplibregl.MapMouseEvent
294
- ).lngLat.toArray() as Coordinate,
295
- );
296
- const emptyFeatureInfo = {
297
- features: [],
298
- layer: this,
299
- coordinate,
300
- event: evt,
301
- };
302
- return this.getFeatureInfoAtCoordinate(coordinate)
303
- .then((featureInfo) => {
304
- const event = new BaseEvent('user:click');
305
- event.target = featureInfo;
306
- this.dispatchEvent(event);
307
- return featureInfo;
308
- })
309
- .catch(() => emptyFeatureInfo);
310
- }
311
-
312
- /**
313
- * Function triggered when the user move the cursor.
314
- * @private
315
- */
316
- onUserMoveCallback(
317
- evt:
318
- | { coordinate: Coordinate }
319
- | mapboxgl.MapLayerMouseEvent
320
- | maplibregl.MapMouseEvent,
321
- ) {
322
- const coordinate =
323
- (evt as { coordinate: Coordinate }).coordinate ||
324
- fromLonLat(
325
- (
326
- evt as mapboxgl.MapLayerMouseEvent | maplibregl.MapMouseEvent
327
- ).lngLat.toArray() as Coordinate,
328
- );
329
- const emptyFeatureInfo = {
330
- features: [],
331
- layer: this,
332
- coordinate,
333
- event: evt,
334
- };
335
-
336
- return this.getFeatureInfoAtCoordinate(coordinate)
337
- .then((featureInfo) => {
338
- const event = new BaseEvent('user:hover');
339
- event.target = featureInfo;
340
- this.dispatchEvent(event);
341
- return featureInfo;
342
- })
343
- .catch(() => emptyFeatureInfo);
344
- }
345
-
346
- activateUserInteractions() {}
347
-
348
- deactivateUserInteractions() {}
349
- };
350
- }
351
-
352
- export default UserInteractionsLayerMixin;