@mapcomponents/react-maplibre 0.1.69 → 0.1.71

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 (523) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/README.md +3 -2
  3. package/dist/components/MlComponentTemplate/MlComponentTemplate.d.ts +1 -6
  4. package/dist/components/MlCreatePdfButton/MlCreatePdfButton.d.ts +3 -3
  5. package/dist/components/MlCreatePdfForm/MlCreatePdfForm.d.ts +7 -2
  6. package/dist/components/MlCreatePngButton/MlCreatePngButton.d.ts +22 -0
  7. package/dist/components/MlCreatePngButton/MlCreatePngButton.stories.d.ts +14 -0
  8. package/dist/components/MlGpxViewer/util/{MetadataDrawer.d.ts → Metadata.d.ts} +1 -2
  9. package/dist/components/MlGpxViewer/util/MlGpxDemoLoader.d.ts +1 -1
  10. package/dist/hooks/useExportMap/lib.d.ts +16 -1
  11. package/dist/index.d.ts +2 -0
  12. package/dist/index.esm.js +292 -287
  13. package/dist/index.esm.js.map +1 -1
  14. package/dist/ui_components/Sidebar.d.ts +5 -3
  15. package/dist/ui_components/TopToolbar.d.ts +8 -7
  16. package/package.json +1 -2
  17. package/.babelrc +0 -22
  18. package/.editorconfig +0 -19
  19. package/.eslintignore +0 -12
  20. package/.eslintrc.js +0 -30
  21. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -41
  22. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -22
  23. package/.github/workflows/check-catalogue-metadata-schema.yml +0 -19
  24. package/.github/workflows/check-formatting.yml +0 -46
  25. package/.github/workflows/node_version_test.yml +0 -26
  26. package/.github/workflows/publish.yml +0 -21
  27. package/.github/workflows/storybook.yml +0 -28
  28. package/.prettierignore +0 -11
  29. package/.prettierrc.json +0 -6
  30. package/.storybook/.babelrc +0 -26
  31. package/.storybook/main.js +0 -40
  32. package/.storybook/manager.js +0 -6
  33. package/.storybook/mapcomponents_logo.png +0 -0
  34. package/.storybook/preview.js +0 -33
  35. package/.storybook/style.css +0 -15
  36. package/.storybook/wheregroupTheme.js +0 -9
  37. package/config/env.js +0 -106
  38. package/config/jest/babelTransform.js +0 -29
  39. package/config/jest/cssTransform.js +0 -14
  40. package/config/jest/fileTransform.js +0 -40
  41. package/config/paths.js +0 -75
  42. package/coverage/clover.xml +0 -2018
  43. package/coverage/coverage-final.json +0 -60
  44. package/coverage/lcov-report/base.css +0 -224
  45. package/coverage/lcov-report/block-navigation.js +0 -87
  46. package/coverage/lcov-report/favicon.png +0 -0
  47. package/coverage/lcov-report/index.html +0 -731
  48. package/coverage/lcov-report/prettify.css +0 -1
  49. package/coverage/lcov-report/prettify.js +0 -2
  50. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  51. package/coverage/lcov-report/sorter.js +0 -196
  52. package/coverage/lcov-report/src/components/MapLibreMap/MapLibreMap.tsx.html +0 -466
  53. package/coverage/lcov-report/src/components/MapLibreMap/index.html +0 -116
  54. package/coverage/lcov-report/src/components/MlCenterPosition/MlCenterPosition.tsx.html +0 -322
  55. package/coverage/lcov-report/src/components/MlCenterPosition/index.html +0 -116
  56. package/coverage/lcov-report/src/components/MlCreatePdfButton/MlCreatePdfButton.tsx.html +0 -238
  57. package/coverage/lcov-report/src/components/MlCreatePdfButton/index.html +0 -116
  58. package/coverage/lcov-report/src/components/MlCreatePdfForm/MlCreatePdfForm.cy.tsx.html +0 -148
  59. package/coverage/lcov-report/src/components/MlCreatePdfForm/MlCreatePdfForm.tsx.html +0 -196
  60. package/coverage/lcov-report/src/components/MlCreatePdfForm/index.html +0 -131
  61. package/coverage/lcov-report/src/components/MlFeatureEditor/MlFeatureEditor.tsx.html +0 -535
  62. package/coverage/lcov-report/src/components/MlFeatureEditor/index.html +0 -116
  63. package/coverage/lcov-report/src/components/MlFillExtrusionLayer/MlFillExtrusionLayer.tsx.html +0 -340
  64. package/coverage/lcov-report/src/components/MlFillExtrusionLayer/index.html +0 -116
  65. package/coverage/lcov-report/src/components/MlFollowGps/MlFollowGps.tsx.html +0 -808
  66. package/coverage/lcov-report/src/components/MlFollowGps/index.html +0 -116
  67. package/coverage/lcov-report/src/components/MlGeoJsonLayer/MlGeoJsonLayer.tsx.html +0 -469
  68. package/coverage/lcov-report/src/components/MlGeoJsonLayer/index.html +0 -116
  69. package/coverage/lcov-report/src/components/MlGeoJsonLayer/story_utils/MlGeoJsonLayer.lineStyler.js.html +0 -652
  70. package/coverage/lcov-report/src/components/MlGeoJsonLayer/story_utils/MlGeoJsonLayer.polygonStyler.js.html +0 -649
  71. package/coverage/lcov-report/src/components/MlGeoJsonLayer/story_utils/MlGeojsonLayerCircleStyler.tsx.html +0 -112
  72. package/coverage/lcov-report/src/components/MlGeoJsonLayer/story_utils/MlGeojsonLayerHeatMapStyler.tsx.html +0 -115
  73. package/coverage/lcov-report/src/components/MlGeoJsonLayer/story_utils/index.html +0 -161
  74. package/coverage/lcov-report/src/components/MlGeojsonLayerWithSource/MlGeojsonLayerWithSource.tsx.html +0 -469
  75. package/coverage/lcov-report/src/components/MlGeojsonLayerWithSource/index.html +0 -116
  76. package/coverage/lcov-report/src/components/MlGpxViewer/MlGpxViewer.tsx.html +0 -394
  77. package/coverage/lcov-report/src/components/MlGpxViewer/index.html +0 -116
  78. package/coverage/lcov-report/src/components/MlImageMarkerLayer/MlImageMarkerLayer.tsx.html +0 -385
  79. package/coverage/lcov-report/src/components/MlImageMarkerLayer/index.html +0 -116
  80. package/coverage/lcov-report/src/components/MlLayer/MlLayer.tsx.html +0 -247
  81. package/coverage/lcov-report/src/components/MlLayer/index.html +0 -116
  82. package/coverage/lcov-report/src/components/MlLayerMagnify/MlLayerMagnify.tsx.html +0 -745
  83. package/coverage/lcov-report/src/components/MlLayerMagnify/index.html +0 -116
  84. package/coverage/lcov-report/src/components/MlLayerSwipe/MlLayerSwipe.tsx.html +0 -520
  85. package/coverage/lcov-report/src/components/MlLayerSwipe/index.html +0 -116
  86. package/coverage/lcov-report/src/components/MlLayerSwitcher/MlLayerSwitcher.js.html +0 -736
  87. package/coverage/lcov-report/src/components/MlLayerSwitcher/components/LayerBox.js.html +0 -316
  88. package/coverage/lcov-report/src/components/MlLayerSwitcher/components/index.html +0 -116
  89. package/coverage/lcov-report/src/components/MlLayerSwitcher/index.html +0 -116
  90. package/coverage/lcov-report/src/components/MlMarker/MlMarker.tsx.html +0 -505
  91. package/coverage/lcov-report/src/components/MlMarker/index.html +0 -116
  92. package/coverage/lcov-report/src/components/MlMeasureTool/MlMeasureTool.tsx.html +0 -265
  93. package/coverage/lcov-report/src/components/MlMeasureTool/index.html +0 -116
  94. package/coverage/lcov-report/src/components/MlNavigationCompass/MlNavigationCompass.tsx.html +0 -763
  95. package/coverage/lcov-report/src/components/MlNavigationCompass/index.html +0 -116
  96. package/coverage/lcov-report/src/components/MlNavigationTools/MlNavigationTools.tsx.html +0 -613
  97. package/coverage/lcov-report/src/components/MlNavigationTools/index.html +0 -116
  98. package/coverage/lcov-report/src/components/MlOsmLayer/MlOsmLayer.js.html +0 -298
  99. package/coverage/lcov-report/src/components/MlOsmLayer/MlOsmLayer.stories_.js.html +0 -232
  100. package/coverage/lcov-report/src/components/MlOsmLayer/index.html +0 -131
  101. package/coverage/lcov-report/src/components/MlScaleReference/MlScaleReference.tsx.html +0 -412
  102. package/coverage/lcov-report/src/components/MlScaleReference/index.html +0 -116
  103. package/coverage/lcov-report/src/components/MlShareMapState/MlShareMapState.tsx.html +0 -892
  104. package/coverage/lcov-report/src/components/MlShareMapState/index.html +0 -116
  105. package/coverage/lcov-report/src/components/MlSketchTool/LayerList/ColorPicker.tsx.html +0 -214
  106. package/coverage/lcov-report/src/components/MlSketchTool/LayerList/LayerList.tsx.html +0 -121
  107. package/coverage/lcov-report/src/components/MlSketchTool/LayerList/LayerListItem.tsx.html +0 -412
  108. package/coverage/lcov-report/src/components/MlSketchTool/LayerList/LayerPropertyForm.tsx.html +0 -463
  109. package/coverage/lcov-report/src/components/MlSketchTool/LayerList/index.html +0 -161
  110. package/coverage/lcov-report/src/components/MlSketchTool/MlSketchTool.tsx.html +0 -898
  111. package/coverage/lcov-report/src/components/MlSketchTool/index.html +0 -116
  112. package/coverage/lcov-report/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.tsx.html +0 -514
  113. package/coverage/lcov-report/src/components/MlSpatialElevationProfile/index.html +0 -116
  114. package/coverage/lcov-report/src/components/MlThreeJsLayer/MlThreeJsLayer.js.html +0 -703
  115. package/coverage/lcov-report/src/components/MlThreeJsLayer/MlThreejsLayer.tsx.html +0 -769
  116. package/coverage/lcov-report/src/components/MlThreeJsLayer/index.html +0 -131
  117. package/coverage/lcov-report/src/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.tsx.html +0 -406
  118. package/coverage/lcov-report/src/components/MlTransitionGeoJsonLayer/index.html +0 -116
  119. package/coverage/lcov-report/src/components/MlUseMapDebugger/MlUseMapDebugger.js.html +0 -310
  120. package/coverage/lcov-report/src/components/MlUseMapDebugger/index.html +0 -116
  121. package/coverage/lcov-report/src/components/MlVectorTileLayer/MlVectorTileLayer.tsx.html +0 -517
  122. package/coverage/lcov-report/src/components/MlVectorTileLayer/index.html +0 -116
  123. package/coverage/lcov-report/src/components/MlWmsFeatureInfoPopup/MlWmsFeatureInfoPopup.js.html +0 -277
  124. package/coverage/lcov-report/src/components/MlWmsFeatureInfoPopup/index.html +0 -116
  125. package/coverage/lcov-report/src/components/MlWmsLayer/MlWmsLayer.tsx.html +0 -739
  126. package/coverage/lcov-report/src/components/MlWmsLayer/index.html +0 -116
  127. package/coverage/lcov-report/src/components/MlWmsLoader/MlWmsLoader.tsx.html +0 -1102
  128. package/coverage/lcov-report/src/components/MlWmsLoader/index.html +0 -116
  129. package/coverage/lcov-report/src/contexts/MapContext.tsx.html +0 -403
  130. package/coverage/lcov-report/src/contexts/SimpleDataContext.js.html +0 -103
  131. package/coverage/lcov-report/src/contexts/SimpleDataProvider.js.html +0 -277
  132. package/coverage/lcov-report/src/contexts/index.html +0 -146
  133. package/coverage/lcov-report/src/hooks/index.html +0 -191
  134. package/coverage/lcov-report/src/hooks/useCameraFollowPath/index.html +0 -116
  135. package/coverage/lcov-report/src/hooks/useCameraFollowPath/useCameraFollowPath.tsx.html +0 -661
  136. package/coverage/lcov-report/src/hooks/useExportMap/index.html +0 -131
  137. package/coverage/lcov-report/src/hooks/useExportMap/index.ts.html +0 -175
  138. package/coverage/lcov-report/src/hooks/useExportMap/lib.ts.html +0 -559
  139. package/coverage/lcov-report/src/hooks/useGpx/index.html +0 -116
  140. package/coverage/lcov-report/src/hooks/useGpx/useGpx.tsx.html +0 -295
  141. package/coverage/lcov-report/src/hooks/useLayer.ts.html +0 -787
  142. package/coverage/lcov-report/src/hooks/useLayerEvent.js.html +0 -232
  143. package/coverage/lcov-report/src/hooks/useLayerFilter/index.html +0 -116
  144. package/coverage/lcov-report/src/hooks/useLayerFilter/useLayerFilter.ts.html +0 -184
  145. package/coverage/lcov-report/src/hooks/useLayerHoverPopup/index.html +0 -116
  146. package/coverage/lcov-report/src/hooks/useLayerHoverPopup/useLayerHoverPopup.tsx.html +0 -334
  147. package/coverage/lcov-report/src/hooks/useMap.ts.html +0 -358
  148. package/coverage/lcov-report/src/hooks/useMapState.ts.html +0 -631
  149. package/coverage/lcov-report/src/hooks/useSource.ts.html +0 -337
  150. package/coverage/lcov-report/src/hooks/useWms.ts.html +0 -397
  151. package/coverage/lcov-report/src/index.html +0 -116
  152. package/coverage/lcov-report/src/index.ts.html +0 -316
  153. package/coverage/lcov.info +0 -3987
  154. package/cypress/support/commands.ts +0 -37
  155. package/cypress/support/component-index.html +0 -12
  156. package/cypress/support/component.ts +0 -46
  157. package/cypress.config.ts +0 -101
  158. package/dist/components/MlCreatePdfButton/lib/createPdf.d.ts +0 -2
  159. package/dist/components/MlCreatePdfButton/lib/nominatimMap.d.ts +0 -2
  160. package/eslintErrorTest.js +0 -10
  161. package/public/assets/3D/godzilla_simple.glb +0 -0
  162. package/public/assets/dop.png +0 -0
  163. package/public/assets/historic.png +0 -0
  164. package/public/assets/marker.png +0 -0
  165. package/public/assets/osm.png +0 -0
  166. package/public/assets/sample.gpx +0 -716
  167. package/public/assets/sample1.gpx +0 -3003
  168. package/public/assets/sample2.gpx +0 -1264
  169. package/public/assets/sample3.gpx +0 -912
  170. package/public/assets/wg-marker.png +0 -0
  171. package/public/catalogue/.gitkeep +0 -0
  172. package/public/catalogue/mc_meta.json +0 -1
  173. package/public/favicon.ico +0 -0
  174. package/public/index.html +0 -39
  175. package/public/logo.png +0 -0
  176. package/public/manifest.json +0 -25
  177. package/public/robots.txt +0 -3
  178. package/public/thumbnails/MapLibreMap.png +0 -0
  179. package/public/thumbnails/MlCameraFollowPath.png +0 -0
  180. package/public/thumbnails/MlCreatePdfButton.png +0 -0
  181. package/public/thumbnails/MlCreatePdfForm.png +0 -0
  182. package/public/thumbnails/MlDeckGlLayer.png +0 -0
  183. package/public/thumbnails/MlDeckGlTerrainLayer.png +0 -0
  184. package/public/thumbnails/MlDemoDashboard.png +0 -0
  185. package/public/thumbnails/MlFeatureEditor.png +0 -0
  186. package/public/thumbnails/MlFillExtrusionLayer.png +0 -0
  187. package/public/thumbnails/MlFollowGps.png +0 -0
  188. package/public/thumbnails/MlGeoJsonLayer.png +0 -0
  189. package/public/thumbnails/MlGpxViewer.png +0 -0
  190. package/public/thumbnails/MlHillshadeLayer.png +0 -0
  191. package/public/thumbnails/MlIconLayer.png +0 -0
  192. package/public/thumbnails/MlLaermkarte.png +0 -0
  193. package/public/thumbnails/MlLayerMagnify.png +0 -0
  194. package/public/thumbnails/MlLayerSwipe.png +0 -0
  195. package/public/thumbnails/MlMapDrawTools.png +0 -0
  196. package/public/thumbnails/MlMeasureTool.png +0 -0
  197. package/public/thumbnails/MlMobilerImker.png +0 -0
  198. package/public/thumbnails/MlNavigationCompass.png +0 -0
  199. package/public/thumbnails/MlNavigationTools.png +0 -0
  200. package/public/thumbnails/MlOsmLayer.png +0 -0
  201. package/public/thumbnails/MlScaleReference.png +0 -0
  202. package/public/thumbnails/MlSketchTool.png +0 -0
  203. package/public/thumbnails/MlSpatialElevationProfile.png +0 -0
  204. package/public/thumbnails/MlThreeJsLayer.png +0 -0
  205. package/public/thumbnails/MlTransitionGeoJsonLayer.png +0 -0
  206. package/public/thumbnails/MlVectorTileLayer.png +0 -0
  207. package/public/thumbnails/MlWanderApp.png +0 -0
  208. package/public/thumbnails/MlWmsLayer.png +0 -0
  209. package/public/thumbnails/MlWmsLoader.png +0 -0
  210. package/public/thumbnails/useCameraFollowPath.png +0 -0
  211. package/rollup.config.js +0 -74
  212. package/scripts/build-catalogue-markdown-docs.js +0 -28
  213. package/scripts/build-catalogue-meta.js +0 -42
  214. package/scripts/create-map-component.sh +0 -36
  215. package/scripts/test.js +0 -53
  216. package/src/@types/assets/index.d.ts +0 -20
  217. package/src/App.css +0 -0
  218. package/src/components/MapLibreMap/MapLibreMap.stories.js +0 -106
  219. package/src/components/MapLibreMap/MapLibreMap.test.js +0 -84
  220. package/src/components/MapLibreMap/MapLibreMap.tsx +0 -127
  221. package/src/components/MapLibreMap/lib/MapLibreGlWrapper.test.js +0 -395
  222. package/src/components/MapLibreMap/lib/MapLibreGlWrapper.ts +0 -691
  223. package/src/components/MlBasicComponent.js +0 -39
  224. package/src/components/MlCenterPosition/MlCenterPosition.doc.de.md +0 -3
  225. package/src/components/MlCenterPosition/MlCenterPosition.meta_.json +0 -14
  226. package/src/components/MlCenterPosition/MlCenterPosition.stories.tsx +0 -20
  227. package/src/components/MlCenterPosition/MlCenterPosition.tsx +0 -79
  228. package/src/components/MlComponentTemplate/MlComponentTemplate.doc.de.md +0 -3
  229. package/src/components/MlComponentTemplate/MlComponentTemplate.meta_.json +0 -14
  230. package/src/components/MlComponentTemplate/MlComponentTemplate.stories.tsx +0 -20
  231. package/src/components/MlComponentTemplate/MlComponentTemplate.tsx +0 -42
  232. package/src/components/MlCreatePdfButton/MlCreatePdfButton.doc.de.md +0 -1
  233. package/src/components/MlCreatePdfButton/MlCreatePdfButton.doc.en.md +0 -1
  234. package/src/components/MlCreatePdfButton/MlCreatePdfButton.meta_.json +0 -14
  235. package/src/components/MlCreatePdfButton/MlCreatePdfButton.stories.tsx +0 -35
  236. package/src/components/MlCreatePdfButton/MlCreatePdfButton.tsx +0 -51
  237. package/src/components/MlCreatePdfButton/lib/createPdf.ts +0 -189
  238. package/src/components/MlCreatePdfButton/lib/nominatimMap.ts +0 -57
  239. package/src/components/MlCreatePdfForm/MlCreatePdfForm.cy.tsx +0 -21
  240. package/src/components/MlCreatePdfForm/MlCreatePdfForm.doc.de.md +0 -3
  241. package/src/components/MlCreatePdfForm/MlCreatePdfForm.meta.json +0 -14
  242. package/src/components/MlCreatePdfForm/MlCreatePdfForm.stories.tsx +0 -165
  243. package/src/components/MlCreatePdfForm/MlCreatePdfForm.tsx +0 -37
  244. package/src/components/MlCreatePdfForm/lib/PdfContext.tsx +0 -51
  245. package/src/components/MlCreatePdfForm/lib/PdfForm.tsx +0 -257
  246. package/src/components/MlCreatePdfForm/lib/PdfPreview.tsx +0 -327
  247. package/src/components/MlCreatePdfForm/lib/_PdfPreview.tsx +0 -399
  248. package/src/components/MlCreatePdfForm/lib/pdf.templates.ts +0 -82
  249. package/src/components/MlCreatePdfForm/lib/pdfContext.d.ts +0 -24
  250. package/src/components/MlCreatePdfForm/lib/preview.css +0 -114
  251. package/src/components/MlFeatureEditor/MlFeatureEditor.css +0 -0
  252. package/src/components/MlFeatureEditor/MlFeatureEditor.doc.de.md +0 -1
  253. package/src/components/MlFeatureEditor/MlFeatureEditor.doc.en.md +0 -1
  254. package/src/components/MlFeatureEditor/MlFeatureEditor.meta.json +0 -14
  255. package/src/components/MlFeatureEditor/MlFeatureEditor.stories.js +0 -91
  256. package/src/components/MlFeatureEditor/MlFeatureEditor.test.js +0 -126
  257. package/src/components/MlFeatureEditor/MlFeatureEditor.tsx +0 -150
  258. package/src/components/MlFeatureEditor/custom-direct-select-mode.js +0 -303
  259. package/src/components/MlFeatureEditor/custom-polygon-mode.js +0 -188
  260. package/src/components/MlFeatureEditor/custom-select-mode.js +0 -406
  261. package/src/components/MlFeatureEditor/lib/LICENSE.md +0 -18
  262. package/src/components/MlFeatureEditor/lib/common_selectors.js +0 -72
  263. package/src/components/MlFeatureEditor/lib/constants.js +0 -104
  264. package/src/components/MlFeatureEditor/lib/constrain_feature_movement.js +0 -72
  265. package/src/components/MlFeatureEditor/lib/create_midpoint.js +0 -42
  266. package/src/components/MlFeatureEditor/lib/create_supplementary_points.js +0 -102
  267. package/src/components/MlFeatureEditor/lib/create_vertex.js +0 -35
  268. package/src/components/MlFeatureEditor/lib/double_click_zoom.js +0 -30
  269. package/src/components/MlFeatureEditor/lib/euclidean_distance.js +0 -9
  270. package/src/components/MlFeatureEditor/lib/features_at.js +0 -52
  271. package/src/components/MlFeatureEditor/lib/get_features_and_set_cursor.js +0 -28
  272. package/src/components/MlFeatureEditor/lib/is_click.js +0 -22
  273. package/src/components/MlFeatureEditor/lib/is_event_at_coordinates.js +0 -10
  274. package/src/components/MlFeatureEditor/lib/is_tap.js +0 -19
  275. package/src/components/MlFeatureEditor/lib/map_event_to_bounding_box.js +0 -18
  276. package/src/components/MlFeatureEditor/lib/mode_handler.js +0 -120
  277. package/src/components/MlFeatureEditor/lib/mouse_event_point.js +0 -23
  278. package/src/components/MlFeatureEditor/lib/move_features.js +0 -47
  279. package/src/components/MlFeatureEditor/lib/sort_features.js +0 -45
  280. package/src/components/MlFeatureEditor/lib/string_set.js +0 -59
  281. package/src/components/MlFeatureEditor/lib/string_sets_are_equal.js +0 -8
  282. package/src/components/MlFeatureEditor/lib/theme.js +0 -236
  283. package/src/components/MlFeatureEditor/lib/to_dense_array.js +0 -15
  284. package/src/components/MlFeatureEditor/lib/utils.js +0 -51
  285. package/src/components/MlFillExtrusionLayer/MlFillExtrusionLayer.doc.de.md +0 -1
  286. package/src/components/MlFillExtrusionLayer/MlFillExtrusionLayer.doc.en.md +0 -1
  287. package/src/components/MlFillExtrusionLayer/MlFillExtrusionLayer.meta.json +0 -14
  288. package/src/components/MlFillExtrusionLayer/MlFillExtrusionLayer.stories.js +0 -24
  289. package/src/components/MlFillExtrusionLayer/MlFillExtrusionLayer.test.js +0 -15
  290. package/src/components/MlFillExtrusionLayer/MlFillExtrusionLayer.tsx +0 -85
  291. package/src/components/MlFollowGps/MlFollowGps.doc.de.md +0 -1
  292. package/src/components/MlFollowGps/MlFollowGps.doc.en.md +0 -1
  293. package/src/components/MlFollowGps/MlFollowGps.meta.json +0 -14
  294. package/src/components/MlFollowGps/MlFollowGps.stories.js +0 -40
  295. package/src/components/MlFollowGps/MlFollowGps.test.js +0 -63
  296. package/src/components/MlFollowGps/MlFollowGps.tsx +0 -241
  297. package/src/components/MlGeoJsonLayer/MlGeoJsonLayer.doc.de.md +0 -1
  298. package/src/components/MlGeoJsonLayer/MlGeoJsonLayer.doc.en.md +0 -1
  299. package/src/components/MlGeoJsonLayer/MlGeoJsonLayer.meta.json +0 -14
  300. package/src/components/MlGeoJsonLayer/MlGeoJsonLayer.stories.tsx +0 -191
  301. package/src/components/MlGeoJsonLayer/MlGeoJsonLayer.test.js +0 -20
  302. package/src/components/MlGeoJsonLayer/MlGeoJsonLayer.tsx +0 -128
  303. package/src/components/MlGeoJsonLayer/assets/earthquake.json +0 -109937
  304. package/src/components/MlGeoJsonLayer/assets/sample_1.json +0 -140
  305. package/src/components/MlGeoJsonLayer/assets/sample_2.json +0 -142
  306. package/src/components/MlGeoJsonLayer/assets/sample_polygon_1.json +0 -33
  307. package/src/components/MlGeoJsonLayer/assets/wg_locations.json +0 -65
  308. package/src/components/MlGeoJsonLayer/story_utils/MlGeoJsonLayer.lineStyler.js +0 -189
  309. package/src/components/MlGeoJsonLayer/story_utils/MlGeoJsonLayer.polygonStyler.js +0 -188
  310. package/src/components/MlGeoJsonLayer/story_utils/MlGeojsonLayerCircleStyler.tsx +0 -9
  311. package/src/components/MlGeoJsonLayer/story_utils/MlGeojsonLayerHeatMapStyler.tsx +0 -10
  312. package/src/components/MlGeoJsonLayer/util/getDefaultLayerTypeByGeometry.ts +0 -31
  313. package/src/components/MlGeoJsonLayer/util/getDefaultPaintPropsByType.ts +0 -37
  314. package/src/components/MlGeojsonLayerWithSource/MlGeojsonLayerWithSource.doc.de.md +0 -3
  315. package/src/components/MlGeojsonLayerWithSource/MlGeojsonLayerWithSource.meta_.json +0 -14
  316. package/src/components/MlGeojsonLayerWithSource/MlGeojsonLayerWithSource.stories.tsx +0 -19
  317. package/src/components/MlGeojsonLayerWithSource/MlGeojsonLayerWithSource.tsx +0 -128
  318. package/src/components/MlGpxViewer/MlGpxViewer.doc.de.md +0 -1
  319. package/src/components/MlGpxViewer/MlGpxViewer.doc.en.md +0 -1
  320. package/src/components/MlGpxViewer/MlGpxViewer.meta.json +0 -14
  321. package/src/components/MlGpxViewer/MlGpxViewer.stories.tsx +0 -100
  322. package/src/components/MlGpxViewer/MlGpxViewer.test.js +0 -53
  323. package/src/components/MlGpxViewer/MlGpxViewer.tsx +0 -103
  324. package/src/components/MlGpxViewer/util/GeoJsonContext.ts +0 -13
  325. package/src/components/MlGpxViewer/util/GeoJsonProvider.tsx +0 -25
  326. package/src/components/MlGpxViewer/util/MetadataDrawer.tsx +0 -38
  327. package/src/components/MlGpxViewer/util/MlGpxDemoLoader.tsx +0 -130
  328. package/src/components/MlGpxViewer/util/MlGpxViewerInstructions.tsx +0 -71
  329. package/src/components/MlImageMarkerLayer/MlImageMarkerLayer.doc.de.md +0 -3
  330. package/src/components/MlImageMarkerLayer/MlImageMarkerLayer.meta_.json +0 -14
  331. package/src/components/MlImageMarkerLayer/MlImageMarkerLayer.stories.tsx +0 -41
  332. package/src/components/MlImageMarkerLayer/MlImageMarkerLayer.test.js +0 -38
  333. package/src/components/MlImageMarkerLayer/MlImageMarkerLayer.tsx +0 -100
  334. package/src/components/MlLayer/MlLayer.doc.de.md +0 -3
  335. package/src/components/MlLayer/MlLayer.meta_.json +0 -14
  336. package/src/components/MlLayer/MlLayer.test.js +0 -117
  337. package/src/components/MlLayer/MlLayer.tsx +0 -54
  338. package/src/components/MlLayerMagnify/MlLayerMagnify.doc.de.md +0 -1
  339. package/src/components/MlLayerMagnify/MlLayerMagnify.doc.en.md +0 -1
  340. package/src/components/MlLayerMagnify/MlLayerMagnify.meta.json +0 -14
  341. package/src/components/MlLayerMagnify/MlLayerMagnify.stories.tsx +0 -44
  342. package/src/components/MlLayerMagnify/MlLayerMagnify.test.tsx +0 -83
  343. package/src/components/MlLayerMagnify/MlLayerMagnify.tsx +0 -220
  344. package/src/components/MlLayerMagnify/style.css +0 -48
  345. package/src/components/MlLayerSwipe/MlLayerSwipe.doc.de.md +0 -1
  346. package/src/components/MlLayerSwipe/MlLayerSwipe.doc.en.md +0 -1
  347. package/src/components/MlLayerSwipe/MlLayerSwipe.meta.json +0 -14
  348. package/src/components/MlLayerSwipe/MlLayerSwipe.stories.tsx +0 -36
  349. package/src/components/MlLayerSwipe/MlLayerSwipe.test.js +0 -86
  350. package/src/components/MlLayerSwipe/MlLayerSwipe.tsx +0 -145
  351. package/src/components/MlLayerSwipe/style.css +0 -48
  352. package/src/components/MlLayerSwitcher/MlLayerSwitcher.css +0 -17
  353. package/src/components/MlLayerSwitcher/MlLayerSwitcher.doc.de.md +0 -3
  354. package/src/components/MlLayerSwitcher/MlLayerSwitcher.js +0 -217
  355. package/src/components/MlLayerSwitcher/MlLayerSwitcher.meta_.json +0 -14
  356. package/src/components/MlLayerSwitcher/MlLayerSwitcher.stories.js +0 -103
  357. package/src/components/MlLayerSwitcher/assets/sample_1.json +0 -26
  358. package/src/components/MlLayerSwitcher/assets/sample_2.json +0 -22
  359. package/src/components/MlLayerSwitcher/components/LayerBox.js +0 -77
  360. package/src/components/MlMarker/MlMarker.doc.de.md +0 -3
  361. package/src/components/MlMarker/MlMarker.meta_.json +0 -14
  362. package/src/components/MlMarker/MlMarker.stories.js +0 -22
  363. package/src/components/MlMarker/MlMarker.tsx +0 -140
  364. package/src/components/MlMeasureTool/MlMeasureTool.doc.de.md +0 -3
  365. package/src/components/MlMeasureTool/MlMeasureTool.meta.json +0 -14
  366. package/src/components/MlMeasureTool/MlMeasureTool.stories.js +0 -96
  367. package/src/components/MlMeasureTool/MlMeasureTool.tsx +0 -60
  368. package/src/components/MlNavigationCompass/MlNavigationCompass.doc.de.md +0 -1
  369. package/src/components/MlNavigationCompass/MlNavigationCompass.doc.en.md +0 -1
  370. package/src/components/MlNavigationCompass/MlNavigationCompass.meta.json +0 -14
  371. package/src/components/MlNavigationCompass/MlNavigationCompass.stories.js +0 -63
  372. package/src/components/MlNavigationCompass/MlNavigationCompass.test.js +0 -68
  373. package/src/components/MlNavigationCompass/MlNavigationCompass.tsx +0 -226
  374. package/src/components/MlNavigationCompass/assets/needle.svg +0 -17
  375. package/src/components/MlNavigationCompass/assets/needle__.svg +0 -19
  376. package/src/components/MlNavigationCompass/assets/rotate_left.svg +0 -13
  377. package/src/components/MlNavigationCompass/assets/rotate_right.svg +0 -15
  378. package/src/components/MlNavigationTools/MlNavigationTools.doc.de.md +0 -1
  379. package/src/components/MlNavigationTools/MlNavigationTools.doc.en.md +0 -1
  380. package/src/components/MlNavigationTools/MlNavigationTools.meta.json +0 -14
  381. package/src/components/MlNavigationTools/MlNavigationTools.stories.js +0 -64
  382. package/src/components/MlNavigationTools/MlNavigationTools.tsx +0 -176
  383. package/src/components/MlOsmLayer/MlOsmLayer.js +0 -71
  384. package/src/components/MlOsmLayer/MlOsmLayer.stories_.js +0 -49
  385. package/src/components/MlOsmLayer/MlOsmLayer.test.js +0 -19
  386. package/src/components/MlScaleReference/MlScaleReference.doc.de.md +0 -1
  387. package/src/components/MlScaleReference/MlScaleReference.doc.en.md +0 -1
  388. package/src/components/MlScaleReference/MlScaleReference.meta.json +0 -14
  389. package/src/components/MlScaleReference/MlScaleReference.stories.js +0 -51
  390. package/src/components/MlScaleReference/MlScaleReference.tsx +0 -109
  391. package/src/components/MlShareMapState/MlShareMapState.doc.de.md +0 -3
  392. package/src/components/MlShareMapState/MlShareMapState.meta_.json +0 -14
  393. package/src/components/MlShareMapState/MlShareMapState.stories.tsx +0 -100
  394. package/src/components/MlShareMapState/MlShareMapState.tsx +0 -269
  395. package/src/components/MlSketchTool/LayerList/ColorPicker.tsx +0 -43
  396. package/src/components/MlSketchTool/LayerList/LayerList.tsx +0 -12
  397. package/src/components/MlSketchTool/LayerList/LayerListItem.tsx +0 -109
  398. package/src/components/MlSketchTool/LayerList/LayerPropertyForm.tsx +0 -126
  399. package/src/components/MlSketchTool/MlSketchTool.doc.de.md +0 -3
  400. package/src/components/MlSketchTool/MlSketchTool.meta.json +0 -14
  401. package/src/components/MlSketchTool/MlSketchTool.stories.tsx +0 -26
  402. package/src/components/MlSketchTool/MlSketchTool.tsx +0 -271
  403. package/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.doc.de.md +0 -1
  404. package/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.doc.en.md +0 -1
  405. package/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.meta.json +0 -14
  406. package/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.stories.tsx +0 -121
  407. package/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.test.js +0 -48
  408. package/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.tsx +0 -143
  409. package/src/components/MlSpatialElevationProfile/util/getElevationData.tsx +0 -103
  410. package/src/components/MlThreeJsLayer/MlThreeJsLayer.doc.de.md +0 -1
  411. package/src/components/MlThreeJsLayer/MlThreeJsLayer.doc.en.md +0 -1
  412. package/src/components/MlThreeJsLayer/MlThreeJsLayer.js +0 -207
  413. package/src/components/MlThreeJsLayer/MlThreeJsLayer.meta.json +0 -14
  414. package/src/components/MlThreeJsLayer/MlThreeJsLayer.stories.tsx +0 -37
  415. package/src/components/MlThreeJsLayer/MlThreeJsLayer.test.js +0 -33
  416. package/src/components/MlThreeJsLayer/MlThreejsLayer.tsx +0 -228
  417. package/src/components/MlThreeJsLayer/lib/GLTFLoader.js +0 -3331
  418. package/src/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.doc.de.md +0 -3
  419. package/src/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.meta.json +0 -14
  420. package/src/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.stories.js +0 -52
  421. package/src/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.test.js +0 -20
  422. package/src/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.tsx +0 -107
  423. package/src/components/MlTransitionGeoJsonLayer/assets/sample_1.json +0 -26
  424. package/src/components/MlTransitionGeoJsonLayer/assets/sample_2.json +0 -22
  425. package/src/components/MlTransitionGeoJsonLayer/assets/sample_polygon_1.json +0 -33
  426. package/src/components/MlTransitionGeoJsonLayer/util/transitionFunctions.js +0 -221
  427. package/src/components/MlUseMapDebugger/MlUseMapDebugger.doc.de.md +0 -3
  428. package/src/components/MlUseMapDebugger/MlUseMapDebugger.js +0 -75
  429. package/src/components/MlUseMapDebugger/MlUseMapDebugger.meta_.json +0 -14
  430. package/src/components/MlUseMapDebugger/MlUseMapDebugger.stories.js +0 -30
  431. package/src/components/MlVectorTileLayer/MlVectorTileLayer.doc.de.md +0 -1
  432. package/src/components/MlVectorTileLayer/MlVectorTileLayer.doc.en.md +0 -1
  433. package/src/components/MlVectorTileLayer/MlVectorTileLayer.meta.json +0 -14
  434. package/src/components/MlVectorTileLayer/MlVectorTileLayer.stories.js +0 -52
  435. package/src/components/MlVectorTileLayer/MlVectorTileLayer.test.js +0 -40
  436. package/src/components/MlVectorTileLayer/MlVectorTileLayer.tsx +0 -144
  437. package/src/components/MlWmsFeatureInfoPopup/MlWmsFeatureInfoPopup.doc.de.md +0 -3
  438. package/src/components/MlWmsFeatureInfoPopup/MlWmsFeatureInfoPopup.js +0 -64
  439. package/src/components/MlWmsFeatureInfoPopup/MlWmsFeatureInfoPopup.meta_.json +0 -14
  440. package/src/components/MlWmsFeatureInfoPopup/MlWmsFeatureInfoPopup.stories.tsx +0 -22
  441. package/src/components/MlWmsLayer/MlWmsLayer.stories.js +0 -49
  442. package/src/components/MlWmsLayer/MlWmsLayer.test.js +0 -19
  443. package/src/components/MlWmsLayer/MlWmsLayer.tsx +0 -218
  444. package/src/components/MlWmsLoader/MlWmsLoader.doc.de.md +0 -1
  445. package/src/components/MlWmsLoader/MlWmsLoader.doc.en.md +0 -1
  446. package/src/components/MlWmsLoader/MlWmsLoader.meta.json +0 -14
  447. package/src/components/MlWmsLoader/MlWmsLoader.stories.tsx +0 -81
  448. package/src/components/MlWmsLoader/MlWmsLoader.tsx +0 -339
  449. package/src/components/MlWmsLoader/utils/MlWmsLoaderInstructions.tsx +0 -50
  450. package/src/components/MlWmsLoader/utils/WMSLinks.tsx +0 -128
  451. package/src/contexts/MapComponentsProvider.test.js +0 -260
  452. package/src/contexts/MapContext.tsx +0 -106
  453. package/src/contexts/SimpleDataContext.js +0 -6
  454. package/src/contexts/SimpleDataProvider.js +0 -64
  455. package/src/contexts/SimpleDataProvider.test.js +0 -68
  456. package/src/custom.d.ts +0 -4
  457. package/src/decorators/EmptyMapDecorator.js +0 -38
  458. package/src/decorators/MapContextDecorator.js +0 -39
  459. package/src/decorators/MapContextDecoratorHooks.js +0 -39
  460. package/src/decorators/MultiMapContextDecorator.js +0 -80
  461. package/src/decorators/NoNavToolsDecorator.js +0 -33
  462. package/src/decorators/ThemeDecorator.js +0 -24
  463. package/src/decorators/style.css +0 -34
  464. package/src/hooks/assets/pointWG.json +0 -13
  465. package/src/hooks/useCameraFollowPath/useCameraFollowPath.doc.de.md +0 -4
  466. package/src/hooks/useCameraFollowPath/useCameraFollowPath.doc.en.md +0 -1
  467. package/src/hooks/useCameraFollowPath/useCameraFollowPath.meta.json +0 -14
  468. package/src/hooks/useCameraFollowPath/useCameraFollowPath.stories.tsx +0 -192
  469. package/src/hooks/useCameraFollowPath/useCameraFollowPath.tsx +0 -192
  470. package/src/hooks/useExportMap/index.ts +0 -30
  471. package/src/hooks/useExportMap/lib.ts +0 -158
  472. package/src/hooks/useGpx/lib/gpxConverter.js +0 -521
  473. package/src/hooks/useGpx/useGpx.doc.de.md +0 -3
  474. package/src/hooks/useGpx/useGpx.meta_.json +0 -15
  475. package/src/hooks/useGpx/useGpx.stories.js +0 -20
  476. package/src/hooks/useGpx/useGpx.tsx +0 -70
  477. package/src/hooks/useLayer.test.js +0 -205
  478. package/src/hooks/useLayer.ts +0 -234
  479. package/src/hooks/useLayerEvent.js +0 -49
  480. package/src/hooks/useLayerFilter/useLayerFilter.doc.de.md +0 -3
  481. package/src/hooks/useLayerFilter/useLayerFilter.meta_.json +0 -14
  482. package/src/hooks/useLayerFilter/useLayerFilter.stories.tsx +0 -40
  483. package/src/hooks/useLayerFilter/useLayerFilter.ts +0 -33
  484. package/src/hooks/useLayerHoverPopup/useLayerHoverPopup.doc.de.md +0 -3
  485. package/src/hooks/useLayerHoverPopup/useLayerHoverPopup.meta_.json +0 -15
  486. package/src/hooks/useLayerHoverPopup/useLayerHoverPopup.stories.js +0 -20
  487. package/src/hooks/useLayerHoverPopup/useLayerHoverPopup.tsx +0 -83
  488. package/src/hooks/useMap.test.tsx +0 -48
  489. package/src/hooks/useMap.ts +0 -91
  490. package/src/hooks/useMapState.stories.js +0 -120
  491. package/src/hooks/useMapState.ts +0 -182
  492. package/src/hooks/useSource.ts +0 -84
  493. package/src/hooks/useSources.stories.js +0 -232
  494. package/src/hooks/useWms.ts +0 -104
  495. package/src/index.ts +0 -78
  496. package/src/setupTests.js +0 -113
  497. package/src/stories/components/Readme.js +0 -7
  498. package/src/ui_components/Dropzone.tsx +0 -104
  499. package/src/ui_components/ImageLoader.tsx +0 -83
  500. package/src/ui_components/LayerList/LayerList.stories.tsx +0 -136
  501. package/src/ui_components/LayerList/LayerList.tsx +0 -12
  502. package/src/ui_components/LayerList/LayerListFolder.tsx +0 -82
  503. package/src/ui_components/LayerList/LayerListItem.tsx +0 -180
  504. package/src/ui_components/LayerList/assets/sample_1.json +0 -26
  505. package/src/ui_components/LayerList/assets/sample_2.json +0 -22
  506. package/src/ui_components/LayerList/assets/sample_polygon_1.json +0 -33
  507. package/src/ui_components/LayerList/assets/style.json +0 -2599
  508. package/src/ui_components/LayerList/util/LayerListItemVectorLayer.tsx +0 -92
  509. package/src/ui_components/LayerList/util/LayerPropertyForm.tsx +0 -125
  510. package/src/ui_components/LayerList/util/input/ColorPicker.tsx +0 -44
  511. package/src/ui_components/LoadingOverlay.css +0 -9
  512. package/src/ui_components/LoadingOverlayContext.tsx +0 -79
  513. package/src/ui_components/MapcomponentsTheme.tsx +0 -133
  514. package/src/ui_components/Sidebar.tsx +0 -87
  515. package/src/ui_components/Tooltip.tsx +0 -17
  516. package/src/ui_components/TopToolbar.tsx +0 -24
  517. package/src/ui_components/UploadButton.tsx +0 -57
  518. package/src/util/BubbleForInstructions.js +0 -48
  519. package/src/util/Instructions.tsx +0 -60
  520. package/src/util/index.js +0 -4
  521. package/src/util/layerRemovalTest.js +0 -121
  522. package/src/util/sourceRemovalTest.js +0 -113
  523. package/tsconfig.json +0 -34
