@mapcomponents/react-maplibre 0.1.69 → 0.1.70

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 (522) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +3 -2
  3. package/dist/components/MlCreatePdfButton/MlCreatePdfButton.d.ts +3 -3
  4. package/dist/components/MlCreatePdfForm/MlCreatePdfForm.d.ts +7 -2
  5. package/dist/components/MlCreatePngButton/MlCreatePngButton.d.ts +22 -0
  6. package/dist/components/MlCreatePngButton/MlCreatePngButton.stories.d.ts +14 -0
  7. package/dist/components/MlGpxViewer/util/{MetadataDrawer.d.ts → Metadata.d.ts} +1 -2
  8. package/dist/components/MlGpxViewer/util/MlGpxDemoLoader.d.ts +1 -1
  9. package/dist/hooks/useExportMap/lib.d.ts +16 -1
  10. package/dist/index.d.ts +2 -0
  11. package/dist/index.esm.js +284 -276
  12. package/dist/index.esm.js.map +1 -1
  13. package/dist/ui_components/Sidebar.d.ts +5 -3
  14. package/dist/ui_components/TopToolbar.d.ts +8 -7
  15. package/package.json +1 -2
  16. package/.babelrc +0 -22
  17. package/.editorconfig +0 -19
  18. package/.eslintignore +0 -12
  19. package/.eslintrc.js +0 -30
  20. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -41
  21. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -22
  22. package/.github/workflows/check-catalogue-metadata-schema.yml +0 -19
  23. package/.github/workflows/check-formatting.yml +0 -46
  24. package/.github/workflows/node_version_test.yml +0 -26
  25. package/.github/workflows/publish.yml +0 -21
  26. package/.github/workflows/storybook.yml +0 -28
  27. package/.prettierignore +0 -11
  28. package/.prettierrc.json +0 -6
  29. package/.storybook/.babelrc +0 -26
  30. package/.storybook/main.js +0 -40
  31. package/.storybook/manager.js +0 -6
  32. package/.storybook/mapcomponents_logo.png +0 -0
  33. package/.storybook/preview.js +0 -33
  34. package/.storybook/style.css +0 -15
  35. package/.storybook/wheregroupTheme.js +0 -9
  36. package/config/env.js +0 -106
  37. package/config/jest/babelTransform.js +0 -29
  38. package/config/jest/cssTransform.js +0 -14
  39. package/config/jest/fileTransform.js +0 -40
  40. package/config/paths.js +0 -75
  41. package/coverage/clover.xml +0 -2018
  42. package/coverage/coverage-final.json +0 -60
  43. package/coverage/lcov-report/base.css +0 -224
  44. package/coverage/lcov-report/block-navigation.js +0 -87
  45. package/coverage/lcov-report/favicon.png +0 -0
  46. package/coverage/lcov-report/index.html +0 -731
  47. package/coverage/lcov-report/prettify.css +0 -1
  48. package/coverage/lcov-report/prettify.js +0 -2
  49. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  50. package/coverage/lcov-report/sorter.js +0 -196
  51. package/coverage/lcov-report/src/components/MapLibreMap/MapLibreMap.tsx.html +0 -466
  52. package/coverage/lcov-report/src/components/MapLibreMap/index.html +0 -116
  53. package/coverage/lcov-report/src/components/MlCenterPosition/MlCenterPosition.tsx.html +0 -322
  54. package/coverage/lcov-report/src/components/MlCenterPosition/index.html +0 -116
  55. package/coverage/lcov-report/src/components/MlCreatePdfButton/MlCreatePdfButton.tsx.html +0 -238
  56. package/coverage/lcov-report/src/components/MlCreatePdfButton/index.html +0 -116
  57. package/coverage/lcov-report/src/components/MlCreatePdfForm/MlCreatePdfForm.cy.tsx.html +0 -148
  58. package/coverage/lcov-report/src/components/MlCreatePdfForm/MlCreatePdfForm.tsx.html +0 -196
  59. package/coverage/lcov-report/src/components/MlCreatePdfForm/index.html +0 -131
  60. package/coverage/lcov-report/src/components/MlFeatureEditor/MlFeatureEditor.tsx.html +0 -535
  61. package/coverage/lcov-report/src/components/MlFeatureEditor/index.html +0 -116
  62. package/coverage/lcov-report/src/components/MlFillExtrusionLayer/MlFillExtrusionLayer.tsx.html +0 -340
  63. package/coverage/lcov-report/src/components/MlFillExtrusionLayer/index.html +0 -116
  64. package/coverage/lcov-report/src/components/MlFollowGps/MlFollowGps.tsx.html +0 -808
  65. package/coverage/lcov-report/src/components/MlFollowGps/index.html +0 -116
  66. package/coverage/lcov-report/src/components/MlGeoJsonLayer/MlGeoJsonLayer.tsx.html +0 -469
  67. package/coverage/lcov-report/src/components/MlGeoJsonLayer/index.html +0 -116
  68. package/coverage/lcov-report/src/components/MlGeoJsonLayer/story_utils/MlGeoJsonLayer.lineStyler.js.html +0 -652
  69. package/coverage/lcov-report/src/components/MlGeoJsonLayer/story_utils/MlGeoJsonLayer.polygonStyler.js.html +0 -649
  70. package/coverage/lcov-report/src/components/MlGeoJsonLayer/story_utils/MlGeojsonLayerCircleStyler.tsx.html +0 -112
  71. package/coverage/lcov-report/src/components/MlGeoJsonLayer/story_utils/MlGeojsonLayerHeatMapStyler.tsx.html +0 -115
  72. package/coverage/lcov-report/src/components/MlGeoJsonLayer/story_utils/index.html +0 -161
  73. package/coverage/lcov-report/src/components/MlGeojsonLayerWithSource/MlGeojsonLayerWithSource.tsx.html +0 -469
  74. package/coverage/lcov-report/src/components/MlGeojsonLayerWithSource/index.html +0 -116
  75. package/coverage/lcov-report/src/components/MlGpxViewer/MlGpxViewer.tsx.html +0 -394
  76. package/coverage/lcov-report/src/components/MlGpxViewer/index.html +0 -116
  77. package/coverage/lcov-report/src/components/MlImageMarkerLayer/MlImageMarkerLayer.tsx.html +0 -385
  78. package/coverage/lcov-report/src/components/MlImageMarkerLayer/index.html +0 -116
  79. package/coverage/lcov-report/src/components/MlLayer/MlLayer.tsx.html +0 -247
  80. package/coverage/lcov-report/src/components/MlLayer/index.html +0 -116
  81. package/coverage/lcov-report/src/components/MlLayerMagnify/MlLayerMagnify.tsx.html +0 -745
  82. package/coverage/lcov-report/src/components/MlLayerMagnify/index.html +0 -116
  83. package/coverage/lcov-report/src/components/MlLayerSwipe/MlLayerSwipe.tsx.html +0 -520
  84. package/coverage/lcov-report/src/components/MlLayerSwipe/index.html +0 -116
  85. package/coverage/lcov-report/src/components/MlLayerSwitcher/MlLayerSwitcher.js.html +0 -736
  86. package/coverage/lcov-report/src/components/MlLayerSwitcher/components/LayerBox.js.html +0 -316
  87. package/coverage/lcov-report/src/components/MlLayerSwitcher/components/index.html +0 -116
  88. package/coverage/lcov-report/src/components/MlLayerSwitcher/index.html +0 -116
  89. package/coverage/lcov-report/src/components/MlMarker/MlMarker.tsx.html +0 -505
  90. package/coverage/lcov-report/src/components/MlMarker/index.html +0 -116
  91. package/coverage/lcov-report/src/components/MlMeasureTool/MlMeasureTool.tsx.html +0 -265
  92. package/coverage/lcov-report/src/components/MlMeasureTool/index.html +0 -116
  93. package/coverage/lcov-report/src/components/MlNavigationCompass/MlNavigationCompass.tsx.html +0 -763
  94. package/coverage/lcov-report/src/components/MlNavigationCompass/index.html +0 -116
  95. package/coverage/lcov-report/src/components/MlNavigationTools/MlNavigationTools.tsx.html +0 -613
  96. package/coverage/lcov-report/src/components/MlNavigationTools/index.html +0 -116
  97. package/coverage/lcov-report/src/components/MlOsmLayer/MlOsmLayer.js.html +0 -298
  98. package/coverage/lcov-report/src/components/MlOsmLayer/MlOsmLayer.stories_.js.html +0 -232
  99. package/coverage/lcov-report/src/components/MlOsmLayer/index.html +0 -131
  100. package/coverage/lcov-report/src/components/MlScaleReference/MlScaleReference.tsx.html +0 -412
  101. package/coverage/lcov-report/src/components/MlScaleReference/index.html +0 -116
  102. package/coverage/lcov-report/src/components/MlShareMapState/MlShareMapState.tsx.html +0 -892
  103. package/coverage/lcov-report/src/components/MlShareMapState/index.html +0 -116
  104. package/coverage/lcov-report/src/components/MlSketchTool/LayerList/ColorPicker.tsx.html +0 -214
  105. package/coverage/lcov-report/src/components/MlSketchTool/LayerList/LayerList.tsx.html +0 -121
  106. package/coverage/lcov-report/src/components/MlSketchTool/LayerList/LayerListItem.tsx.html +0 -412
  107. package/coverage/lcov-report/src/components/MlSketchTool/LayerList/LayerPropertyForm.tsx.html +0 -463
  108. package/coverage/lcov-report/src/components/MlSketchTool/LayerList/index.html +0 -161
  109. package/coverage/lcov-report/src/components/MlSketchTool/MlSketchTool.tsx.html +0 -898
  110. package/coverage/lcov-report/src/components/MlSketchTool/index.html +0 -116
  111. package/coverage/lcov-report/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.tsx.html +0 -514
  112. package/coverage/lcov-report/src/components/MlSpatialElevationProfile/index.html +0 -116
  113. package/coverage/lcov-report/src/components/MlThreeJsLayer/MlThreeJsLayer.js.html +0 -703
  114. package/coverage/lcov-report/src/components/MlThreeJsLayer/MlThreejsLayer.tsx.html +0 -769
  115. package/coverage/lcov-report/src/components/MlThreeJsLayer/index.html +0 -131
  116. package/coverage/lcov-report/src/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.tsx.html +0 -406
  117. package/coverage/lcov-report/src/components/MlTransitionGeoJsonLayer/index.html +0 -116
  118. package/coverage/lcov-report/src/components/MlUseMapDebugger/MlUseMapDebugger.js.html +0 -310
  119. package/coverage/lcov-report/src/components/MlUseMapDebugger/index.html +0 -116
  120. package/coverage/lcov-report/src/components/MlVectorTileLayer/MlVectorTileLayer.tsx.html +0 -517
  121. package/coverage/lcov-report/src/components/MlVectorTileLayer/index.html +0 -116
  122. package/coverage/lcov-report/src/components/MlWmsFeatureInfoPopup/MlWmsFeatureInfoPopup.js.html +0 -277
  123. package/coverage/lcov-report/src/components/MlWmsFeatureInfoPopup/index.html +0 -116
  124. package/coverage/lcov-report/src/components/MlWmsLayer/MlWmsLayer.tsx.html +0 -739
  125. package/coverage/lcov-report/src/components/MlWmsLayer/index.html +0 -116
  126. package/coverage/lcov-report/src/components/MlWmsLoader/MlWmsLoader.tsx.html +0 -1102
  127. package/coverage/lcov-report/src/components/MlWmsLoader/index.html +0 -116
  128. package/coverage/lcov-report/src/contexts/MapContext.tsx.html +0 -403
  129. package/coverage/lcov-report/src/contexts/SimpleDataContext.js.html +0 -103
  130. package/coverage/lcov-report/src/contexts/SimpleDataProvider.js.html +0 -277
  131. package/coverage/lcov-report/src/contexts/index.html +0 -146
  132. package/coverage/lcov-report/src/hooks/index.html +0 -191
  133. package/coverage/lcov-report/src/hooks/useCameraFollowPath/index.html +0 -116
  134. package/coverage/lcov-report/src/hooks/useCameraFollowPath/useCameraFollowPath.tsx.html +0 -661
  135. package/coverage/lcov-report/src/hooks/useExportMap/index.html +0 -131
  136. package/coverage/lcov-report/src/hooks/useExportMap/index.ts.html +0 -175
  137. package/coverage/lcov-report/src/hooks/useExportMap/lib.ts.html +0 -559
  138. package/coverage/lcov-report/src/hooks/useGpx/index.html +0 -116
  139. package/coverage/lcov-report/src/hooks/useGpx/useGpx.tsx.html +0 -295
  140. package/coverage/lcov-report/src/hooks/useLayer.ts.html +0 -787
  141. package/coverage/lcov-report/src/hooks/useLayerEvent.js.html +0 -232
  142. package/coverage/lcov-report/src/hooks/useLayerFilter/index.html +0 -116
  143. package/coverage/lcov-report/src/hooks/useLayerFilter/useLayerFilter.ts.html +0 -184
  144. package/coverage/lcov-report/src/hooks/useLayerHoverPopup/index.html +0 -116
  145. package/coverage/lcov-report/src/hooks/useLayerHoverPopup/useLayerHoverPopup.tsx.html +0 -334
  146. package/coverage/lcov-report/src/hooks/useMap.ts.html +0 -358
  147. package/coverage/lcov-report/src/hooks/useMapState.ts.html +0 -631
  148. package/coverage/lcov-report/src/hooks/useSource.ts.html +0 -337
  149. package/coverage/lcov-report/src/hooks/useWms.ts.html +0 -397
  150. package/coverage/lcov-report/src/index.html +0 -116
  151. package/coverage/lcov-report/src/index.ts.html +0 -316
  152. package/coverage/lcov.info +0 -3987
  153. package/cypress/support/commands.ts +0 -37
  154. package/cypress/support/component-index.html +0 -12
  155. package/cypress/support/component.ts +0 -46
  156. package/cypress.config.ts +0 -101
  157. package/dist/components/MlCreatePdfButton/lib/createPdf.d.ts +0 -2
  158. package/dist/components/MlCreatePdfButton/lib/nominatimMap.d.ts +0 -2
  159. package/eslintErrorTest.js +0 -10
  160. package/public/assets/3D/godzilla_simple.glb +0 -0
  161. package/public/assets/dop.png +0 -0
  162. package/public/assets/historic.png +0 -0
  163. package/public/assets/marker.png +0 -0
  164. package/public/assets/osm.png +0 -0
  165. package/public/assets/sample.gpx +0 -716
  166. package/public/assets/sample1.gpx +0 -3003
  167. package/public/assets/sample2.gpx +0 -1264
  168. package/public/assets/sample3.gpx +0 -912
  169. package/public/assets/wg-marker.png +0 -0
  170. package/public/catalogue/.gitkeep +0 -0
  171. package/public/catalogue/mc_meta.json +0 -1
  172. package/public/favicon.ico +0 -0
  173. package/public/index.html +0 -39
  174. package/public/logo.png +0 -0
  175. package/public/manifest.json +0 -25
  176. package/public/robots.txt +0 -3
  177. package/public/thumbnails/MapLibreMap.png +0 -0
  178. package/public/thumbnails/MlCameraFollowPath.png +0 -0
  179. package/public/thumbnails/MlCreatePdfButton.png +0 -0
  180. package/public/thumbnails/MlCreatePdfForm.png +0 -0
  181. package/public/thumbnails/MlDeckGlLayer.png +0 -0
  182. package/public/thumbnails/MlDeckGlTerrainLayer.png +0 -0
  183. package/public/thumbnails/MlDemoDashboard.png +0 -0
  184. package/public/thumbnails/MlFeatureEditor.png +0 -0
  185. package/public/thumbnails/MlFillExtrusionLayer.png +0 -0
  186. package/public/thumbnails/MlFollowGps.png +0 -0
  187. package/public/thumbnails/MlGeoJsonLayer.png +0 -0
  188. package/public/thumbnails/MlGpxViewer.png +0 -0
  189. package/public/thumbnails/MlHillshadeLayer.png +0 -0
  190. package/public/thumbnails/MlIconLayer.png +0 -0
  191. package/public/thumbnails/MlLaermkarte.png +0 -0
  192. package/public/thumbnails/MlLayerMagnify.png +0 -0
  193. package/public/thumbnails/MlLayerSwipe.png +0 -0
  194. package/public/thumbnails/MlMapDrawTools.png +0 -0
  195. package/public/thumbnails/MlMeasureTool.png +0 -0
  196. package/public/thumbnails/MlMobilerImker.png +0 -0
  197. package/public/thumbnails/MlNavigationCompass.png +0 -0
  198. package/public/thumbnails/MlNavigationTools.png +0 -0
  199. package/public/thumbnails/MlOsmLayer.png +0 -0
  200. package/public/thumbnails/MlScaleReference.png +0 -0
  201. package/public/thumbnails/MlSketchTool.png +0 -0
  202. package/public/thumbnails/MlSpatialElevationProfile.png +0 -0
  203. package/public/thumbnails/MlThreeJsLayer.png +0 -0
  204. package/public/thumbnails/MlTransitionGeoJsonLayer.png +0 -0
  205. package/public/thumbnails/MlVectorTileLayer.png +0 -0
  206. package/public/thumbnails/MlWanderApp.png +0 -0
  207. package/public/thumbnails/MlWmsLayer.png +0 -0
  208. package/public/thumbnails/MlWmsLoader.png +0 -0
  209. package/public/thumbnails/useCameraFollowPath.png +0 -0
  210. package/rollup.config.js +0 -74
  211. package/scripts/build-catalogue-markdown-docs.js +0 -28
  212. package/scripts/build-catalogue-meta.js +0 -42
  213. package/scripts/create-map-component.sh +0 -36
  214. package/scripts/test.js +0 -53
  215. package/src/@types/assets/index.d.ts +0 -20
  216. package/src/App.css +0 -0
  217. package/src/components/MapLibreMap/MapLibreMap.stories.js +0 -106
  218. package/src/components/MapLibreMap/MapLibreMap.test.js +0 -84
  219. package/src/components/MapLibreMap/MapLibreMap.tsx +0 -127
  220. package/src/components/MapLibreMap/lib/MapLibreGlWrapper.test.js +0 -395
  221. package/src/components/MapLibreMap/lib/MapLibreGlWrapper.ts +0 -691
  222. package/src/components/MlBasicComponent.js +0 -39
  223. package/src/components/MlCenterPosition/MlCenterPosition.doc.de.md +0 -3
  224. package/src/components/MlCenterPosition/MlCenterPosition.meta_.json +0 -14
  225. package/src/components/MlCenterPosition/MlCenterPosition.stories.tsx +0 -20
  226. package/src/components/MlCenterPosition/MlCenterPosition.tsx +0 -79
  227. package/src/components/MlComponentTemplate/MlComponentTemplate.doc.de.md +0 -3
  228. package/src/components/MlComponentTemplate/MlComponentTemplate.meta_.json +0 -14
  229. package/src/components/MlComponentTemplate/MlComponentTemplate.stories.tsx +0 -20
  230. package/src/components/MlComponentTemplate/MlComponentTemplate.tsx +0 -42
  231. package/src/components/MlCreatePdfButton/MlCreatePdfButton.doc.de.md +0 -1
  232. package/src/components/MlCreatePdfButton/MlCreatePdfButton.doc.en.md +0 -1
  233. package/src/components/MlCreatePdfButton/MlCreatePdfButton.meta_.json +0 -14
  234. package/src/components/MlCreatePdfButton/MlCreatePdfButton.stories.tsx +0 -35
  235. package/src/components/MlCreatePdfButton/MlCreatePdfButton.tsx +0 -51
  236. package/src/components/MlCreatePdfButton/lib/createPdf.ts +0 -189
  237. package/src/components/MlCreatePdfButton/lib/nominatimMap.ts +0 -57
  238. package/src/components/MlCreatePdfForm/MlCreatePdfForm.cy.tsx +0 -21
  239. package/src/components/MlCreatePdfForm/MlCreatePdfForm.doc.de.md +0 -3
  240. package/src/components/MlCreatePdfForm/MlCreatePdfForm.meta.json +0 -14
  241. package/src/components/MlCreatePdfForm/MlCreatePdfForm.stories.tsx +0 -165
  242. package/src/components/MlCreatePdfForm/MlCreatePdfForm.tsx +0 -37
  243. package/src/components/MlCreatePdfForm/lib/PdfContext.tsx +0 -51
  244. package/src/components/MlCreatePdfForm/lib/PdfForm.tsx +0 -257
  245. package/src/components/MlCreatePdfForm/lib/PdfPreview.tsx +0 -327
  246. package/src/components/MlCreatePdfForm/lib/_PdfPreview.tsx +0 -399
  247. package/src/components/MlCreatePdfForm/lib/pdf.templates.ts +0 -82
  248. package/src/components/MlCreatePdfForm/lib/pdfContext.d.ts +0 -24
  249. package/src/components/MlCreatePdfForm/lib/preview.css +0 -114
  250. package/src/components/MlFeatureEditor/MlFeatureEditor.css +0 -0
  251. package/src/components/MlFeatureEditor/MlFeatureEditor.doc.de.md +0 -1
  252. package/src/components/MlFeatureEditor/MlFeatureEditor.doc.en.md +0 -1
  253. package/src/components/MlFeatureEditor/MlFeatureEditor.meta.json +0 -14
  254. package/src/components/MlFeatureEditor/MlFeatureEditor.stories.js +0 -91
  255. package/src/components/MlFeatureEditor/MlFeatureEditor.test.js +0 -126
  256. package/src/components/MlFeatureEditor/MlFeatureEditor.tsx +0 -150
  257. package/src/components/MlFeatureEditor/custom-direct-select-mode.js +0 -303
  258. package/src/components/MlFeatureEditor/custom-polygon-mode.js +0 -188
  259. package/src/components/MlFeatureEditor/custom-select-mode.js +0 -406
  260. package/src/components/MlFeatureEditor/lib/LICENSE.md +0 -18
  261. package/src/components/MlFeatureEditor/lib/common_selectors.js +0 -72
  262. package/src/components/MlFeatureEditor/lib/constants.js +0 -104
  263. package/src/components/MlFeatureEditor/lib/constrain_feature_movement.js +0 -72
  264. package/src/components/MlFeatureEditor/lib/create_midpoint.js +0 -42
  265. package/src/components/MlFeatureEditor/lib/create_supplementary_points.js +0 -102
  266. package/src/components/MlFeatureEditor/lib/create_vertex.js +0 -35
  267. package/src/components/MlFeatureEditor/lib/double_click_zoom.js +0 -30
  268. package/src/components/MlFeatureEditor/lib/euclidean_distance.js +0 -9
  269. package/src/components/MlFeatureEditor/lib/features_at.js +0 -52
  270. package/src/components/MlFeatureEditor/lib/get_features_and_set_cursor.js +0 -28
  271. package/src/components/MlFeatureEditor/lib/is_click.js +0 -22
  272. package/src/components/MlFeatureEditor/lib/is_event_at_coordinates.js +0 -10
  273. package/src/components/MlFeatureEditor/lib/is_tap.js +0 -19
  274. package/src/components/MlFeatureEditor/lib/map_event_to_bounding_box.js +0 -18
  275. package/src/components/MlFeatureEditor/lib/mode_handler.js +0 -120
  276. package/src/components/MlFeatureEditor/lib/mouse_event_point.js +0 -23
  277. package/src/components/MlFeatureEditor/lib/move_features.js +0 -47
  278. package/src/components/MlFeatureEditor/lib/sort_features.js +0 -45
  279. package/src/components/MlFeatureEditor/lib/string_set.js +0 -59
  280. package/src/components/MlFeatureEditor/lib/string_sets_are_equal.js +0 -8
  281. package/src/components/MlFeatureEditor/lib/theme.js +0 -236
  282. package/src/components/MlFeatureEditor/lib/to_dense_array.js +0 -15
  283. package/src/components/MlFeatureEditor/lib/utils.js +0 -51
  284. package/src/components/MlFillExtrusionLayer/MlFillExtrusionLayer.doc.de.md +0 -1
  285. package/src/components/MlFillExtrusionLayer/MlFillExtrusionLayer.doc.en.md +0 -1
  286. package/src/components/MlFillExtrusionLayer/MlFillExtrusionLayer.meta.json +0 -14
  287. package/src/components/MlFillExtrusionLayer/MlFillExtrusionLayer.stories.js +0 -24
  288. package/src/components/MlFillExtrusionLayer/MlFillExtrusionLayer.test.js +0 -15
  289. package/src/components/MlFillExtrusionLayer/MlFillExtrusionLayer.tsx +0 -85
  290. package/src/components/MlFollowGps/MlFollowGps.doc.de.md +0 -1
  291. package/src/components/MlFollowGps/MlFollowGps.doc.en.md +0 -1
  292. package/src/components/MlFollowGps/MlFollowGps.meta.json +0 -14
  293. package/src/components/MlFollowGps/MlFollowGps.stories.js +0 -40
  294. package/src/components/MlFollowGps/MlFollowGps.test.js +0 -63
  295. package/src/components/MlFollowGps/MlFollowGps.tsx +0 -241
  296. package/src/components/MlGeoJsonLayer/MlGeoJsonLayer.doc.de.md +0 -1
  297. package/src/components/MlGeoJsonLayer/MlGeoJsonLayer.doc.en.md +0 -1
  298. package/src/components/MlGeoJsonLayer/MlGeoJsonLayer.meta.json +0 -14
  299. package/src/components/MlGeoJsonLayer/MlGeoJsonLayer.stories.tsx +0 -191
  300. package/src/components/MlGeoJsonLayer/MlGeoJsonLayer.test.js +0 -20
  301. package/src/components/MlGeoJsonLayer/MlGeoJsonLayer.tsx +0 -128
  302. package/src/components/MlGeoJsonLayer/assets/earthquake.json +0 -109937
  303. package/src/components/MlGeoJsonLayer/assets/sample_1.json +0 -140
  304. package/src/components/MlGeoJsonLayer/assets/sample_2.json +0 -142
  305. package/src/components/MlGeoJsonLayer/assets/sample_polygon_1.json +0 -33
  306. package/src/components/MlGeoJsonLayer/assets/wg_locations.json +0 -65
  307. package/src/components/MlGeoJsonLayer/story_utils/MlGeoJsonLayer.lineStyler.js +0 -189
  308. package/src/components/MlGeoJsonLayer/story_utils/MlGeoJsonLayer.polygonStyler.js +0 -188
  309. package/src/components/MlGeoJsonLayer/story_utils/MlGeojsonLayerCircleStyler.tsx +0 -9
  310. package/src/components/MlGeoJsonLayer/story_utils/MlGeojsonLayerHeatMapStyler.tsx +0 -10
  311. package/src/components/MlGeoJsonLayer/util/getDefaultLayerTypeByGeometry.ts +0 -31
  312. package/src/components/MlGeoJsonLayer/util/getDefaultPaintPropsByType.ts +0 -37
  313. package/src/components/MlGeojsonLayerWithSource/MlGeojsonLayerWithSource.doc.de.md +0 -3
  314. package/src/components/MlGeojsonLayerWithSource/MlGeojsonLayerWithSource.meta_.json +0 -14
  315. package/src/components/MlGeojsonLayerWithSource/MlGeojsonLayerWithSource.stories.tsx +0 -19
  316. package/src/components/MlGeojsonLayerWithSource/MlGeojsonLayerWithSource.tsx +0 -128
  317. package/src/components/MlGpxViewer/MlGpxViewer.doc.de.md +0 -1
  318. package/src/components/MlGpxViewer/MlGpxViewer.doc.en.md +0 -1
  319. package/src/components/MlGpxViewer/MlGpxViewer.meta.json +0 -14
  320. package/src/components/MlGpxViewer/MlGpxViewer.stories.tsx +0 -100
  321. package/src/components/MlGpxViewer/MlGpxViewer.test.js +0 -53
  322. package/src/components/MlGpxViewer/MlGpxViewer.tsx +0 -103
  323. package/src/components/MlGpxViewer/util/GeoJsonContext.ts +0 -13
  324. package/src/components/MlGpxViewer/util/GeoJsonProvider.tsx +0 -25
  325. package/src/components/MlGpxViewer/util/MetadataDrawer.tsx +0 -38
  326. package/src/components/MlGpxViewer/util/MlGpxDemoLoader.tsx +0 -130
  327. package/src/components/MlGpxViewer/util/MlGpxViewerInstructions.tsx +0 -71
  328. package/src/components/MlImageMarkerLayer/MlImageMarkerLayer.doc.de.md +0 -3
  329. package/src/components/MlImageMarkerLayer/MlImageMarkerLayer.meta_.json +0 -14
  330. package/src/components/MlImageMarkerLayer/MlImageMarkerLayer.stories.tsx +0 -41
  331. package/src/components/MlImageMarkerLayer/MlImageMarkerLayer.test.js +0 -38
  332. package/src/components/MlImageMarkerLayer/MlImageMarkerLayer.tsx +0 -100
  333. package/src/components/MlLayer/MlLayer.doc.de.md +0 -3
  334. package/src/components/MlLayer/MlLayer.meta_.json +0 -14
  335. package/src/components/MlLayer/MlLayer.test.js +0 -117
  336. package/src/components/MlLayer/MlLayer.tsx +0 -54
  337. package/src/components/MlLayerMagnify/MlLayerMagnify.doc.de.md +0 -1
  338. package/src/components/MlLayerMagnify/MlLayerMagnify.doc.en.md +0 -1
  339. package/src/components/MlLayerMagnify/MlLayerMagnify.meta.json +0 -14
  340. package/src/components/MlLayerMagnify/MlLayerMagnify.stories.tsx +0 -44
  341. package/src/components/MlLayerMagnify/MlLayerMagnify.test.tsx +0 -83
  342. package/src/components/MlLayerMagnify/MlLayerMagnify.tsx +0 -220
  343. package/src/components/MlLayerMagnify/style.css +0 -48
  344. package/src/components/MlLayerSwipe/MlLayerSwipe.doc.de.md +0 -1
  345. package/src/components/MlLayerSwipe/MlLayerSwipe.doc.en.md +0 -1
  346. package/src/components/MlLayerSwipe/MlLayerSwipe.meta.json +0 -14
  347. package/src/components/MlLayerSwipe/MlLayerSwipe.stories.tsx +0 -36
  348. package/src/components/MlLayerSwipe/MlLayerSwipe.test.js +0 -86
  349. package/src/components/MlLayerSwipe/MlLayerSwipe.tsx +0 -145
  350. package/src/components/MlLayerSwipe/style.css +0 -48
  351. package/src/components/MlLayerSwitcher/MlLayerSwitcher.css +0 -17
  352. package/src/components/MlLayerSwitcher/MlLayerSwitcher.doc.de.md +0 -3
  353. package/src/components/MlLayerSwitcher/MlLayerSwitcher.js +0 -217
  354. package/src/components/MlLayerSwitcher/MlLayerSwitcher.meta_.json +0 -14
  355. package/src/components/MlLayerSwitcher/MlLayerSwitcher.stories.js +0 -103
  356. package/src/components/MlLayerSwitcher/assets/sample_1.json +0 -26
  357. package/src/components/MlLayerSwitcher/assets/sample_2.json +0 -22
  358. package/src/components/MlLayerSwitcher/components/LayerBox.js +0 -77
  359. package/src/components/MlMarker/MlMarker.doc.de.md +0 -3
  360. package/src/components/MlMarker/MlMarker.meta_.json +0 -14
  361. package/src/components/MlMarker/MlMarker.stories.js +0 -22
  362. package/src/components/MlMarker/MlMarker.tsx +0 -140
  363. package/src/components/MlMeasureTool/MlMeasureTool.doc.de.md +0 -3
  364. package/src/components/MlMeasureTool/MlMeasureTool.meta.json +0 -14
  365. package/src/components/MlMeasureTool/MlMeasureTool.stories.js +0 -96
  366. package/src/components/MlMeasureTool/MlMeasureTool.tsx +0 -60
  367. package/src/components/MlNavigationCompass/MlNavigationCompass.doc.de.md +0 -1
  368. package/src/components/MlNavigationCompass/MlNavigationCompass.doc.en.md +0 -1
  369. package/src/components/MlNavigationCompass/MlNavigationCompass.meta.json +0 -14
  370. package/src/components/MlNavigationCompass/MlNavigationCompass.stories.js +0 -63
  371. package/src/components/MlNavigationCompass/MlNavigationCompass.test.js +0 -68
  372. package/src/components/MlNavigationCompass/MlNavigationCompass.tsx +0 -226
  373. package/src/components/MlNavigationCompass/assets/needle.svg +0 -17
  374. package/src/components/MlNavigationCompass/assets/needle__.svg +0 -19
  375. package/src/components/MlNavigationCompass/assets/rotate_left.svg +0 -13
  376. package/src/components/MlNavigationCompass/assets/rotate_right.svg +0 -15
  377. package/src/components/MlNavigationTools/MlNavigationTools.doc.de.md +0 -1
  378. package/src/components/MlNavigationTools/MlNavigationTools.doc.en.md +0 -1
  379. package/src/components/MlNavigationTools/MlNavigationTools.meta.json +0 -14
  380. package/src/components/MlNavigationTools/MlNavigationTools.stories.js +0 -64
  381. package/src/components/MlNavigationTools/MlNavigationTools.tsx +0 -176
  382. package/src/components/MlOsmLayer/MlOsmLayer.js +0 -71
  383. package/src/components/MlOsmLayer/MlOsmLayer.stories_.js +0 -49
  384. package/src/components/MlOsmLayer/MlOsmLayer.test.js +0 -19
  385. package/src/components/MlScaleReference/MlScaleReference.doc.de.md +0 -1
  386. package/src/components/MlScaleReference/MlScaleReference.doc.en.md +0 -1
  387. package/src/components/MlScaleReference/MlScaleReference.meta.json +0 -14
  388. package/src/components/MlScaleReference/MlScaleReference.stories.js +0 -51
  389. package/src/components/MlScaleReference/MlScaleReference.tsx +0 -109
  390. package/src/components/MlShareMapState/MlShareMapState.doc.de.md +0 -3
  391. package/src/components/MlShareMapState/MlShareMapState.meta_.json +0 -14
  392. package/src/components/MlShareMapState/MlShareMapState.stories.tsx +0 -100
  393. package/src/components/MlShareMapState/MlShareMapState.tsx +0 -269
  394. package/src/components/MlSketchTool/LayerList/ColorPicker.tsx +0 -43
  395. package/src/components/MlSketchTool/LayerList/LayerList.tsx +0 -12
  396. package/src/components/MlSketchTool/LayerList/LayerListItem.tsx +0 -109
  397. package/src/components/MlSketchTool/LayerList/LayerPropertyForm.tsx +0 -126
  398. package/src/components/MlSketchTool/MlSketchTool.doc.de.md +0 -3
  399. package/src/components/MlSketchTool/MlSketchTool.meta.json +0 -14
  400. package/src/components/MlSketchTool/MlSketchTool.stories.tsx +0 -26
  401. package/src/components/MlSketchTool/MlSketchTool.tsx +0 -271
  402. package/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.doc.de.md +0 -1
  403. package/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.doc.en.md +0 -1
  404. package/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.meta.json +0 -14
  405. package/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.stories.tsx +0 -121
  406. package/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.test.js +0 -48
  407. package/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.tsx +0 -143
  408. package/src/components/MlSpatialElevationProfile/util/getElevationData.tsx +0 -103
  409. package/src/components/MlThreeJsLayer/MlThreeJsLayer.doc.de.md +0 -1
  410. package/src/components/MlThreeJsLayer/MlThreeJsLayer.doc.en.md +0 -1
  411. package/src/components/MlThreeJsLayer/MlThreeJsLayer.js +0 -207
  412. package/src/components/MlThreeJsLayer/MlThreeJsLayer.meta.json +0 -14
  413. package/src/components/MlThreeJsLayer/MlThreeJsLayer.stories.tsx +0 -37
  414. package/src/components/MlThreeJsLayer/MlThreeJsLayer.test.js +0 -33
  415. package/src/components/MlThreeJsLayer/MlThreejsLayer.tsx +0 -228
  416. package/src/components/MlThreeJsLayer/lib/GLTFLoader.js +0 -3331
  417. package/src/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.doc.de.md +0 -3
  418. package/src/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.meta.json +0 -14
  419. package/src/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.stories.js +0 -52
  420. package/src/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.test.js +0 -20
  421. package/src/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.tsx +0 -107
  422. package/src/components/MlTransitionGeoJsonLayer/assets/sample_1.json +0 -26
  423. package/src/components/MlTransitionGeoJsonLayer/assets/sample_2.json +0 -22
  424. package/src/components/MlTransitionGeoJsonLayer/assets/sample_polygon_1.json +0 -33
  425. package/src/components/MlTransitionGeoJsonLayer/util/transitionFunctions.js +0 -221
  426. package/src/components/MlUseMapDebugger/MlUseMapDebugger.doc.de.md +0 -3
  427. package/src/components/MlUseMapDebugger/MlUseMapDebugger.js +0 -75
  428. package/src/components/MlUseMapDebugger/MlUseMapDebugger.meta_.json +0 -14
  429. package/src/components/MlUseMapDebugger/MlUseMapDebugger.stories.js +0 -30
  430. package/src/components/MlVectorTileLayer/MlVectorTileLayer.doc.de.md +0 -1
  431. package/src/components/MlVectorTileLayer/MlVectorTileLayer.doc.en.md +0 -1
  432. package/src/components/MlVectorTileLayer/MlVectorTileLayer.meta.json +0 -14
  433. package/src/components/MlVectorTileLayer/MlVectorTileLayer.stories.js +0 -52
  434. package/src/components/MlVectorTileLayer/MlVectorTileLayer.test.js +0 -40
  435. package/src/components/MlVectorTileLayer/MlVectorTileLayer.tsx +0 -144
  436. package/src/components/MlWmsFeatureInfoPopup/MlWmsFeatureInfoPopup.doc.de.md +0 -3
  437. package/src/components/MlWmsFeatureInfoPopup/MlWmsFeatureInfoPopup.js +0 -64
  438. package/src/components/MlWmsFeatureInfoPopup/MlWmsFeatureInfoPopup.meta_.json +0 -14
  439. package/src/components/MlWmsFeatureInfoPopup/MlWmsFeatureInfoPopup.stories.tsx +0 -22
  440. package/src/components/MlWmsLayer/MlWmsLayer.stories.js +0 -49
  441. package/src/components/MlWmsLayer/MlWmsLayer.test.js +0 -19
  442. package/src/components/MlWmsLayer/MlWmsLayer.tsx +0 -218
  443. package/src/components/MlWmsLoader/MlWmsLoader.doc.de.md +0 -1
  444. package/src/components/MlWmsLoader/MlWmsLoader.doc.en.md +0 -1
  445. package/src/components/MlWmsLoader/MlWmsLoader.meta.json +0 -14
  446. package/src/components/MlWmsLoader/MlWmsLoader.stories.tsx +0 -81
  447. package/src/components/MlWmsLoader/MlWmsLoader.tsx +0 -339
  448. package/src/components/MlWmsLoader/utils/MlWmsLoaderInstructions.tsx +0 -50
  449. package/src/components/MlWmsLoader/utils/WMSLinks.tsx +0 -128
  450. package/src/contexts/MapComponentsProvider.test.js +0 -260
  451. package/src/contexts/MapContext.tsx +0 -106
  452. package/src/contexts/SimpleDataContext.js +0 -6
  453. package/src/contexts/SimpleDataProvider.js +0 -64
  454. package/src/contexts/SimpleDataProvider.test.js +0 -68
  455. package/src/custom.d.ts +0 -4
  456. package/src/decorators/EmptyMapDecorator.js +0 -38
  457. package/src/decorators/MapContextDecorator.js +0 -39
  458. package/src/decorators/MapContextDecoratorHooks.js +0 -39
  459. package/src/decorators/MultiMapContextDecorator.js +0 -80
  460. package/src/decorators/NoNavToolsDecorator.js +0 -33
  461. package/src/decorators/ThemeDecorator.js +0 -24
  462. package/src/decorators/style.css +0 -34
  463. package/src/hooks/assets/pointWG.json +0 -13
  464. package/src/hooks/useCameraFollowPath/useCameraFollowPath.doc.de.md +0 -4
  465. package/src/hooks/useCameraFollowPath/useCameraFollowPath.doc.en.md +0 -1
  466. package/src/hooks/useCameraFollowPath/useCameraFollowPath.meta.json +0 -14
  467. package/src/hooks/useCameraFollowPath/useCameraFollowPath.stories.tsx +0 -192
  468. package/src/hooks/useCameraFollowPath/useCameraFollowPath.tsx +0 -192
  469. package/src/hooks/useExportMap/index.ts +0 -30
  470. package/src/hooks/useExportMap/lib.ts +0 -158
  471. package/src/hooks/useGpx/lib/gpxConverter.js +0 -521
  472. package/src/hooks/useGpx/useGpx.doc.de.md +0 -3
  473. package/src/hooks/useGpx/useGpx.meta_.json +0 -15
  474. package/src/hooks/useGpx/useGpx.stories.js +0 -20
  475. package/src/hooks/useGpx/useGpx.tsx +0 -70
  476. package/src/hooks/useLayer.test.js +0 -205
  477. package/src/hooks/useLayer.ts +0 -234
  478. package/src/hooks/useLayerEvent.js +0 -49
  479. package/src/hooks/useLayerFilter/useLayerFilter.doc.de.md +0 -3
  480. package/src/hooks/useLayerFilter/useLayerFilter.meta_.json +0 -14
  481. package/src/hooks/useLayerFilter/useLayerFilter.stories.tsx +0 -40
  482. package/src/hooks/useLayerFilter/useLayerFilter.ts +0 -33
  483. package/src/hooks/useLayerHoverPopup/useLayerHoverPopup.doc.de.md +0 -3
  484. package/src/hooks/useLayerHoverPopup/useLayerHoverPopup.meta_.json +0 -15
  485. package/src/hooks/useLayerHoverPopup/useLayerHoverPopup.stories.js +0 -20
  486. package/src/hooks/useLayerHoverPopup/useLayerHoverPopup.tsx +0 -83
  487. package/src/hooks/useMap.test.tsx +0 -48
  488. package/src/hooks/useMap.ts +0 -91
  489. package/src/hooks/useMapState.stories.js +0 -120
  490. package/src/hooks/useMapState.ts +0 -182
  491. package/src/hooks/useSource.ts +0 -84
  492. package/src/hooks/useSources.stories.js +0 -232
  493. package/src/hooks/useWms.ts +0 -104
  494. package/src/index.ts +0 -78
  495. package/src/setupTests.js +0 -113
  496. package/src/stories/components/Readme.js +0 -7
  497. package/src/ui_components/Dropzone.tsx +0 -104
  498. package/src/ui_components/ImageLoader.tsx +0 -83
  499. package/src/ui_components/LayerList/LayerList.stories.tsx +0 -136
  500. package/src/ui_components/LayerList/LayerList.tsx +0 -12
  501. package/src/ui_components/LayerList/LayerListFolder.tsx +0 -82
  502. package/src/ui_components/LayerList/LayerListItem.tsx +0 -180
  503. package/src/ui_components/LayerList/assets/sample_1.json +0 -26
  504. package/src/ui_components/LayerList/assets/sample_2.json +0 -22
  505. package/src/ui_components/LayerList/assets/sample_polygon_1.json +0 -33
  506. package/src/ui_components/LayerList/assets/style.json +0 -2599
  507. package/src/ui_components/LayerList/util/LayerListItemVectorLayer.tsx +0 -92
  508. package/src/ui_components/LayerList/util/LayerPropertyForm.tsx +0 -125
  509. package/src/ui_components/LayerList/util/input/ColorPicker.tsx +0 -44
  510. package/src/ui_components/LoadingOverlay.css +0 -9
  511. package/src/ui_components/LoadingOverlayContext.tsx +0 -79
  512. package/src/ui_components/MapcomponentsTheme.tsx +0 -133
  513. package/src/ui_components/Sidebar.tsx +0 -87
  514. package/src/ui_components/Tooltip.tsx +0 -17
  515. package/src/ui_components/TopToolbar.tsx +0 -24
  516. package/src/ui_components/UploadButton.tsx +0 -57
  517. package/src/util/BubbleForInstructions.js +0 -48
  518. package/src/util/Instructions.tsx +0 -60
  519. package/src/util/index.js +0 -4
  520. package/src/util/layerRemovalTest.js +0 -121
  521. package/src/util/sourceRemovalTest.js +0 -113
  522. 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
- }