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

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 +50785 -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 +118 -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,585 +0,0 @@
1
- import VectorLayer from 'ol/layer/Vector';
2
- import VectorSource from 'ol/source/Vector';
3
- import Layer from './Layer';
4
-
5
- const olLayer = new VectorLayer({ source: new VectorSource() });
6
-
7
- describe('Layer', () => {
8
- test('should initialize.', () => {
9
- const layer = new Layer({ name: 'Layer', olLayer });
10
- expect(layer).toBeInstanceOf(Layer);
11
- });
12
-
13
- test('should define default properties.', () => {
14
- const options = {
15
- name: 'Layer',
16
- olLayer,
17
- };
18
- const layer = new Layer(options);
19
-
20
- expect(layer).toBeInstanceOf(Layer);
21
- expect(layer.options).toEqual(options);
22
- expect(layer.name).toEqual(options.name);
23
- expect(layer.key).toEqual('layer');
24
- expect(layer.isBaseLayer).toBe(false);
25
- expect(layer.isBaseLayer).toBe(false);
26
- expect(layer.isQueryable).toBe(true);
27
- expect(layer.isClickActive).toBe(true);
28
- expect(layer.isHoverActive).toBe(true);
29
- expect(layer.hitTolerance).toBe(5);
30
- expect(layer.isMobilityLayer).toBe(true);
31
- expect(layer.copyrights).toBe();
32
- expect(layer.visible).toBe(true);
33
- expect(layer.properties).toEqual({});
34
- expect(layer.map).toBe(undefined);
35
- expect(layer.clickCallbacks).toEqual([]);
36
- expect(layer.hoverCallbacks).toEqual([]);
37
- });
38
-
39
- test('should be visible by default.', () => {
40
- const layer = new Layer({ name: 'Layer', olLayer });
41
- expect(layer.visible).toBe(true);
42
- });
43
-
44
- test('should be hidden using constructor.', () => {
45
- const layer = new Layer({ name: 'Layer', visible: false, olLayer });
46
- expect(layer.visible).toBe(false);
47
- });
48
-
49
- test('should be hidden using setter.', () => {
50
- const layer = new Layer({ name: 'Layer', olLayer });
51
- layer.setVisible(false);
52
- expect(layer.visible).toBe(false);
53
- });
54
-
55
- test('should visibility stay unchanged', () => {
56
- const layer = new Layer({ name: 'Layer', visible: false, olLayer });
57
- layer.setVisible(false);
58
- expect(layer.visible).toBe(false);
59
- });
60
-
61
- test('should return its name.', () => {
62
- const layer = new Layer({ name: 'Layer', visible: false, olLayer });
63
- expect(layer.name).toEqual('Layer');
64
- });
65
-
66
- test('should set isClickActive and isHoverActive to false if isQueryable is set to false.', () => {
67
- const options = {
68
- name: 'Layer',
69
- isQueryable: false,
70
- isClickActive: true,
71
- isHoverActive: true,
72
- olLayer,
73
- };
74
- const layer = new Layer(options);
75
- expect(layer).toBeInstanceOf(Layer);
76
- expect(layer.isQueryable).toBe(false);
77
- expect(layer.isClickActive).toBe(false);
78
- expect(layer.isHoverActive).toBe(false);
79
- });
80
-
81
- test('should called terminate on initialization.', () => {
82
- const layer = new Layer({ name: 'Layer', olLayer });
83
- const spy = jest.spyOn(layer, 'terminate');
84
- layer.init();
85
- expect(spy).toHaveBeenCalledTimes(1);
86
- });
87
-
88
- test('should properties correctly set and get.', () => {
89
- const layer = new Layer({
90
- name: 'Layer',
91
- olLayer,
92
- properties: {
93
- abc: 'foo',
94
- },
95
- });
96
- expect(layer).toBeInstanceOf(Layer);
97
- expect(layer.get('abc')).toEqual('foo');
98
-
99
- layer.set('abc', 'bar');
100
- expect(layer.get('abc')).toEqual('bar');
101
- });
102
-
103
- test('should set children', () => {
104
- const layer = new Layer({
105
- name: 'foo',
106
- children: [
107
- new Layer({
108
- name: 'bar',
109
- }),
110
- new Layer({
111
- name: 'foobar',
112
- visible: false,
113
- }),
114
- ],
115
- });
116
- expect(layer.getVisibleChildren().length).toBe(1);
117
- expect(layer.hasVisibleChildren()).toBe(true);
118
- });
119
-
120
- test('should set onClick using constructor.', () => {
121
- const fn = () => {};
122
- const layer = new Layer({
123
- name: 'Layer',
124
- olLayer,
125
- onClick: fn,
126
- onHover: fn,
127
- });
128
- expect(layer.clickCallbacks[0]).toBe(fn);
129
- expect(layer.hoverCallbacks[0]).toBe(fn);
130
- });
131
-
132
- test('should onClick throw error.', () => {
133
- const layer = new Layer({ name: 'Layer', olLayer });
134
- expect(() => {
135
- layer.onClick('not of type function');
136
- }).toThrow(Error);
137
- });
138
-
139
- test('should initialize copyrights property.', () => {
140
- const layer = new Layer({
141
- name: 'Layer',
142
- olLayer,
143
- copyrights: ['&copy: copyright', 'another copyright'],
144
- });
145
-
146
- expect(layer.copyrights[0]).toEqual('&copy: copyright');
147
- });
148
-
149
- test('should set and get copyright property.', () => {
150
- const layer = new Layer({
151
- name: 'Layer',
152
- olLayer,
153
- });
154
- expect(layer).toBeInstanceOf(Layer);
155
- expect(layer.copyright).toEqual(undefined);
156
-
157
- layer.copyright = '© OSM Contributors';
158
- expect(layer.copyright).toEqual('© OSM Contributors');
159
- });
160
-
161
- describe('#init()', () => {
162
- test('should set map.', () => {
163
- const layer = new Layer({
164
- name: 'Layer',
165
- olLayer,
166
- });
167
-
168
- expect(layer.map).toBe(undefined);
169
- const obj = {};
170
- layer.init(obj);
171
- expect(layer.map).toBe(obj);
172
- });
173
-
174
- test('should call terminate.', () => {
175
- const layer = new Layer({
176
- name: 'Layer',
177
- olLayer,
178
- });
179
- const spy = jest.spyOn(layer, 'terminate');
180
- layer.init();
181
- expect(spy).toHaveBeenCalledTimes(1);
182
- });
183
- });
184
-
185
- describe('#get() and #set()', () => {
186
- test('should get/set a properties.', () => {
187
- const layer = new Layer({
188
- name: 'Layer',
189
- olLayer,
190
- });
191
- expect(layer.get('foo')).toBe(undefined);
192
- layer.set('foo', 'bar');
193
- expect(layer.get('foo')).toBe('bar');
194
- });
195
- });
196
-
197
- describe('#set()', () => {
198
- test('should dispatch a change event.', () => {
199
- const layer = new Layer({
200
- name: 'Layer',
201
- olLayer,
202
- });
203
- const spy = jest.spyOn(layer, 'dispatchEvent');
204
- layer.set('foo', 'bar');
205
- expect(spy).toHaveBeenCalledWith({ type: 'change:foo', target: layer });
206
- });
207
- });
208
-
209
- describe('#setVisible()', () => {
210
- test("should not trigger a change event if the visiblity hasn't changed.", () => {
211
- const layer = new Layer({
212
- name: 'Layer',
213
- visible: false,
214
- olLayer,
215
- });
216
- const spy = jest.spyOn(layer, 'dispatchEvent');
217
- layer.setVisible(false, 'foo', 'bar', 'qux');
218
- expect(spy).toHaveBeenCalledTimes(0);
219
- });
220
-
221
- test('should trigger a change event only if the visiblity change.', () => {
222
- const layer = new Layer({
223
- name: 'Layer',
224
- visible: false,
225
- olLayer,
226
- });
227
- const spy = jest.spyOn(layer, 'dispatchEvent');
228
- layer.setVisible(true, 'foo', 'bar', 'qux');
229
- expect(layer.visible).toBe(true);
230
- expect(spy).toHaveBeenCalledTimes(1);
231
- expect(spy).toHaveBeenCalledWith({
232
- type: 'change:visible',
233
- target: layer,
234
- stopPropagationDown: 'foo',
235
- stopPropagationUp: 'bar',
236
- stopPropagationSiblings: 'qux',
237
- });
238
- });
239
- });
240
-
241
- describe('#getVisibleChildren()', () => {
242
- test('should return only visible child.', () => {
243
- const layerVisible = { visible: true };
244
- const layerVisible2 = { visible: true };
245
- const layerHidden = { visible: false };
246
- const layer = new Layer({
247
- name: 'Layer',
248
- visible: false,
249
- olLayer,
250
- children: [layerVisible, layerHidden, layerVisible2],
251
- });
252
- expect(layer.getVisibleChildren()).toEqual([layerVisible, layerVisible2]);
253
- });
254
- });
255
-
256
- describe('#hasVisibleChildren()', () => {
257
- test('should return true.', () => {
258
- const layerVisible = { visible: true };
259
- const layerVisible2 = { visible: true };
260
- const layerHidden = { visible: false };
261
- const layer = new Layer({
262
- name: 'Layer',
263
- visible: false,
264
- olLayer,
265
- children: [layerVisible, layerHidden, layerVisible2],
266
- });
267
- expect(layer.hasVisibleChildren()).toEqual(true);
268
- });
269
-
270
- test('should return false.', () => {
271
- const layerHidden = { visible: false };
272
- const layer = new Layer({
273
- name: 'Layer',
274
- visible: false,
275
- olLayer,
276
- children: [layerHidden],
277
- });
278
- expect(layer.hasVisibleChildren()).toEqual(false);
279
- });
280
- });
281
-
282
- describe('#getFeatureInfoAtCoordinate()', () => {
283
- test('return an empty fetaureInfo object and display an error message', (done) => {
284
- // eslint-disable-next-line no-console
285
- console.error = jest.fn();
286
- const layer = new Layer({
287
- name: 'Layer',
288
- olLayer,
289
- });
290
- const coord = [0, 0];
291
- layer.getFeatureInfoAtCoordinate(coord).then((featureInfo) => {
292
- expect(featureInfo.features).toEqual([]);
293
- expect(featureInfo.layer).toEqual(layer);
294
- expect(featureInfo.coordinate).toEqual(coord);
295
- // eslint-disable-next-line no-console
296
- expect(console.error).toHaveBeenCalledTimes(1);
297
- done();
298
- // eslint-disable-next-line no-console
299
- console.error.mockRestore();
300
- });
301
- });
302
- });
303
-
304
- describe('#onClick()', () => {
305
- test('adds function to clickCallbacks array', () => {
306
- const layer = new Layer({
307
- name: 'Layer',
308
- olLayer,
309
- });
310
- const fn = jest.fn();
311
- const fn2 = jest.fn();
312
- layer.onClick(fn);
313
- expect(layer.clickCallbacks).toEqual([fn]);
314
- layer.onClick(fn2);
315
- expect(layer.clickCallbacks).toEqual([fn, fn2]);
316
- });
317
-
318
- test('triggers Error if parameter is not a function', (done) => {
319
- const layer = new Layer({
320
- name: 'Layer',
321
- olLayer,
322
- });
323
- try {
324
- layer.onClick('test');
325
- } catch (e) {
326
- expect(e).toBeDefined();
327
- done();
328
- }
329
- });
330
- });
331
-
332
- describe('#unClick()', () => {
333
- test('removes function from clickCallbacks array', () => {
334
- const layer = new Layer({
335
- name: 'Layer',
336
- olLayer,
337
- });
338
- const fn = jest.fn();
339
- const fn2 = jest.fn();
340
- layer.onClick(fn);
341
- expect(layer.clickCallbacks).toEqual([fn]);
342
- layer.onClick(fn2);
343
- expect(layer.clickCallbacks).toEqual([fn, fn2]);
344
- layer.unClick(fn);
345
- expect(layer.clickCallbacks).toEqual([fn2]);
346
- // Make sure no callbacks are removed if the callback is not in the list.
347
- layer.unClick(fn);
348
- expect(layer.clickCallbacks).toEqual([fn2]);
349
- });
350
- });
351
-
352
- describe('#onUserClickCallback()', () => {
353
- const evt = { type: 'signleclick', coordinate: [0, 0] };
354
-
355
- const getFeatureInfo = (layer, features = []) => ({
356
- features,
357
- layer,
358
- coordinate: evt.coordinate,
359
- event: evt,
360
- });
361
-
362
- test('calls click callback functions', (done) => {
363
- const layer = new Layer({
364
- name: 'Layer',
365
- olLayer,
366
- });
367
- const goodFeatureInfo = getFeatureInfo(layer, [{ name: 'test' }]);
368
- const fn = jest.fn();
369
- const fn2 = jest.fn();
370
- const spy = jest
371
- .spyOn(layer, 'getFeatureInfoAtCoordinate')
372
- .mockResolvedValue(goodFeatureInfo);
373
- layer.onClick(fn);
374
- layer.onClick(fn2);
375
- layer.onUserClickCallback(evt).then((featureInfo) => {
376
- expect(spy).toHaveBeenCalledTimes(1);
377
- expect(spy).toHaveBeenCalledWith(evt.coordinate);
378
- expect(featureInfo).toBe(goodFeatureInfo);
379
- expect(fn).toHaveBeenCalledTimes(1);
380
- expect(fn.mock.calls[0][0]).toBe(goodFeatureInfo.features);
381
- expect(fn.mock.calls[0][1]).toBe(goodFeatureInfo.layer);
382
- expect(fn.mock.calls[0][2]).toBe(goodFeatureInfo.coordinate);
383
- expect(fn2).toHaveBeenCalledTimes(1);
384
- expect(fn2.mock.calls[0][0]).toBe(goodFeatureInfo.features);
385
- expect(fn2.mock.calls[0][1]).toBe(goodFeatureInfo.layer);
386
- expect(fn2.mock.calls[0][2]).toBe(goodFeatureInfo.coordinate);
387
- done();
388
- });
389
- });
390
-
391
- describe('returns empty feature info', () => {
392
- test('if isClickActive = false', (done) => {
393
- const layer = new Layer({
394
- name: 'Layer',
395
- isClickActive: false,
396
- olLayer,
397
- });
398
- layer.onClick(jest.fn());
399
- layer.onUserClickCallback(evt).then((featureInfo) => {
400
- expect(featureInfo).toEqual(getFeatureInfo(layer));
401
- done();
402
- });
403
- });
404
-
405
- test('if clickCallbacks is empty', (done) => {
406
- const layer = new Layer({
407
- name: 'Layer',
408
- olLayer,
409
- });
410
- layer.onUserClickCallback(evt).then((featureInfo) => {
411
- expect(featureInfo).toEqual(getFeatureInfo(layer));
412
- done();
413
- });
414
- });
415
-
416
- test('if an error is thrown in click callback', (done) => {
417
- const layer = new Layer({
418
- name: 'Layer',
419
- olLayer,
420
- });
421
- layer.onClick(() => {
422
- throw new Error('foo');
423
- });
424
- layer.onUserClickCallback(evt).then((featureInfo) => {
425
- expect(featureInfo).toEqual(getFeatureInfo(layer));
426
- done();
427
- });
428
- });
429
- });
430
-
431
- test('triggers Error if parameter is not a function', (done) => {
432
- const layer = new Layer({
433
- name: 'Layer',
434
- olLayer,
435
- });
436
- try {
437
- layer.onClick('test');
438
- } catch (e) {
439
- expect(e).toBeDefined();
440
- done();
441
- }
442
- });
443
- });
444
-
445
- describe('#onHover()', () => {
446
- test('adds function to clickCallbacks array', () => {
447
- const layer = new Layer({
448
- name: 'Layer',
449
- olLayer,
450
- });
451
- const fn = jest.fn();
452
- const fn2 = jest.fn();
453
- layer.onHover(fn);
454
- expect(layer.hoverCallbacks).toEqual([fn]);
455
- layer.onHover(fn2);
456
- expect(layer.hoverCallbacks).toEqual([fn, fn2]);
457
- });
458
-
459
- test('triggers Error if parameter is not a function', (done) => {
460
- const layer = new Layer({
461
- name: 'Layer',
462
- olLayer,
463
- });
464
- try {
465
- layer.onHover('test');
466
- } catch (e) {
467
- expect(e).toBeDefined();
468
- done();
469
- }
470
- });
471
- });
472
-
473
- describe('#unHover()', () => {
474
- test('removes function from clickCallbacks array', () => {
475
- const layer = new Layer({
476
- name: 'Layer',
477
- olLayer,
478
- });
479
- const fn = jest.fn();
480
- const fn2 = jest.fn();
481
- layer.onHover(fn);
482
- expect(layer.hoverCallbacks).toEqual([fn]);
483
- layer.onHover(fn2);
484
- expect(layer.hoverCallbacks).toEqual([fn, fn2]);
485
- layer.unHover(fn);
486
- expect(layer.hoverCallbacks).toEqual([fn2]);
487
- // Make sure no callbacks are removed if the callback is not in the list.
488
- layer.unHover(fn);
489
- expect(layer.hoverCallbacks).toEqual([fn2]);
490
- });
491
- });
492
-
493
- describe('#onUserMoveCallback()', () => {
494
- const evt = { type: 'pointermove', coordinate: [0, 0] };
495
-
496
- const getFeatureInfo = (layer, features = []) => ({
497
- features,
498
- layer,
499
- coordinate: evt.coordinate,
500
- event: evt,
501
- });
502
-
503
- test('calls hover callback functions', (done) => {
504
- const layer = new Layer({
505
- name: 'Layer',
506
- olLayer,
507
- });
508
- const goodFeatureInfo = getFeatureInfo(layer, [{ name: 'test' }]);
509
- const fn = jest.fn();
510
- const fn2 = jest.fn();
511
- const spy = jest
512
- .spyOn(layer, 'getFeatureInfoAtCoordinate')
513
- .mockResolvedValue(goodFeatureInfo);
514
- layer.onHover(fn);
515
- layer.onHover(fn2);
516
- layer.onUserMoveCallback(evt).then((featureInfo) => {
517
- expect(spy).toHaveBeenCalledTimes(1);
518
- expect(spy).toHaveBeenCalledWith(evt.coordinate);
519
- expect(featureInfo).toBe(goodFeatureInfo);
520
- expect(fn).toHaveBeenCalledTimes(1);
521
- expect(fn.mock.calls[0][0]).toBe(goodFeatureInfo.features);
522
- expect(fn.mock.calls[0][1]).toBe(goodFeatureInfo.layer);
523
- expect(fn.mock.calls[0][2]).toBe(goodFeatureInfo.coordinate);
524
- expect(fn2).toHaveBeenCalledTimes(1);
525
- expect(fn2.mock.calls[0][0]).toBe(goodFeatureInfo.features);
526
- expect(fn2.mock.calls[0][1]).toBe(goodFeatureInfo.layer);
527
- expect(fn2.mock.calls[0][2]).toBe(goodFeatureInfo.coordinate);
528
- done();
529
- });
530
- });
531
-
532
- describe('returns empty feature info', () => {
533
- test('if isHoverActive = false', (done) => {
534
- const layer = new Layer({
535
- name: 'Layer',
536
- isHoverActive: false,
537
- olLayer,
538
- });
539
- layer.onHover(jest.fn());
540
- layer.onUserMoveCallback(evt).then((featureInfo) => {
541
- expect(featureInfo).toEqual(getFeatureInfo(layer));
542
- done();
543
- });
544
- });
545
-
546
- test('if hoverCallbacks is empty', (done) => {
547
- const layer = new Layer({
548
- name: 'Layer',
549
- olLayer,
550
- });
551
- layer.onUserMoveCallback(evt).then((featureInfo) => {
552
- expect(featureInfo).toEqual(getFeatureInfo(layer));
553
- done();
554
- });
555
- });
556
-
557
- test('if an error is thrown in hover callback', (done) => {
558
- const layer = new Layer({
559
- name: 'Layer',
560
- olLayer,
561
- });
562
- layer.onHover(() => {
563
- throw new Error('foo');
564
- });
565
- layer.onUserMoveCallback(evt).then((featureInfo) => {
566
- expect(featureInfo).toEqual(getFeatureInfo(layer));
567
- done();
568
- });
569
- });
570
- });
571
-
572
- test('triggers Error if parameter is not a function', (done) => {
573
- const layer = new Layer({
574
- name: 'Layer',
575
- olLayer,
576
- });
577
- try {
578
- layer.onHover('test');
579
- } catch (e) {
580
- expect(e).toBeDefined();
581
- done();
582
- }
583
- });
584
- });
585
- });
@@ -1,48 +0,0 @@
1
- /* eslint-disable class-methods-use-this */
2
- /* eslint-disable max-classes-per-file */
3
-
4
- /**
5
- * Copyright control interface.
6
- *
7
- */
8
- export class CopyrightInterface {
9
- /**
10
- * Return an array of layer's copyright.
11
- *
12
- * @return {String[]} A list of copyrights to render.
13
- */
14
- getCopyrights() {}
15
- }
16
-
17
- /**
18
- * Mixin for CopyrightInterface.
19
- *
20
- * @param {Class} Base A class to extend with {CopyrightInterface} functionnalities.
21
- * @return {Class} A class that implements <CopyrightInterface> class and extends Base;
22
- * @private
23
- */
24
- const CopyrightMixin = (Base) =>
25
- class extends Base {
26
- render() {
27
- if (!this.element) {
28
- return;
29
- }
30
- this.element.innerHTML = this.active
31
- ? this.getCopyrights().join(' | ')
32
- : '';
33
- }
34
-
35
- createDefaultElement() {
36
- this.element = document.createElement('div');
37
- this.element.id = 'mbt-copyright';
38
- Object.assign(this.element.style, {
39
- position: 'absolute',
40
- bottom: 0,
41
- right: 0,
42
- fontSize: '.8rem',
43
- padding: '0 10px',
44
- });
45
- }
46
- };
47
-
48
- export default CopyrightMixin;