@@ -1,81 +0,0 @@
1
- import React, { useState} from 'react';
2
- import MlWmsLoader from './MlWmsLoader';
3
- import { Button, TextField, useMediaQuery } from '@mui/material';
4
- import mapContextDecorator from '../../decorators/MapContextDecorator';
5
- import Sidebar from '../../ui_components/Sidebar';
6
- import TopToolbar from '../../ui_components/TopToolbar';
7
- import MlWmsLoaderInstructions from './utils/MlWmsLoaderInstructions';
8
- import WMSLinks from './utils/WMSLinks';
9
-
10
- const storyoptions = {
11
- title: 'MapComponents/MlWmsLoader',
12
- component: MlWmsLoader,
13
- argTypes: {
14
- url: {},
15
- layer: {},
16
- },
17
- decorators: mapContextDecorator,
18
- };
19
- export default storyoptions;
20
-
21
- interface MlWmsLoaderStoryProps {
22
- url: string;
23
- }
24
-
25
- const Template = (props: MlWmsLoaderStoryProps) => {
26
- const [url, setUrl] = useState(props.url || "");
27
- const [demoMode, setDemoMode] = useState(false);
28
- const [guide, setGuide] = useState(false);
29
-
30
- const mediaIsMobile = useMediaQuery('(max-width:900px)');
31
-
32
- const openGuide = () => {
33
- setGuide(true);
34
- setTimeout(() => {
35
- setGuide(false);
36
- }, 5500);
37
- };
38
-
39
- const loader = (str: string) => {
40
- setUrl(str);
41
- setDemoMode(false);
42
- };
43
-
44
- return (
45
- <>
46
- <MlWmsLoaderInstructions open={guide} />
47
- <WMSLinks open={demoMode} close={() => setDemoMode(false)} load={loader} />
48
- <TopToolbar appBarStyle={{ zIndex: 1220 }}>
49
- <Button variant="contained" onClick={openGuide} sx={{ marginRight: '10px' }}>
50
- Guide me through
51
- </Button>
52
- <Button variant="contained" onClick={() => setDemoMode(!demoMode)}>
53
- Demo WMS
54
- </Button>
55
- </TopToolbar>
56
-
57
- {!mediaIsMobile || (mediaIsMobile && !demoMode) ? (
58
- <Sidebar
59
- drawerPaperProps={{ sx: { top: '64px', maxWidth: '20%', padding: '40px' } }}
60
- drawerButtonStyle={{ top: '65px' }}
61
- sx={{ wordBreak: 'break-word' }}
62
- >
63
- <TextField
64
- id="wms_text_field"
65
- label="WMS Url"
66
- variant="standard"
67
- value={url}
68
- onChange={(ev) => setUrl(ev.target.value)}
69
- />
70
- <MlWmsLoader mapId={'map_1'} url={url} />
71
- </Sidebar>
72
- ) : (
73
- <></>
74
- )}
75
- </>
76
- );
77
- };
78
-
79
- export const ExampleConfig = Template.bind({});
80
- ExampleConfig.parameters = {};
81
- ExampleConfig.args = {};
@@ -1,339 +0,0 @@
1
- import React, { useRef, useEffect, useContext, useCallback, useState, useMemo } from 'react';
2
-
3
- import MapContext, { MapContextType } from '../../contexts/MapContext';
4
- import { v4 as uuidv4 } from 'uuid';
5
-
6
- import MlWmsLayer from '../MlWmsLayer/MlWmsLayer';
7
- import MlMarker from '../MlMarker/MlMarker';
8
- import useWms, { useWmsProps } from '../../hooks/useWms';
9
-
10
- import VisibilityIcon from '@mui/icons-material/Visibility';
11
- import VisibilityOffIcon from '@mui/icons-material/VisibilityOff';
12
- import List from '@mui/material/List';
13
- import ListItem from '@mui/material/ListItem';
14
- import ListItemText from '@mui/material/ListItemText';
15
- import IconButton from '@mui/material/IconButton';
16
- import { LngLat, MapMouseEvent } from 'maplibre-gl';
17
- import MapLibreGlWrapper from '../MapLibreMap/lib/MapLibreGlWrapper';
18
- import { Layer2, Layer3 } from 'wms-capabilities';
19
- import { useWmsReturnType } from '../../hooks/useWms';
20
-
21
- const originShift = (2 * Math.PI * 6378137) / 2.0;
22
- const lngLatToMeters = function (lnglat: LngLat, accuracy = { enable: true, decimal: 1 }) {
23
- const lng = lnglat.lng;
24
- const lat = lnglat.lat;
25
- let x = (lng * originShift) / 180.0;
26
- let y = Math.log(Math.tan(((90 + lat) * Math.PI) / 360.0)) / (Math.PI / 180.0);
27
- y = (y * originShift) / 180.0;
28
- if (accuracy.enable) {
29
- x = Number(x.toFixed(accuracy.decimal));
30
- y = Number(y.toFixed(accuracy.decimal));
31
- }
32
- return [x, y];
33
- };
34
-
35
- export interface MlWmsLoaderProps {
36
- /**
37
- * WMS URL
38
- */
39
- url: string;
40
- /**
41
- * Id of the target MapLibre instance in mapContext
42
- */
43
- mapId: string;
44
- /**
45
- * URL parameters that will be used in the getCapabilities request
46
- */
47
- urlParameters?: useWmsProps['urlParameters'];
48
- /**
49
- * URL parameters that will be added when requesting WMS capabilities
50
- */
51
- wmsUrlParameters?: { [key: string]: string };
52
- lngLat?: LngLat;
53
- idPrefix?: string;
54
- }
55
-
56
- export type LayerType = {
57
- visible: boolean;
58
- Name: string;
59
- Attribution?: { Title: string };
60
- } & Omit<Layer2, 'Layer'> &
61
- Partial<Pick<Layer2, 'Layer'>>;
62
- /**
63
- * Loads a WMS getCapabilities xml document and adds a MlWmsLayer component for each layer that is
64
- * offered by the WMS.
65
- *
66
- * TODO: EaseTo the extend offered by the WMS in a zoom level that is supported
67
- *
68
- * @component
69
- */
70
- const MlWmsLoader = (props: MlWmsLoaderProps) => {
71
- // Use a useRef hook to reference the layer object to be able to access it later inside useEffect hooks
72
- const mapContext: MapContextType = useContext(MapContext);
73
- const { capabilities, error, setUrl, getFeatureInfoUrl, wmsUrl }: useWmsReturnType = useWms({
74
- urlParameters: props.urlParameters,
75
- });
76
-
77
- const initializedRef = useRef(false);
78
- const mapRef = useRef<MapLibreGlWrapper>();
79
- const componentId = useRef((props.idPrefix ? props.idPrefix : 'MlWmsLoader-') + uuidv4());
80
- const [layers, setLayers] = useState<Array<LayerType>>([]);
81
-
82
- const [featureInfoLngLat, setFeatureInfoLngLat] = useState<
83
- { lng: number; lat: number } | undefined
84
- >();
85
- const [featureInfoContent, setFeatureInfoContent] = useState<string | undefined>(undefined);
86
-
87
- useEffect(() => {
88
- const _componentId = componentId.current;
89
-
90
- return () => {
91
- // This is the cleanup function, it is called when this react component is removed from react-dom
92
- // try to remove anything this component has added to the MapLibre-gl instance
93
- // e.g.: remove the layer
94
- // mapContext.getMap(props.mapId).removeLayer(layerRef.current);
95
- // check for the existence of map.style before calling getLayer or getSource
96
-
97
- if (mapRef.current) {
98
- mapRef.current.cleanup(_componentId);
99
- mapRef.current = undefined;
100
- }
101
- initializedRef.current = false;
102
- };
103
- }, []);
104
-
105
- useEffect(() => {
106
- if (!initializedRef.current) return;
107
-
108
- setUrl(props.url);
109
- }, [props.url]);
110
-
111
- const attribution = useMemo(() => {
112
- return layers
113
- .filter((el) => el.visible && el?.Attribution?.Title)
114
- .map((el) => el?.Attribution?.Title)
115
- .filter((value, index, self) => self.indexOf(value) === index)
116
- .join(' ');
117
- }, [layers]);
118
-
119
- const getFeatureInfo = useCallback(
120
- // eslint-disable-next-line @typescript-eslint/ban-types
121
- (ev:(MapMouseEvent & Object)) => {
122
- if (!mapRef.current) return;
123
- setFeatureInfoLngLat(undefined);
124
- setFeatureInfoContent(undefined);
125
- const _bounds = mapRef.current.map.getBounds();
126
- const _sw = lngLatToMeters(_bounds._sw);
127
- const _ne = lngLatToMeters(_bounds._ne);
128
- const bbox = [_sw[0], _sw[1], _ne[0], _ne[1]];
129
- const _getFeatureInfoUrlParams = {
130
- REQUEST: 'GetFeatureInfo',
131
-
132
- BBOX: bbox.join(','),
133
- SERVICE: 'WMS',
134
- INFO_FORMAT:
135
- capabilities?.Capability?.Request?.GetFeatureInfo.Format.indexOf('text/html') !== -1
136
- ? 'text/html'
137
- : 'text/plain',
138
- FEATURE_COUNT: '10',
139
- LAYERS: layers
140
- .map((layer: LayerType) => (layer.visible && layer.queryable ? layer.Title : undefined))
141
- .filter((n) => n),
142
- QUERY_LAYERS: layers
143
- .map((layer: LayerType) => (layer.visible && layer.queryable ? layer.Title : undefined))
144
- .filter((n) => n),
145
- WIDTH: mapRef.current?.map._container.clientWidth,
146
- HEIGHT: mapRef.current?.map._container.clientHeight,
147
- srs: 'EPSG:3857',
148
- CRS: 'EPSG:3857',
149
- version: '1.3.0',
150
- X: ev.point.x,
151
- Y: ev.point.y,
152
- I: ev.point.x,
153
- J: ev.point.y,
154
- buffer: '50',
155
- };
156
-
157
- let _gfiUrl: string | undefined = getFeatureInfoUrl;
158
- let _gfiUrlParts;
159
- if (_gfiUrl?.indexOf?.('?') !== -1) {
160
- _gfiUrlParts = props.url.split('?');
161
- _gfiUrl = _gfiUrlParts[0];
162
- }
163
- const _urlParamsFromUrl = new URLSearchParams(_gfiUrlParts?.[1]);
164
-
165
- const urlParamsObj = {
166
- ...Object.fromEntries(_urlParamsFromUrl),
167
- ..._getFeatureInfoUrlParams,
168
- };
169
- // create URLSearchParams object to assemble the URL Parameters
170
- // "as any" can be removed once the URLSearchParams ts spec is fixed
171
- const urlParams = new URLSearchParams(urlParamsObj as unknown as Record<string, string>);
172
-
173
- fetch(props.url + '?' + urlParams.toString())
174
- .then((res) => {
175
- if (!res.ok) {
176
- throw new Error('FeatureInfo could not be fetched');
177
- }
178
- return res.text();
179
- })
180
- .then((text) => {
181
- setFeatureInfoLngLat(ev.lngLat);
182
- setFeatureInfoContent(text);
183
- })
184
- .catch((error) => console.log(error));
185
- },
186
- [capabilities, getFeatureInfoUrl]
187
- );
188
-
189
- useEffect(() => {
190
- if (!mapRef.current) return;
191
-
192
- const _getFeatureInfo = getFeatureInfo;
193
-
194
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
195
- // @ts-ignore: ts appears not to consider overloads
196
- mapRef.current.map.on('click', _getFeatureInfo, componentId.current);
197
- return () => {
198
- mapRef.current?.map.off?.('click', _getFeatureInfo);
199
- };
200
- }, [getFeatureInfo]);
201
-
202
- useEffect(() => {
203
- if (!capabilities?.Service) return;
204
-
205
- if (capabilities?.Capability?.Layer?.CRS?.indexOf?.('EPSG:3857') === -1) {
206
- console.log(
207
- 'MlWmsLoader (' + capabilities.Service.Title + '): No WGS 84/Pseudo-Mercator support'
208
- );
209
- } else {
210
- console.log(
211
- 'MlWmsLoader (' + capabilities.Service.Title + '): WGS 84/Pseudo-Mercator supported'
212
- );
213
-
214
- let _LatLonBoundingBox: Array<number> = [];
215
-
216
- // collect aueriable Layer2 layers
217
- let _layers: LayerType[] = capabilities?.Capability?.Layer?.Layer.filter(
218
- (el) => !el.Layer?.length
219
- ).map((layer: Layer2 & { Name: string }, idx: number) => {
220
- if (idx === 0) {
221
- _LatLonBoundingBox = layer.EX_GeographicBoundingBox;
222
- }
223
- return {
224
- visible: capabilities?.Capability?.Layer?.Layer?.length > 2 ? idx > 1 : true,
225
- Attribution: { Title: '' },
226
- ...layer,
227
- };
228
- });
229
-
230
- // collect aueriable Layer3 layers
231
- capabilities?.Capability?.Layer?.Layer.forEach((el) => {
232
- const tmpLayers = el?.Layer?.filter((el) => el.CRS.length).map(
233
- (layer: Layer3, idx: number) => {
234
- if (idx === 0) {
235
- _LatLonBoundingBox = layer.EX_GeographicBoundingBox;
236
- }
237
- return {
238
- visible: false,
239
- Attribution: { Title: '' },
240
- ...layer,
241
- };
242
- }
243
- );
244
-
245
- if (tmpLayers) {
246
- _layers = [..._layers, ...tmpLayers];
247
- }
248
- });
249
-
250
- setLayers(_layers);
251
-
252
- // zoom to extent of first layer
253
- if (mapRef.current && _LatLonBoundingBox.length > 3) {
254
- mapRef.current.map.fitBounds([
255
- [_LatLonBoundingBox[0], _LatLonBoundingBox[1]],
256
- [_LatLonBoundingBox[2], _LatLonBoundingBox[3]],
257
- ]);
258
- }
259
- }
260
- }, [capabilities]);
261
-
262
- useEffect(() => {
263
- if (!mapContext?.mapExists?.(props.mapId) || initializedRef.current) return;
264
- // the MapLibre-gl instance (mapContext.map) is accessible here
265
- // initialize the layer and add it to the MapLibre-gl instance or do something else with it
266
- initializedRef.current = true;
267
- mapRef.current = mapContext.getMap(props.mapId);
268
- setUrl(props.url);
269
- }, [mapContext.mapIds, mapContext, props.mapId, props.url]);
270
-
271
- return (
272
- <>
273
- {error && <p>{error}</p>}
274
- <h3 key="title">{capabilities?.Service?.Title}</h3>
275
- <List dense key="layers">
276
- {wmsUrl &&
277
- layers?.map?.((layer, idx) => {
278
- return layer?.Name ? (
279
- <ListItem
280
- key={layer.Name + idx}
281
- secondaryAction={
282
- <IconButton
283
- edge="end"
284
- aria-label="toggle visibility"
285
- onClick={() => {
286
- const _layers: Array<LayerType> = [...layers];
287
- _layers[idx].visible = !_layers[idx].visible;
288
- setLayers([..._layers]);
289
- }}
290
- >
291
- {layers[idx].visible ? <VisibilityIcon /> : <VisibilityOffIcon />}
292
- </IconButton>
293
- }
294
- >
295
- <ListItemText primary={layer?.Title} />
296
- </ListItem>
297
- ) : (
298
- <></>
299
- );
300
- })}
301
- </List>
302
- {wmsUrl && layers?.length && (
303
- <MlWmsLayer
304
- key={componentId.current}
305
- url={wmsUrl}
306
- attribution={attribution}
307
- urlParameters={{
308
- ...props.wmsUrlParameters,
309
- layers: layers
310
- ?.filter?.((layer) => layer.visible)
311
- .map((el) => el.Name)
312
- .reverse()
313
- .join(','),
314
- }}
315
- />
316
- )}
317
-
318
- <p key="description" style={{ fontSize: '.7em' }}>
319
- {capabilities?.Capability?.Layer?.['Abstract']}
320
- </p>
321
-
322
- {featureInfoLngLat && <MlMarker {...featureInfoLngLat} content={featureInfoContent} />}
323
- </>
324
- );
325
- };
326
-
327
- MlWmsLoader.defaultProps = {
328
- url: '',
329
- urlParameters: {
330
- SERVICE: 'WMS',
331
- VERSION: '1.3.0',
332
- REQUEST: 'GetCapabilities',
333
- },
334
- wmsUrlParameters: {
335
- TRANSPARENT: 'TRUE',
336
- },
337
- };
338
-
339
- export default MlWmsLoader;
@@ -1,50 +0,0 @@
1
- import React from 'react';
2
- import Instructions from '../../../util/Instructions';
3
-
4
- const steps = [
5
- {
6
- duration: 2500,
7
- props: {
8
- bubbleTop: '200px',
9
- bubbleLeft: '-180px',
10
- textMarginTop: '150px',
11
- textMarginLeft: '200px',
12
- iconTransform: 'rotate(90deg)',
13
- iconMarginTop: '-210px',
14
- iconMarginLeft: '200px',
15
- zIndex: 1210,
16
- },
17
- content: (
18
- <>
19
- Introduce an <br />
20
- WMS Service <br /> URL here
21
- </>
22
- ),
23
- },
24
- {
25
- duration: 3000,
26
- props: {
27
- bubbleLeft: '-40px',
28
- bubbleTop: '-150px',
29
- textMarginTop: '240px',
30
- textMarginLeft: '75px',
31
- iconTransform: 'rotate(90deg)',
32
- iconMarginTop: '-125px',
33
- iconMarginLeft: '280px',
34
- zIndex: 1210,
35
- },
36
- content: (
37
- <>
38
- In demo mode we <br /> provide you some <br /> WMS links <br /> to copy and use.
39
- </>
40
- ),
41
- },
42
- ];
43
-
44
- export default function MlWmsLoaderInstructions(props: { open: boolean }) {
45
- return (
46
- <>
47
- <Instructions steps={steps} open={props.open} />
48
- </>
49
- );
50
- }
@@ -1,128 +0,0 @@
1
- import React, { useEffect, useState } from 'react';
2
- import useMediaQuery from '@mui/material/useMediaQuery';
3
- import { Box, Typography, Button, Divider, TextField, Grid, Fade, Paper } from '@mui/material';
4
- import ContentCopyIcon from '@mui/icons-material/ContentCopy';
5
- import CloseIcon from '@mui/icons-material/Close';
6
-
7
-
8
- const modalStyle = {
9
- position: 'absolute',
10
- zIndex: 500,
11
- top: '55%',
12
- left: '80%',
13
- transform: 'translate(-50%, -50%)',
14
- width: '400px',
15
- height: '600px',
16
- boxShadow: 20,
17
- alignItems: 'center',
18
- padding: 0,
19
- opacity: 1,
20
- transition: 'opacity 1s',
21
- };
22
-
23
- const mobileStyle = {
24
- position: 'absolute',
25
- top: '10%',
26
- left: '20%',
27
- width: '60%',
28
- height: '70%',
29
- bgcolor: 'background.paper',
30
- boxShadow: 24,
31
- zIndex: 200,
32
- overflow: 'scroll',
33
- };
34
-
35
- const wmsServices = [
36
- {
37
- id: '1',
38
- title: 'HistOSM',
39
- description: 'Historic objects stored in the OpenStreetMap database',
40
- link: 'https://maps.heigit.org/histosm/wms',
41
- },
42
- {
43
- id: '2',
44
- title: 'MagOSM',
45
- description:
46
- 'MagOSM is a project of the company Magellium which offers services related to thematic data from OpenStreetMap. Currently these services are provided at the scale of metropolitan France. The data of the different services are updated daily.',
47
- link: 'https://magosm.magellium.com/geoserver/wms',
48
- },
49
- {
50
- id: '3',
51
- title: 'NRW_vdop',
52
- description:
53
- 'The WMS NW vDOP Geobasis North Rhine-Westphalia provides intermediate results from the production process of the digital orthophotos (DOP).',
54
- link: 'https://www.wms.nrw.de/geobasis/wms_nw_vdop',
55
- },
56
- ];
57
-
58
- export interface wmsLinksProps {
59
- load: (str: string) => void;
60
- open: boolean;
61
- close: () => void;
62
-
63
- }
64
-
65
- export default function WMSLinks(props: wmsLinksProps) {
66
- const mediaIsMobile = useMediaQuery('(max-width:900px)');
67
- const [selectedSample, setSelectedSample] = useState<string>();
68
-
69
- const Links = () => {
70
- return (
71
- <>
72
- {wmsServices.map((el) => (
73
- <Grid item xs={12} sx={{ marginTop: 5 }} key={el.id}>
74
- <Typography variant="h6">{el.title}</Typography>
75
- <Typography variant="body2">{el.description}</Typography>
76
- <TextField value={el.link} size="small"></TextField>
77
- <Button
78
- variant="contained"
79
- sx={{ marginTop: 0.2 }}
80
- onClick={() => {
81
- setSelectedSample(el.link);
82
- document.getElementById('wms_text_field')?.focus()
83
- }}
84
- >
85
- <ContentCopyIcon />
86
- </Button>
87
- <Divider sx={{ marginTop: '10px' }} />
88
- </Grid>
89
- ))}
90
- </>
91
- );
92
- };
93
-
94
- useEffect(() => {
95
- if (selectedSample) {
96
- props.load(selectedSample);
97
- }
98
- }, [selectedSample]);
99
-
100
- return (
101
- <>
102
- {props.open && (
103
- <Fade in={props.open} appear={false}>
104
- <Box sx={mediaIsMobile ? mobileStyle : modalStyle}>
105
- <Paper sx={{ padding: '20px' }}>
106
- <Grid container>
107
- <Grid item xs={10}>
108
- <Typography id="modal-modal-title" variant="h6">
109
- WMS Links
110
- </Typography>
111
- </Grid>
112
- <Grid item xs={2}>
113
- <Button onClick={props.close}>
114
- <CloseIcon sx={{ color: 'text.primary' }} />
115
- </Button>
116
- </Grid>
117
- </Grid>
118
- <Divider />
119
- <Grid container>
120
- <Links />
121
- </Grid>
122
- </Paper>
123
- </Box>
124
- </Fade>
125
- )}
126
- </>
127
- );
128
- }