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
@@ -1,378 +0,0 @@
1
- /* eslint-disable no-underscore-dangle */
2
- import { toLonLat } from 'ol/proj';
3
- import { Map } from 'mapbox-gl';
4
- import Source from 'ol/source/Source';
5
- import OLLayer from 'ol/layer/Layer';
6
- import GeoJSON from 'ol/format/GeoJSON';
7
- import Layer from './Layer';
8
- import { getMapboxMapCopyrights, getMapboxStyleUrl } from '../../common/utils';
9
-
10
- /**
11
- * A class representing Mapboxlayer to display on BasicMap
12
- *
13
- * @example
14
- * import { MapboxLayer } from 'mobility-toolbox-js/ol';
15
- *
16
- * const layer = new MapboxLayer({
17
- * url: 'https://maps.geops.io/styles/travic_v2/style.json',
18
- * apikey: 'yourApiKey',
19
- * });
20
- *
21
- * @classproperty {ol/Map~Map} map - The map where the layer is displayed.
22
- * @extends {Layer}
23
- */
24
- export default class MapboxLayer extends Layer {
25
- /**
26
- * Constructor.
27
- *
28
- * @param {Object} options
29
- * @param {boolean} [options.preserveDrawingBuffer=false] If true able to export the canvas.
30
- * @param {number} [options.fadeDuration=300] Duration of the fade effect in ms.
31
- */
32
- constructor(options = {}) {
33
- const mbLayer = new OLLayer({
34
- source: new Source({}),
35
- render: (frameState) => {
36
- if (!this.mbMap) {
37
- // eslint-disable-next-line no-console
38
- console.warn("Mapbox map doesn't exist.");
39
- return null;
40
- }
41
- let changed = false;
42
- const canvas = this.mbMap.getCanvas();
43
- const { viewState } = frameState;
44
-
45
- const visible = this.olLayer.getVisible();
46
- if (this.renderState.visible !== visible) {
47
- canvas.style.display = visible ? 'block' : 'none';
48
- this.renderState.visible = visible;
49
- // Needed since mapbox-gl 1.9.0.
50
- // Without you don't see others ol layers on top.
51
- canvas.style.position = 'absolute';
52
- }
53
-
54
- const opacity = this.olLayer.getOpacity();
55
- if (this.renderState.opacity !== opacity) {
56
- canvas.style.opacity = opacity;
57
- this.renderState.opacity = opacity;
58
- }
59
-
60
- // adjust view parameters in mapbox
61
- const { rotation } = viewState;
62
- if (this.renderState.rotation !== rotation) {
63
- this.mbMap.rotateTo((-(rotation || 0) * 180) / Math.PI, {
64
- animate: false,
65
- });
66
- changed = true;
67
- this.renderState.rotation = rotation;
68
- }
69
-
70
- if (
71
- this.renderState.zoom !== viewState.zoom ||
72
- this.renderState.center[0] !== viewState.center[0] ||
73
- this.renderState.center[1] !== viewState.center[1]
74
- ) {
75
- this.mbMap.jumpTo({
76
- center: toLonLat(viewState.center),
77
- zoom: viewState.zoom - 1,
78
- animate: false,
79
- });
80
- changed = true;
81
- this.renderState.zoom = viewState.zoom;
82
- this.renderState.center = viewState.center;
83
- }
84
-
85
- const size = this.map.getSize();
86
- if (
87
- this.renderState.size[0] !== size[0] ||
88
- this.renderState.size[1] !== size[1]
89
- ) {
90
- changed = true;
91
- this.renderState.size = size;
92
- }
93
-
94
- // cancel the scheduled update & trigger synchronous redraw
95
- // see https://github.com/mapbox/mapbox-gl-js/issues/7893#issue-408992184
96
- // NOTE: THIS MIGHT BREAK WHEN UPDATING MAPBOX
97
- if (
98
- this.mbMap &&
99
- this.mbMap.style &&
100
- this.mbMap.isStyleLoaded() &&
101
- changed
102
- ) {
103
- try {
104
- if (this.mbMap._frame) {
105
- this.mbMap._frame.cancel();
106
- this.mbMap._frame = null;
107
- }
108
- this.mbMap._render();
109
- } catch (err) {
110
- // ignore render errors because it's probably related to
111
- // a render during an update of the style.
112
- // eslint-disable-next-line no-console
113
- console.warn(err);
114
- }
115
- }
116
-
117
- return this.mbMap.getContainer();
118
- },
119
- });
120
-
121
- super({
122
- ...options,
123
- olLayer: mbLayer,
124
- });
125
-
126
- /**
127
- * Url of the mapbox style.
128
- * @type {string}
129
- * @private
130
- */
131
- this.styleUrl = options.url;
132
-
133
- /**
134
- * Api key for the url of the mapbox style.
135
- * If set to false, the apiKey is not required.
136
- * @type {string}
137
- * @private
138
- */
139
- this.apiKey = options.apiKey;
140
-
141
- /**
142
- * Name of the apiKey to set in the url request.
143
- * Default is 'key'.
144
- * @type {string}
145
- * @private
146
- */
147
- this.apiKeyName = options.apiKeyName || 'key';
148
-
149
- /** @ignore */
150
- this.updateAttribution = this.updateAttribution.bind(this);
151
- }
152
-
153
- /**
154
- * Initialize the layer and listen to feature clicks.
155
- * @param {ol/Map~Map} map
156
- */
157
- init(map) {
158
- super.init(map);
159
-
160
- if (!this.map || this.mbMap) {
161
- return;
162
- }
163
-
164
- /**
165
- * The feature format.
166
- * @type {ol/format/GeoJSON}
167
- */
168
- this.format = new GeoJSON({
169
- featureProjection: this.map.getView().getProjection(),
170
- });
171
-
172
- this.loadMbMap();
173
-
174
- this.olListenersKeys.push(
175
- this.map.on('change:size', () => {
176
- try {
177
- if (this.mbMap) {
178
- this.mbMap.resize();
179
- }
180
- } catch (err) {
181
- // ignore render errors
182
- // eslint-disable-next-line no-console
183
- console.warn(err);
184
- }
185
- }),
186
- );
187
- }
188
-
189
- /**
190
- * Terminate what was initialized in init function. Remove layer, events...
191
- */
192
- terminate() {
193
- if (this.mbMap) {
194
- this.mbMap.off('idle', this.updateAttribution);
195
- // Some asynchrone repaints are triggered even if the mbMap has been removed,
196
- // to avoid display of errors we set an empty function.
197
- this.mbMap.triggerRepaint = () => {};
198
- this.mbMap.remove();
199
- this.mbMap = null;
200
- }
201
- this.loaded = false;
202
- super.terminate();
203
- }
204
-
205
- /**
206
- * Returns a style URL with apiKey & apiKeyName infos.
207
- * @private
208
- */
209
- createStyleUrl() {
210
- return getMapboxStyleUrl(this.apiKey, this.apiKeyName, this.styleUrl);
211
- }
212
-
213
- /**
214
- * Create the mapbox map.
215
- * @private
216
- */
217
- loadMbMap() {
218
- this.olListenersKeys.push(
219
- this.map.on('change:target', () => {
220
- this.loadMbMap();
221
- }),
222
- );
223
-
224
- if (!this.map.getTargetElement()) {
225
- return;
226
- }
227
-
228
- if (!this.visible) {
229
- // On next change of visibility we load the map
230
- this.olListenersKeys.push(
231
- this.once('change:visible', () => {
232
- this.loadMbMap();
233
- }),
234
- );
235
- return;
236
- }
237
-
238
- // If the map hasn't been resized, the center could be [NaN,NaN].
239
- // We set default good value for the mapbox map, to avoid the app crashes.
240
- let [x, y] = this.map.getView().getCenter();
241
- if (!x || !y) {
242
- x = 0;
243
- y = 0;
244
- }
245
-
246
- const container = document.createElement('div');
247
- container.style.position = 'absolute';
248
- container.style.width = '100%';
249
- container.style.height = '100%';
250
-
251
- /**
252
- * A mapbox map
253
- * @type {mapboxgl.Map}
254
- */
255
- this.mbMap = new Map({
256
- style: this.createStyleUrl(),
257
- container,
258
- interactive: false,
259
- trackResize: false,
260
- attributionControl: false,
261
- ...(this.options.mapOptions || {}),
262
- });
263
-
264
- // Options the last render run did happen. If something changes
265
- // we have to render again
266
- /** @ignore */
267
- this.renderState = {
268
- center: [x, y],
269
- zoom: null,
270
- rotation: null,
271
- visible: null,
272
- opacity: null,
273
- size: [0, 0],
274
- };
275
-
276
- this.mbMap.once('load', () => {
277
- this.mbMap.resize();
278
- /**
279
- * Is the map loaded.
280
- * @type {boolean}
281
- */
282
- this.loaded = true;
283
-
284
- /** @ignore */
285
- this.copyrights = getMapboxMapCopyrights(this.mbMap) || [];
286
-
287
- this.olLayer.getSource().setAttributions(this.copyrights);
288
-
289
- this.dispatchEvent({
290
- type: 'load',
291
- target: this,
292
- });
293
- });
294
-
295
- const mapboxCanvas = this.mbMap.getCanvas();
296
- if (mapboxCanvas) {
297
- if (this.options.tabIndex) {
298
- mapboxCanvas.setAttribute('tabindex', this.options.tabIndex);
299
- } else {
300
- // With a tabIndex='-1' the mouse events works but the map is not focused when we click on it
301
- // so we remove completely the tabIndex attribute.
302
- mapboxCanvas.removeAttribute('tabindex');
303
- }
304
- }
305
-
306
- this.mbMap.on('idle', this.updateAttribution);
307
- }
308
-
309
- /**
310
- * Update attributions of the source.
311
- * @private
312
- */
313
- updateAttribution(evt) {
314
- const newAttributions = getMapboxMapCopyrights(evt.target) || [];
315
- if (this.copyrights.toString() !== newAttributions.toString()) {
316
- this.copyrights = newAttributions;
317
- this.olLayer.getSource().setAttributions(newAttributions);
318
- }
319
- }
320
-
321
- /**
322
- * Request feature information for a given coordinate.
323
- * @param {ol/coordinate~Coordinate} coordinate Coordinate to request the information at.
324
- * @param {Object} options A [mapboxgl.Map#queryrenderedfeatures](https://docs.mapbox.com/mapbox-gl-js/api/map/#map#queryrenderedfeatures) options parameter.
325
- * @return {Promise<FeatureInfo>} Promise with features, layer and coordinate. The original Mapbox feature is available as a property named 'mapboxFeature'.
326
- */
327
- getFeatureInfoAtCoordinate(coordinate, options) {
328
- // Ignore the getFeatureInfo until the mapbox map is loaded
329
- if (
330
- !options ||
331
- !this.format ||
332
- !this.mbMap ||
333
- !this.mbMap.isStyleLoaded()
334
- ) {
335
- return Promise.resolve({ coordinate, features: [], layer: this });
336
- }
337
-
338
- let pixel = coordinate && this.mbMap.project(toLonLat(coordinate));
339
-
340
- if (this.hitTolerance) {
341
- const { x, y } = pixel;
342
- pixel = [
343
- { x: x - this.hitTolerance, y: y - this.hitTolerance },
344
- { x: x + this.hitTolerance, y: y + this.hitTolerance },
345
- ];
346
- }
347
-
348
- // At this point we get GeoJSON Mapbox feature, we transform it to an OpenLayers
349
- // feature to be consistent with other layers.
350
- const features = this.mbMap
351
- .queryRenderedFeatures(pixel, options)
352
- .map((feature) => {
353
- const olFeature = this.format.readFeature(feature);
354
- if (olFeature) {
355
- // We save the original mapbox feature to avoid losing informations
356
- // potentially needed for other functionnality like highlighting
357
- // (id, layer id, source, sourceLayer ...)
358
- olFeature.set('mapboxFeature', feature);
359
- }
360
- return olFeature;
361
- });
362
-
363
- return Promise.resolve({
364
- layer: this,
365
- features,
366
- coordinate,
367
- });
368
- }
369
-
370
- /**
371
- * Create a copy of the MapboxLayer.
372
- * @param {Object} newOptions Options to override
373
- * @return {MapboxLayer} A MapboxLayer
374
- */
375
- clone(newOptions) {
376
- return new MapboxLayer({ ...this.options, ...newOptions });
377
- }
378
- }
@@ -1,186 +0,0 @@
1
- import OlMap from 'ol/Map';
2
- import View from 'ol/View';
3
- import gllib from 'mapbox-gl';
4
- import MapboxLayer from './MapboxLayer';
5
-
6
- let layer;
7
- let map;
8
- let consoleOutput;
9
- const styleUrl = 'foo.com/styles';
10
-
11
- describe('MapboxLayer', () => {
12
- describe('without apiKey', () => {
13
- beforeEach(() => {
14
- // Mock console statement
15
- consoleOutput = [];
16
- // eslint-disable-next-line no-console
17
- console.warn = (message) => consoleOutput.push(message);
18
- layer = new MapboxLayer({
19
- name: 'Layer',
20
- url: styleUrl,
21
- });
22
- map = new OlMap({
23
- target: document.createElement('div'),
24
- view: new View({ center: [0, 0] }),
25
- });
26
- });
27
-
28
- test('should be instanced.', () => {
29
- expect(layer).toBeInstanceOf(MapboxLayer);
30
- expect(layer.styleUrl).toBe(styleUrl);
31
- });
32
-
33
- test('should not initalized mapbox map.', () => {
34
- layer.init();
35
- expect(layer.mbMap).toBe();
36
- });
37
-
38
- test('should initalized mapbox map and warn the user if there is no api key defined.', () => {
39
- layer.init(map);
40
- expect(layer.mbMap).toBeInstanceOf(gllib.Map);
41
- expect(consoleOutput[0]).toBe(
42
- 'No apiKey is defined for request to foo.com/styles',
43
- );
44
- });
45
-
46
- test('should called terminate on initalization.', () => {
47
- const spy = jest.spyOn(layer, 'terminate');
48
- layer.init();
49
- expect(spy).toHaveBeenCalledTimes(1);
50
- });
51
-
52
- test('should clone', () => {
53
- const clone = layer.clone({ name: 'clone' });
54
- expect(clone).not.toBe(layer);
55
- expect(clone.name).toBe('clone');
56
- expect(clone).toBeInstanceOf(MapboxLayer);
57
- });
58
- });
59
-
60
- describe('with apiKey', () => {
61
- beforeEach(() => {
62
- layer = new MapboxLayer({
63
- name: 'Layer',
64
- url: styleUrl,
65
- apiKey: 'apiKey',
66
- });
67
- map = new OlMap({
68
- target: document.createElement('div'),
69
- view: new View({ center: [0, 0] }),
70
- });
71
- });
72
-
73
- test('should be instanced with apiKey.', () => {
74
- expect(layer).toBeInstanceOf(MapboxLayer);
75
- expect(layer.styleUrl).toBe(styleUrl);
76
- });
77
-
78
- test('should not initalized mapbox map.', () => {
79
- layer.init();
80
- expect(layer.mbMap).toBe();
81
- });
82
-
83
- test("should initalized mapbox map, with 'apiKey' prop", () => {
84
- const layer1 = new MapboxLayer({
85
- name: 'Layer',
86
- url: styleUrl,
87
- apiKey: 'apiKeyVal',
88
- });
89
- layer1.init(map);
90
- expect(layer1.mbMap.options.style).toBe('foo.com/styles?key=apiKeyVal');
91
- });
92
-
93
- test("should initalized mapbox map, with 'apiKeyName' prop", () => {
94
- const layer1 = new MapboxLayer({
95
- name: 'Layer',
96
- url: styleUrl,
97
- apiKey: 'test',
98
- apiKeyName: 'apiKey',
99
- });
100
- layer1.init(map);
101
- expect(layer1.mbMap.options.style).toBe('foo.com/styles?apiKey=test');
102
- });
103
- });
104
-
105
- describe('#getFeatureInfoAtCoordinate()', () => {
106
- let layer1;
107
- beforeEach(() => {
108
- layer1 = new MapboxLayer({
109
- name: 'Layer',
110
- url: styleUrl,
111
- apiKey: 'test',
112
- apiKeyName: 'apiKey',
113
- });
114
- layer1.init(map);
115
- layer1.mbMap.isStyleLoaded = jest.fn(() => true);
116
- layer1.mbMap.getSource = jest.fn(() => true);
117
- });
118
-
119
- afterEach(() => {
120
- layer1.mbMap.getSource.mockRestore();
121
- layer1.mbMap.isStyleLoaded.mockRestore();
122
- });
123
-
124
- test('should set the mapboxFeature as a property', (done) => {
125
- const mapboxFeature = {
126
- id: '2',
127
- type: 'Feature',
128
- properties: {
129
- foo: 'bar',
130
- },
131
- source: 'barr',
132
- sourceLayer: 'fooo',
133
- };
134
- layer1.mbMap.project = jest.fn((coord) => ({ x: coord[0], y: coord[1] }));
135
- layer1.mbMap.queryRenderedFeatures = jest.fn(() => [mapboxFeature]);
136
- layer1.getFeatureInfoAtCoordinate([0, 0], {}).then((featureInfo) => {
137
- expect(featureInfo.features[0].get('mapboxFeature')).toBe(
138
- mapboxFeature,
139
- );
140
- done();
141
- });
142
- layer1.mbMap.project.mockRestore();
143
- layer1.mbMap.queryRenderedFeatures.mockRestore();
144
- });
145
- describe('should use hitTolerance property', () => {
146
- beforeEach(() => {
147
- layer1.mbMap.project = jest.fn((coord) => ({
148
- x: coord[0],
149
- y: coord[1],
150
- }));
151
- });
152
-
153
- afterEach(() => {
154
- layer1.mbMap.project.mockRestore();
155
- layer1.mbMap.queryRenderedFeatures.mockRestore();
156
- });
157
-
158
- test('when hitTolerance is not set', (done) => {
159
- layer1.mbMap.queryRenderedFeatures = jest.fn((pixelBounds) => {
160
- // Use default hoitTolerance
161
- expect(pixelBounds).toEqual([
162
- { x: -5, y: -5 },
163
- { x: 5, y: 5 },
164
- ]);
165
- done();
166
- return [];
167
- });
168
- layer1.getFeatureInfoAtCoordinate([0, 0], {});
169
- });
170
-
171
- test('when hitTolerance is set to 10', (done) => {
172
- layer1.hitTolerance = 10;
173
- layer1.mbMap.queryRenderedFeatures = jest.fn((pixelBounds) => {
174
- // Use default hoitTolerance
175
- expect(pixelBounds).toEqual([
176
- { x: -10, y: -10 },
177
- { x: 10, y: 10 },
178
- ]);
179
- done();
180
- return [];
181
- });
182
- layer1.getFeatureInfoAtCoordinate([0, 0], {});
183
- });
184
- });
185
- });
186
- });