@mapcomponents/react-maplibre 0.1.34 → 0.1.35
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.
- package/.babelrc +3 -0
- package/.github/workflows/storybook.yml +1 -1
- package/.storybook/.babelrc +26 -0
- package/.storybook/main.js +15 -1
- package/.storybook/mapcomponents_logo.png +0 -0
- package/CHANGELOG.md +6 -1
- package/config/env.js +106 -0
- package/config/getHttpsConfig.js +66 -0
- package/config/jest/babelTransform.js +29 -0
- package/config/jest/cssTransform.js +14 -0
- package/config/jest/fileTransform.js +40 -0
- package/config/modules.js +134 -0
- package/config/paths.js +75 -0
- package/config/pnpTs.js +35 -0
- package/config/webpack.config.js +757 -0
- package/config/webpackDevServer.config.js +130 -0
- package/coverage/clover.xml +822 -900
- package/coverage/coverage-final.json +23 -24
- package/coverage/lcov-report/index.html +135 -150
- package/coverage/lcov-report/src/components/MapLibreMap/{MapLibreMap.js.html → MapLibreMap.tsx.html} +77 -68
- package/coverage/lcov-report/src/components/MapLibreMap/index.html +6 -6
- package/coverage/lcov-report/src/components/MlCreatePdfButton/{MlCreatePdfButton.js.html → MlCreatePdfButton.tsx.html} +40 -43
- package/coverage/lcov-report/src/components/MlCreatePdfButton/index.html +10 -10
- package/coverage/lcov-report/src/components/MlFeatureEditor/{MlFeatureEditor.js.html → MlFeatureEditor.tsx.html} +145 -85
- package/coverage/lcov-report/src/components/MlFeatureEditor/index.html +21 -21
- package/coverage/lcov-report/src/components/{MlImageMarkerLayer/MlImageMarkerLayer.js.html → MlFillExtrusionLayer/MlFillExtrusionLayer.tsx.html} +141 -111
- package/coverage/lcov-report/src/components/MlFillExtrusionLayer/index.html +20 -20
- package/coverage/lcov-report/src/components/MlFollowGps/{MlFollowGps.js.html → MlFollowGps.tsx.html} +177 -138
- package/coverage/lcov-report/src/components/MlFollowGps/index.html +15 -15
- package/coverage/lcov-report/src/components/MlGPXViewer/{MlGPXViewer.js.html → MlGPXViewer.tsx.html} +134 -80
- package/coverage/lcov-report/src/components/MlGPXViewer/gpxConverter.js.html +1 -1
- package/coverage/lcov-report/src/components/MlGPXViewer/index.html +16 -16
- package/coverage/lcov-report/src/components/{MlLayer/MlLayer.js.html → MlGeoJsonLayer/MlGeoJsonLayer.tsx.html} +151 -154
- package/coverage/lcov-report/src/components/MlGeoJsonLayer/index.html +19 -19
- package/coverage/lcov-report/src/components/{MlFillExtrusionLayer/MlFillExtrusionLayer.js.html → MlImageMarkerLayer/MlImageMarkerLayer.tsx.html} +151 -223
- package/coverage/lcov-report/src/components/MlImageMarkerLayer/index.html +16 -16
- package/coverage/lcov-report/src/components/MlLayer/MlLayer.tsx.html +229 -0
- package/coverage/lcov-report/src/components/MlLayer/index.html +21 -21
- package/coverage/lcov-report/src/components/MlLayerMagnify/{MlLayerMagnify.js.html → MlLayerMagnify.tsx.html} +134 -77
- package/coverage/lcov-report/src/components/MlLayerMagnify/index.html +20 -20
- package/coverage/lcov-report/src/components/MlLayerSwipe/{MlLayerSwipe.js.html → MlLayerSwipe.tsx.html} +83 -41
- package/coverage/lcov-report/src/components/MlLayerSwipe/index.html +2 -2
- package/coverage/lcov-report/src/components/MlLayerSwitcher/MlLayerSwitcher.js.html +3 -15
- package/coverage/lcov-report/src/components/MlLayerSwitcher/components/LayerBox.js.html +1 -1
- package/coverage/lcov-report/src/components/MlLayerSwitcher/components/index.html +1 -1
- package/coverage/lcov-report/src/components/MlLayerSwitcher/index.html +1 -1
- package/coverage/lcov-report/src/components/MlMarker/{MlMarker.js.html → MlMarker.tsx.html} +89 -137
- package/coverage/lcov-report/src/components/MlMarker/index.html +10 -10
- package/coverage/lcov-report/src/components/MlNavigationCompass/{MlNavigationCompass.js.html → MlNavigationCompass.tsx.html} +76 -25
- package/coverage/lcov-report/src/components/MlNavigationCompass/index.html +17 -17
- package/coverage/lcov-report/src/components/MlNavigationTools/{MlNavigationTools.js.html → MlNavigationTools.tsx.html} +67 -52
- package/coverage/lcov-report/src/components/MlNavigationTools/index.html +10 -10
- package/coverage/lcov-report/src/components/MlOsmLayer/MlOsmLayer.js.html +1 -1
- package/coverage/lcov-report/src/components/MlOsmLayer/index.html +1 -1
- package/coverage/lcov-report/src/components/MlScaleReference/MlScaleReference.js.html +1 -1
- package/coverage/lcov-report/src/components/MlScaleReference/index.html +1 -1
- package/coverage/lcov-report/src/components/MlShareMapState/MlShareMapState.js.html +1 -1
- package/coverage/lcov-report/src/components/MlShareMapState/index.html +1 -1
- package/coverage/lcov-report/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.js.html +3 -3
- package/coverage/lcov-report/src/components/MlSpatialElevationProfile/index.html +1 -1
- package/coverage/lcov-report/src/components/MlThreeJsLayer/MlThreeJsLayer.js.html +5 -5
- package/coverage/lcov-report/src/components/MlThreeJsLayer/index.html +1 -1
- package/coverage/lcov-report/src/components/MlTransitionGeoJsonLayer/{MlTransitionGeoJsonLayer.js.html → MlTransitionGeoJsonLayer.tsx.html} +127 -118
- package/coverage/lcov-report/src/components/MlTransitionGeoJsonLayer/index.html +11 -11
- package/coverage/lcov-report/src/components/MlUseMapDebugger/MlUseMapDebugger.js.html +1 -1
- package/coverage/lcov-report/src/components/MlUseMapDebugger/index.html +1 -1
- package/coverage/lcov-report/src/components/MlVectorTileLayer/{MlVectorTileLayer.js.html → MlVectorTileLayer.tsx.html} +59 -11
- package/coverage/lcov-report/src/components/MlVectorTileLayer/index.html +2 -2
- package/coverage/lcov-report/src/components/MlWmsFeatureInfoPopup/MlWmsFeatureInfoPopup.js.html +1 -1
- package/coverage/lcov-report/src/components/MlWmsFeatureInfoPopup/index.html +1 -1
- package/coverage/lcov-report/src/components/MlWmsLayer/{MlWmsLayer.js.html → MlWmsLayer.tsx.html} +56 -11
- package/coverage/lcov-report/src/components/MlWmsLayer/index.html +2 -2
- package/coverage/lcov-report/src/components/MlWmsLoader/{MlWmsLoader.js.html → MlWmsLoader.tsx.html} +102 -78
- package/coverage/lcov-report/src/components/MlWmsLoader/index.html +8 -8
- package/coverage/lcov-report/src/hooks/index.html +44 -29
- package/coverage/lcov-report/src/{components/MlGeoJsonLayer/MlGeoJsonLayer.js.html → hooks/useLayer.ts.html} +328 -184
- package/coverage/lcov-report/src/hooks/{useMap.js.html → useMap.ts.html} +140 -50
- package/coverage/lcov-report/src/hooks/{useMapState.js.html → useMapState.ts.html} +166 -61
- package/coverage/lcov-report/src/hooks/useWms.js.html +1 -1
- package/coverage/lcov-report/src/index.html +15 -15
- package/coverage/lcov-report/src/{i18n.js.html → index.ts.html} +50 -32
- package/coverage/lcov.info +1540 -1669
- package/dist/index.esm.css +195 -0
- package/dist/index.esm.js +17049 -4280
- package/dist/index.esm.js.map +1 -1
- package/docs-build/0.d0c23b79.iframe.bundle.js +2 -0
- package/docs-build/0.d0c23b79.iframe.bundle.js.map +1 -0
- package/docs-build/0.fd1aa3ea21956d993519.manager.bundle.js +1 -0
- package/docs-build/1.34075652.iframe.bundle.js +10 -0
- package/docs-build/1.34075652.iframe.bundle.js.map +1 -0
- package/docs-build/16.ca488dae.iframe.bundle.js +2 -0
- package/docs-build/16.ca488dae.iframe.bundle.js.map +1 -0
- package/docs-build/17.e40eac7f.iframe.bundle.js +17 -0
- package/docs-build/17.e40eac7f.iframe.bundle.js.map +1 -0
- package/docs-build/18.62af0912.iframe.bundle.js +14 -0
- package/docs-build/18.62af0912.iframe.bundle.js.map +1 -0
- package/docs-build/19.0a217189.iframe.bundle.js +2 -0
- package/docs-build/19.0a217189.iframe.bundle.js.map +1 -0
- package/docs-build/2.f15ae19a.iframe.bundle.js +2 -0
- package/docs-build/2.f15ae19a.iframe.bundle.js.map +1 -0
- package/docs-build/20.4c43e27c.iframe.bundle.js +4 -0
- package/docs-build/20.4c43e27c.iframe.bundle.js.map +1 -0
- package/docs-build/21.19c21085.iframe.bundle.js +22 -0
- package/docs-build/21.19c21085.iframe.bundle.js.map +1 -0
- package/docs-build/3.5dd9e88b.iframe.bundle.js +2 -0
- package/docs-build/3.5dd9e88b.iframe.bundle.js.map +1 -0
- package/docs-build/4.f741dafe1833630ec8bf.manager.bundle.js +2 -0
- package/docs-build/4.f741dafe1833630ec8bf.manager.bundle.js.LICENSE.txt +8 -0
- package/docs-build/5.d4de191e7daeefb036ca.manager.bundle.js +1 -0
- package/docs-build/6.2b178c5444648ee5c0fa.manager.bundle.js +2 -0
- package/docs-build/6.2b178c5444648ee5c0fa.manager.bundle.js.LICENSE.txt +12 -0
- package/docs-build/7.7c16aea8ec7ea6e91994.manager.bundle.js +1 -0
- package/docs-build/8.52fa838fdf937b29676a.manager.bundle.js +1 -0
- package/docs-build/assets/dop.png +0 -0
- package/docs-build/assets/historic.png +0 -0
- package/docs-build/assets/marker.png +0 -0
- package/docs-build/assets/osm.png +0 -0
- package/docs-build/assets/sample.gpx +716 -0
- package/docs-build/{.gitkeep → catalogue/.gitkeep} +0 -0
- package/docs-build/catalogue/mc_meta.json +1 -0
- package/docs-build/favicon.ico +0 -0
- package/docs-build/iframe.html +348 -0
- package/docs-build/index.html +59 -0
- package/docs-build/logo.png +0 -0
- package/docs-build/main.8a7ec710ea1c16b5e13f.manager.bundle.js +1 -0
- package/docs-build/main~24120820.ba6665a8.iframe.bundle.js +2 -0
- package/docs-build/main~24120820.ba6665a8.iframe.bundle.js.map +1 -0
- package/docs-build/manifest.json +25 -0
- package/docs-build/robots.txt +3 -0
- package/docs-build/runtime~main.67aa1de2d72f40a81164.manager.bundle.js +1 -0
- package/docs-build/static/media/mapcomponents_logo.98b01a05.png +0 -0
- package/docs-build/static/media/wg-marker.bf3eeb2d.png +0 -0
- package/docs-build/stories.json +331 -0
- package/docs-build/thumbnails/MapLibreMap.png +0 -0
- package/docs-build/thumbnails/MlCameraFollowPath.png +0 -0
- package/docs-build/thumbnails/MlCreatePdfButton.png +0 -0
- package/docs-build/thumbnails/MlDeckGlLayer.png +0 -0
- package/docs-build/thumbnails/MlDeckGlTerrainLayer.png +0 -0
- package/docs-build/thumbnails/MlDemoDashboard.png +0 -0
- package/docs-build/thumbnails/MlFeatureEditor.png +0 -0
- package/docs-build/thumbnails/MlFillExtrusionLayer.png +0 -0
- package/docs-build/thumbnails/MlFollowGps.png +0 -0
- package/docs-build/thumbnails/MlGPXViewer.png +0 -0
- package/docs-build/thumbnails/MlGeoJsonLayer.png +0 -0
- package/docs-build/thumbnails/MlHillshadeLayer.png +0 -0
- package/docs-build/thumbnails/MlIconLayer.png +0 -0
- package/docs-build/thumbnails/MlLaermkarte.png +0 -0
- package/docs-build/thumbnails/MlLayerMagnify.png +0 -0
- package/docs-build/thumbnails/MlLayerSwipe.png +0 -0
- package/docs-build/thumbnails/MlMapDrawTools.png +0 -0
- package/docs-build/thumbnails/MlMobilerImker.png +0 -0
- package/docs-build/thumbnails/MlNavigationCompass.png +0 -0
- package/docs-build/thumbnails/MlNavigationTools.png +0 -0
- package/docs-build/thumbnails/MlOsmLayer.png +0 -0
- package/docs-build/thumbnails/MlScaleReference.png +0 -0
- package/docs-build/thumbnails/MlSpatialElevationProfile.png +0 -0
- package/docs-build/thumbnails/MlThreeJsLayer.png +0 -0
- package/docs-build/thumbnails/MlTransitionGeoJsonLayer.png +0 -0
- package/docs-build/thumbnails/MlVectorTileLayer.png +0 -0
- package/docs-build/thumbnails/MlWanderApp.png +0 -0
- package/docs-build/thumbnails/MlWmsLayer.png +0 -0
- package/docs-build/thumbnails/MlWmsLoader.png +0 -0
- package/docs-build/vendors~main.351900838c49e9200954.manager.bundle.js +2 -0
- package/docs-build/vendors~main.351900838c49e9200954.manager.bundle.js.LICENSE.txt +101 -0
- package/docs-build/vendors~main~0ad7406a.a6abfed7.iframe.bundle.js +8 -0
- package/docs-build/vendors~main~0ad7406a.a6abfed7.iframe.bundle.js.map +1 -0
- package/docs-build/vendors~main~0f485567.1d7a15b7.iframe.bundle.js +2 -0
- package/docs-build/vendors~main~0f485567.1d7a15b7.iframe.bundle.js.map +1 -0
- package/docs-build/vendors~main~41a6ab2c.525ecc56.iframe.bundle.js +2 -0
- package/docs-build/vendors~main~41a6ab2c.525ecc56.iframe.bundle.js.map +1 -0
- package/docs-build/vendors~main~52589227.1d1558cd.iframe.bundle.js +8 -0
- package/docs-build/vendors~main~52589227.1d1558cd.iframe.bundle.js.map +1 -0
- package/docs-build/vendors~main~73914085.227c6747.iframe.bundle.js +293 -0
- package/docs-build/vendors~main~73914085.227c6747.iframe.bundle.js.map +1 -0
- package/docs-build/vendors~main~9c5b28f6.f02cc741.iframe.bundle.js +7 -0
- package/docs-build/vendors~main~9c5b28f6.f02cc741.iframe.bundle.js.map +1 -0
- package/docs-build/vendors~main~b5906859.4083ac60.iframe.bundle.js +21 -0
- package/docs-build/vendors~main~b5906859.4083ac60.iframe.bundle.js.map +1 -0
- package/docs-build/vendors~main~b8f44717.7a612c34.iframe.bundle.js +89 -0
- package/docs-build/vendors~main~b8f44717.7a612c34.iframe.bundle.js.map +1 -0
- package/docs-build/vendors~main~b9cf3951.45da142d.iframe.bundle.js +68 -0
- package/docs-build/vendors~main~b9cf3951.45da142d.iframe.bundle.js.map +1 -0
- package/docs-build/vendors~main~d939e436.92c27fbf.iframe.bundle.js +2 -0
- package/docs-build/vendors~main~d939e436.92c27fbf.iframe.bundle.js.map +1 -0
- package/docs-build/vendors~main~dab50aa4.b0d58038.iframe.bundle.js +107 -0
- package/docs-build/vendors~main~dab50aa4.b0d58038.iframe.bundle.js.map +1 -0
- package/package.json +132 -115
- package/public/favicon.ico +0 -0
- package/public/logo.png +0 -0
- package/rollup.config.js +26 -3
- package/scripts/start.js +166 -0
- package/scripts/test.js +53 -0
- package/src/components/MapLibreMap/MapLibreMap.stories.js +14 -5
- package/src/components/MapLibreMap/MapLibreMap.test.js +1 -1
- package/src/components/MapLibreMap/{MapLibreMap.js → MapLibreMap.tsx} +40 -37
- package/src/components/MapLibreMap/lib/MapLibreGlWrapper.test.js +3 -3
- package/src/components/MapLibreMap/lib/MapLibreGlWrapper.ts +636 -0
- package/src/components/MlComponentTemplate/MlComponentTemplate.stories.js +0 -2
- package/src/components/MlComponentTemplate/MlComponentTemplate.tsx +42 -0
- package/src/components/MlCreatePdfButton/MlCreatePdfButton.stories.js +0 -5
- package/src/components/MlCreatePdfButton/MlCreatePdfButton.tsx +51 -0
- package/src/components/MlCreatePdfButton/lib/{createPdf.js → createPdf.ts} +26 -23
- package/src/components/MlCreatePdfButton/lib/{nominatimMap.js → nominatimMap.ts} +3 -3
- package/src/components/MlFeatureEditor/MlFeatureEditor.tsx +139 -0
- package/src/components/MlFeatureEditor/custom-direct-select-mode.js +12 -8
- package/src/components/MlFeatureEditor/custom-polygon-mode.js +9 -5
- package/src/components/MlFeatureEditor/custom-select-mode.js +11 -7
- package/src/components/MlFeatureEditor/lib/LICENSE.md +18 -0
- package/src/components/MlFeatureEditor/lib/common_selectors.js +4 -0
- package/src/components/MlFeatureEditor/lib/constants.js +4 -0
- package/src/components/MlFeatureEditor/lib/constrain_feature_movement.js +4 -0
- package/src/components/MlFeatureEditor/lib/create_midpoint.js +4 -0
- package/src/components/MlFeatureEditor/lib/create_supplementary_points.js +4 -0
- package/src/components/MlFeatureEditor/lib/create_vertex.js +4 -0
- package/src/components/MlFeatureEditor/lib/double_click_zoom.js +4 -0
- package/src/components/MlFeatureEditor/lib/euclidean_distance.js +4 -0
- package/src/components/MlFeatureEditor/lib/features_at.js +4 -0
- package/src/components/MlFeatureEditor/lib/get_features_and_set_cursor.js +4 -0
- package/src/components/MlFeatureEditor/lib/is_click.js +4 -0
- package/src/components/MlFeatureEditor/lib/is_event_at_coordinates.js +4 -0
- package/src/components/MlFeatureEditor/lib/is_tap.js +4 -0
- package/src/components/MlFeatureEditor/lib/map_event_to_bounding_box.js +4 -0
- package/src/components/MlFeatureEditor/lib/mode_handler.js +4 -0
- package/src/components/MlFeatureEditor/lib/mouse_event_point.js +4 -0
- package/src/components/MlFeatureEditor/lib/move_features.js +4 -0
- package/src/components/MlFeatureEditor/lib/sort_features.js +4 -0
- package/src/components/MlFeatureEditor/lib/string_set.js +4 -0
- package/src/components/MlFeatureEditor/lib/string_sets_are_equal.js +4 -0
- package/src/components/MlFeatureEditor/lib/theme.js +4 -0
- package/src/components/MlFeatureEditor/lib/to_dense_array.js +4 -0
- package/src/components/MlFeatureEditor/lib/utils.js +4 -0
- package/src/components/MlFillExtrusionLayer/MlFillExtrusionLayer.stories.js +6 -11
- package/src/components/MlFillExtrusionLayer/MlFillExtrusionLayer.tsx +85 -0
- package/src/components/MlFollowGps/MlFollowGps.stories.js +0 -2
- package/src/components/MlFollowGps/{MlFollowGps.js → MlFollowGps.tsx} +99 -86
- package/src/components/MlGPXViewer/{MlGPXViewer.js → MlGPXViewer.tsx} +68 -50
- package/src/components/MlGPXViewer/util/GeoJsonContext.ts +13 -0
- package/src/components/MlGPXViewer/util/{GeoJsonProvider.js → GeoJsonProvider.tsx} +3 -7
- package/src/components/MlGeoJsonLayer/MlGeoJsonLayer.stories.js +8 -3
- package/src/components/MlGeoJsonLayer/MlGeoJsonLayer.tsx +106 -0
- package/src/components/MlGeoJsonLayer/util/{getDefaultLayerTypeByGeometry.js → getDefaultLayerTypeByGeometry.ts} +6 -1
- package/src/components/MlGeoJsonLayer/util/{getDefaultPaintPropsByType.js → getDefaultPaintPropsByType.ts} +1 -1
- package/src/components/MlImageMarkerLayer/MlImageMarkerLayer.stories.js +1 -4
- package/src/components/MlImageMarkerLayer/MlImageMarkerLayer.tsx +129 -0
- package/src/components/MlLayer/MlLayer.stories.js +0 -2
- package/src/components/MlLayer/MlLayer.tsx +48 -0
- package/src/components/MlLayerMagnify/MlLayerMagnify.stories.js +3 -3
- package/src/components/MlLayerMagnify/{MlLayerMagnify.js → MlLayerMagnify.tsx} +62 -43
- package/src/components/MlLayerSwipe/MlLayerSwipe.stories.js +0 -2
- package/src/components/MlLayerSwipe/{MlLayerSwipe.js → MlLayerSwipe.tsx} +38 -24
- package/src/components/MlLayerSwitcher/MlLayerSwitcher.js +0 -4
- package/src/components/MlMarker/MlMarker.tsx +140 -0
- package/src/components/MlNavigationCompass/{MlNavigationCompass.js → MlNavigationCompass.tsx} +27 -10
- package/src/components/MlNavigationTools/{MlNavigationTools.js → MlNavigationTools.tsx} +37 -32
- package/src/components/MlTransitionGeoJsonLayer/{MlTransitionGeoJsonLayer.js → MlTransitionGeoJsonLayer.tsx} +76 -73
- package/src/components/MlVectorTileLayer/{MlVectorTileLayer.js → MlVectorTileLayer.tsx} +23 -7
- package/src/components/MlWmsLayer/{MlWmsLayer.js → MlWmsLayer.tsx} +22 -7
- package/src/components/MlWmsLoader/{MlWmsLoader.js → MlWmsLoader.tsx} +55 -47
- package/src/custom.d.tsx +26 -0
- package/src/hooks/useLayer.ts +221 -0
- package/src/hooks/{useMap.js → useMap.ts} +48 -17
- package/src/hooks/{useMapState.js → useMapState.ts} +42 -7
- package/src/{index.js → index.ts} +15 -8
- package/tsconfig.json +18 -24
- package/.env +0 -1
- package/.storybook/main.bck.js +0 -56
- package/babel.config.json +0 -4
- package/coverage/lcov-report/src/translations/english.js.html +0 -94
- package/coverage/lcov-report/src/translations/german.js.html +0 -94
- package/coverage/lcov-report/src/translations/index.html +0 -131
- package/jest.config.json +0 -16
- package/jsdoc.json +0 -21
- package/public/assets/3D/posttower.gltf +0 -103
- package/public/assets/3D/posttower_simple.gltf +0 -103
- package/public/assets/3D/posttower_wh.gltf.glb +0 -0
- package/public/bee.png +0 -0
- package/public/logo192.png +0 -0
- package/public/logo512.png +0 -0
- package/src/components/MapLibreMap/lib/MapLibreGlWrapper.js +0 -528
- package/src/components/MlComponentTemplate/MlComponentTemplate.js +0 -39
- package/src/components/MlCreatePdfButton/MlCreatePdfButton.js +0 -52
- package/src/components/MlFeatureEditor/MlFeatureEditor.js +0 -119
- package/src/components/MlFillExtrusionLayer/MlFillExtrusionLayer.js +0 -153
- package/src/components/MlGPXViewer/util/GeoJsonContext.js +0 -6
- package/src/components/MlGeoJsonLayer/MlGeoJsonLayer.js +0 -173
- package/src/components/MlImageMarkerLayer/MlImageMarkerLayer.js +0 -75
- package/src/components/MlLayer/MlLayer.js +0 -107
- package/src/components/MlLayerMagnify/utils/compareMagnify.js +0 -173
- package/src/components/MlLayerSwipe/utils/swipeCompare.js +0 -220
- package/src/components/MlMarker/MlMarker.js +0 -156
- package/src/components/index.js +0 -6
- package/src/i18n.js +0 -28
- package/src/react-app-env.d.ts +0 -1
- package/src/stories/IntroductionCore.stories.mdx +0 -3
- package/src/stories/assets/code-brackets.svg +0 -1
- package/src/stories/assets/colors.svg +0 -1
- package/src/stories/assets/comments.svg +0 -1
- package/src/stories/assets/direction.svg +0 -1
- package/src/stories/assets/flow.svg +0 -1
- package/src/stories/assets/plugin.svg +0 -1
- package/src/stories/assets/repo.svg +0 -1
- package/src/stories/assets/stackalt.svg +0 -1
- package/src/stories/components/ComponentTeaser.js +0 -64
- package/src/translations/english.js +0 -4
- package/src/translations/german.js +0 -4
package/coverage/lcov-report/src/components/MlGPXViewer/{MlGPXViewer.js.html → MlGPXViewer.tsx.html}
RENAMED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<html lang="en">
|
|
4
4
|
|
|
5
5
|
<head>
|
|
6
|
-
<title>Code coverage report for src/components/MlGPXViewer/MlGPXViewer.
|
|
6
|
+
<title>Code coverage report for src/components/MlGPXViewer/MlGPXViewer.tsx</title>
|
|
7
7
|
<meta charset="utf-8" />
|
|
8
8
|
<link rel="stylesheet" href="../../../prettify.css" />
|
|
9
9
|
<link rel="stylesheet" href="../../../base.css" />
|
|
@@ -19,20 +19,20 @@
|
|
|
19
19
|
<body>
|
|
20
20
|
<div class='wrapper'>
|
|
21
21
|
<div class='pad1'>
|
|
22
|
-
<h1><a href="../../../index.html">All files</a> / <a href="index.html">src/components/MlGPXViewer</a> MlGPXViewer.
|
|
22
|
+
<h1><a href="../../../index.html">All files</a> / <a href="index.html">src/components/MlGPXViewer</a> MlGPXViewer.tsx</h1>
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">40.31% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>52/
|
|
28
|
+
<span class='fraction'>52/129</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">15.9% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>7/44</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
@@ -44,9 +44,9 @@
|
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">47
|
|
47
|
+
<span class="strong">43.47% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>50/
|
|
49
|
+
<span class='fraction'>50/115</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -422,7 +422,43 @@
|
|
|
422
422
|
<a name='L357'></a><a href='#L357'>357</a>
|
|
423
423
|
<a name='L358'></a><a href='#L358'>358</a>
|
|
424
424
|
<a name='L359'></a><a href='#L359'>359</a>
|
|
425
|
-
<a name='L360'></a><a href='#L360'>360</a
|
|
425
|
+
<a name='L360'></a><a href='#L360'>360</a>
|
|
426
|
+
<a name='L361'></a><a href='#L361'>361</a>
|
|
427
|
+
<a name='L362'></a><a href='#L362'>362</a>
|
|
428
|
+
<a name='L363'></a><a href='#L363'>363</a>
|
|
429
|
+
<a name='L364'></a><a href='#L364'>364</a>
|
|
430
|
+
<a name='L365'></a><a href='#L365'>365</a>
|
|
431
|
+
<a name='L366'></a><a href='#L366'>366</a>
|
|
432
|
+
<a name='L367'></a><a href='#L367'>367</a>
|
|
433
|
+
<a name='L368'></a><a href='#L368'>368</a>
|
|
434
|
+
<a name='L369'></a><a href='#L369'>369</a>
|
|
435
|
+
<a name='L370'></a><a href='#L370'>370</a>
|
|
436
|
+
<a name='L371'></a><a href='#L371'>371</a>
|
|
437
|
+
<a name='L372'></a><a href='#L372'>372</a>
|
|
438
|
+
<a name='L373'></a><a href='#L373'>373</a>
|
|
439
|
+
<a name='L374'></a><a href='#L374'>374</a>
|
|
440
|
+
<a name='L375'></a><a href='#L375'>375</a>
|
|
441
|
+
<a name='L376'></a><a href='#L376'>376</a>
|
|
442
|
+
<a name='L377'></a><a href='#L377'>377</a>
|
|
443
|
+
<a name='L378'></a><a href='#L378'>378</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
444
|
+
<span class="cline-any cline-neutral"> </span>
|
|
445
|
+
<span class="cline-any cline-neutral"> </span>
|
|
446
|
+
<span class="cline-any cline-neutral"> </span>
|
|
447
|
+
<span class="cline-any cline-neutral"> </span>
|
|
448
|
+
<span class="cline-any cline-neutral"> </span>
|
|
449
|
+
<span class="cline-any cline-neutral"> </span>
|
|
450
|
+
<span class="cline-any cline-neutral"> </span>
|
|
451
|
+
<span class="cline-any cline-neutral"> </span>
|
|
452
|
+
<span class="cline-any cline-neutral"> </span>
|
|
453
|
+
<span class="cline-any cline-neutral"> </span>
|
|
454
|
+
<span class="cline-any cline-neutral"> </span>
|
|
455
|
+
<span class="cline-any cline-neutral"> </span>
|
|
456
|
+
<span class="cline-any cline-neutral"> </span>
|
|
457
|
+
<span class="cline-any cline-neutral"> </span>
|
|
458
|
+
<span class="cline-any cline-neutral"> </span>
|
|
459
|
+
<span class="cline-any cline-neutral"> </span>
|
|
460
|
+
<span class="cline-any cline-neutral"> </span>
|
|
461
|
+
<span class="cline-any cline-neutral"> </span>
|
|
426
462
|
<span class="cline-any cline-neutral"> </span>
|
|
427
463
|
<span class="cline-any cline-neutral"> </span>
|
|
428
464
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -511,10 +547,13 @@
|
|
|
511
547
|
<span class="cline-any cline-yes">6x</span>
|
|
512
548
|
<span class="cline-any cline-yes">12x</span>
|
|
513
549
|
<span class="cline-any cline-neutral"> </span>
|
|
550
|
+
<span class="cline-any cline-yes">12x</span>
|
|
551
|
+
<span class="cline-any cline-neutral"> </span>
|
|
514
552
|
<span class="cline-any cline-yes">6x</span>
|
|
515
553
|
<span class="cline-any cline-neutral"> </span>
|
|
516
554
|
<span class="cline-any cline-neutral"> </span>
|
|
517
555
|
<span class="cline-any cline-neutral"> </span>
|
|
556
|
+
<span class="cline-any cline-no"> </span>
|
|
518
557
|
<span class="cline-any cline-neutral"> </span>
|
|
519
558
|
<span class="cline-any cline-neutral"> </span>
|
|
520
559
|
<span class="cline-any cline-no"> </span>
|
|
@@ -541,6 +580,8 @@
|
|
|
541
580
|
<span class="cline-any cline-neutral"> </span>
|
|
542
581
|
<span class="cline-any cline-neutral"> </span>
|
|
543
582
|
<span class="cline-any cline-no"> </span>
|
|
583
|
+
<span class="cline-any cline-neutral"> </span>
|
|
584
|
+
<span class="cline-any cline-no"> </span>
|
|
544
585
|
<span class="cline-any cline-no"> </span>
|
|
545
586
|
<span class="cline-any cline-neutral"> </span>
|
|
546
587
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -591,6 +632,8 @@
|
|
|
591
632
|
<span class="cline-any cline-no"> </span>
|
|
592
633
|
<span class="cline-any cline-no"> </span>
|
|
593
634
|
<span class="cline-any cline-neutral"> </span>
|
|
635
|
+
<span class="cline-any cline-no"> </span>
|
|
636
|
+
<span class="cline-any cline-neutral"> </span>
|
|
594
637
|
<span class="cline-any cline-neutral"> </span>
|
|
595
638
|
<span class="cline-any cline-neutral"> </span>
|
|
596
639
|
<span class="cline-any cline-yes">18x</span>
|
|
@@ -607,15 +650,19 @@
|
|
|
607
650
|
<span class="cline-any cline-no"> </span>
|
|
608
651
|
<span class="cline-any cline-neutral"> </span>
|
|
609
652
|
<span class="cline-any cline-no"> </span>
|
|
653
|
+
<span class="cline-any cline-neutral"> </span>
|
|
654
|
+
<span class="cline-any cline-no"> </span>
|
|
610
655
|
<span class="cline-any cline-no"> </span>
|
|
611
656
|
<span class="cline-any cline-neutral"> </span>
|
|
612
657
|
<span class="cline-any cline-neutral"> </span>
|
|
613
658
|
<span class="cline-any cline-neutral"> </span>
|
|
614
659
|
<span class="cline-any cline-neutral"> </span>
|
|
660
|
+
<span class="cline-any cline-no"> </span>
|
|
615
661
|
<span class="cline-any cline-neutral"> </span>
|
|
616
662
|
<span class="cline-any cline-neutral"> </span>
|
|
617
663
|
<span class="cline-any cline-yes">18x</span>
|
|
618
664
|
<span class="cline-any cline-no"> </span>
|
|
665
|
+
<span class="cline-any cline-neutral"> </span>
|
|
619
666
|
<span class="cline-any cline-no"> </span>
|
|
620
667
|
<span class="cline-any cline-no"> </span>
|
|
621
668
|
<span class="cline-any cline-no"> </span>
|
|
@@ -653,18 +700,26 @@
|
|
|
653
700
|
<span class="cline-any cline-neutral"> </span>
|
|
654
701
|
<span class="cline-any cline-yes">18x</span>
|
|
655
702
|
<span class="cline-any cline-no"> </span>
|
|
703
|
+
<span class="cline-any cline-neutral"> </span>
|
|
704
|
+
<span class="cline-any cline-no"> </span>
|
|
705
|
+
<span class="cline-any cline-no"> </span>
|
|
656
706
|
<span class="cline-any cline-no"> </span>
|
|
657
707
|
<span class="cline-any cline-no"> </span>
|
|
658
708
|
<span class="cline-any cline-no"> </span>
|
|
709
|
+
<span class="cline-any cline-neutral"> </span>
|
|
659
710
|
<span class="cline-any cline-no"> </span>
|
|
660
711
|
<span class="cline-any cline-neutral"> </span>
|
|
661
712
|
<span class="cline-any cline-neutral"> </span>
|
|
662
713
|
<span class="cline-any cline-no"> </span>
|
|
663
714
|
<span class="cline-any cline-neutral"> </span>
|
|
715
|
+
<span class="cline-any cline-no"> </span>
|
|
716
|
+
<span class="cline-any cline-neutral"> </span>
|
|
664
717
|
<span class="cline-any cline-neutral"> </span>
|
|
665
718
|
<span class="cline-any cline-yes">18x</span>
|
|
666
719
|
<span class="cline-any cline-no"> </span>
|
|
667
720
|
<span class="cline-any cline-neutral"> </span>
|
|
721
|
+
<span class="cline-any cline-no"> </span>
|
|
722
|
+
<span class="cline-any cline-neutral"> </span>
|
|
668
723
|
<span class="cline-any cline-yes">18x</span>
|
|
669
724
|
<span class="cline-any cline-neutral"> </span>
|
|
670
725
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -760,37 +815,17 @@
|
|
|
760
815
|
<span class="cline-any cline-neutral"> </span>
|
|
761
816
|
<span class="cline-any cline-neutral"> </span>
|
|
762
817
|
<span class="cline-any cline-neutral"> </span>
|
|
763
|
-
<span class="cline-any cline-yes">1x</span>
|
|
764
|
-
<span class="cline-any cline-neutral"> </span>
|
|
765
|
-
<span class="cline-any cline-neutral"> </span>
|
|
766
|
-
<span class="cline-any cline-neutral"> </span>
|
|
767
|
-
<span class="cline-any cline-neutral"> </span>
|
|
768
|
-
<span class="cline-any cline-neutral"> </span>
|
|
769
|
-
<span class="cline-any cline-neutral"> </span>
|
|
770
|
-
<span class="cline-any cline-neutral"> </span>
|
|
771
|
-
<span class="cline-any cline-neutral"> </span>
|
|
772
|
-
<span class="cline-any cline-neutral"> </span>
|
|
773
|
-
<span class="cline-any cline-neutral"> </span>
|
|
774
|
-
<span class="cline-any cline-neutral"> </span>
|
|
775
|
-
<span class="cline-any cline-neutral"> </span>
|
|
776
|
-
<span class="cline-any cline-neutral"> </span>
|
|
777
|
-
<span class="cline-any cline-neutral"> </span>
|
|
778
|
-
<span class="cline-any cline-neutral"> </span>
|
|
779
|
-
<span class="cline-any cline-neutral"> </span>
|
|
780
|
-
<span class="cline-any cline-neutral"> </span>
|
|
781
|
-
<span class="cline-any cline-neutral"> </span>
|
|
782
818
|
<span class="cline-any cline-neutral"> </span>
|
|
783
819
|
<span class="cline-any cline-neutral"> </span>
|
|
784
820
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import React, { useContext, useRef, useEffect, useState } from "react";
|
|
785
|
-
import
|
|
786
|
-
import { bbox } from "@turf/turf";
|
|
821
|
+
import { bbox } from '@turf/turf';
|
|
787
822
|
import Divider from "@mui/material/Divider";
|
|
788
823
|
import Typography from "@mui/material/Typography";
|
|
789
824
|
import Drawer from "@mui/material/Drawer";
|
|
790
825
|
import IconButton from "@mui/material/IconButton";
|
|
791
826
|
import InfoIcon from "@mui/icons-material/Info";
|
|
792
827
|
import FileCopy from "@mui/icons-material/FileCopy";
|
|
793
|
-
import { Popup } from "maplibre-gl";
|
|
828
|
+
import { Popup, LngLatBoundsLike, GeoJSONSource } from "maplibre-gl";
|
|
794
829
|
import List from "@mui/material/List";
|
|
795
830
|
import ListItem from "@mui/material/ListItem";
|
|
796
831
|
import ListItemText from "@mui/material/ListItemText";
|
|
@@ -799,12 +834,31 @@ import toGeoJSON from "./gpxConverter";
|
|
|
799
834
|
import useMediaQuery from "@mui/material/useMediaQuery";
|
|
800
835
|
import useMap from "../../hooks/useMap";
|
|
801
836
|
|
|
837
|
+
interface MlGPXViewerProps {
|
|
838
|
+
|
|
839
|
+
/**
|
|
840
|
+
* Id of the target MapLibre instance in mapHook
|
|
841
|
+
*/
|
|
842
|
+
mapId?: string,
|
|
843
|
+
/**
|
|
844
|
+
* The layerId of an existing layer this layer should be rendered visually beneath
|
|
845
|
+
* https://maplibre.org/maplibre-gl-js-docs/api/map/#map#addlayer - see "beforeId" property
|
|
846
|
+
*/
|
|
847
|
+
insertBeforeLayer?: string,
|
|
848
|
+
/**
|
|
849
|
+
* Prefix of the component id this component uses when adding elements to the MapLibreGl-instance
|
|
850
|
+
*/
|
|
851
|
+
idPrefix?: string,
|
|
852
|
+
/**
|
|
853
|
+
* Sets the layers layout-property "visibility" to "none" if false or "visible" if true
|
|
854
|
+
*/
|
|
855
|
+
visible?: boolean,
|
|
856
|
+
}
|
|
857
|
+
|
|
802
858
|
/**
|
|
803
859
|
* MlGPXViewer returns a dropzone and a button to load a GPX Track into the map.
|
|
804
|
-
*
|
|
805
|
-
* @component
|
|
806
860
|
*/
|
|
807
|
-
const MlGPXViewer = (props) => {
|
|
861
|
+
const MlGPXViewer = (props:MlGPXViewerProps) => {
|
|
808
862
|
const dataSource = useContext(GeoJsonContext);
|
|
809
863
|
const initializedRef = useRef(false);
|
|
810
864
|
const mapHook = useMap({ mapId: props.mapId, waitForLayer: props.insertBeforeLayer });
|
|
@@ -813,10 +867,10 @@ const MlGPXViewer = (props) => {
|
|
|
813
867
|
const layerNamePoints = "importer-layer-points";
|
|
814
868
|
|
|
815
869
|
const [open, setIsOpen] = useState(false);
|
|
816
|
-
const dropZone = useRef(null);
|
|
870
|
+
const dropZone = useRef<HTMLDivElement>(null);
|
|
817
871
|
const [zIndex, setZIndex] = useState(0);
|
|
818
|
-
const [metaData, setMetaData] = useState([]);
|
|
819
|
-
const fileupload = useRef(null);
|
|
872
|
+
const [metaData, setMetaData] = useState<{ title: string; value: string; id: number; }[]>([]);
|
|
873
|
+
const fileupload = useRef<HTMLInputElement>(null);
|
|
820
874
|
const mediaIsMobile = useMediaQuery("(max-width:900px)");
|
|
821
875
|
|
|
822
876
|
const popup = useRef(
|
|
@@ -868,12 +922,15 @@ const MlGPXViewer = (props) => {
|
|
|
868
922
|
);
|
|
869
923
|
|
|
870
924
|
[layerNameLines, layerNamePoints].forEach((layerName) => {
|
|
871
|
-
mapHook.map
|
|
925
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if(!mapHook.map)<span class="cstat-no" title="statement not covered" >return;</span>
|
|
926
|
+
|
|
927
|
+
mapHook.map.map.setLayoutProperty(layerName, "visibility", "visible");
|
|
872
928
|
});
|
|
873
929
|
mapHook.map.on(
|
|
874
930
|
"mouseenter",
|
|
875
931
|
layerNamePoints,
|
|
876
|
-
<span class="fstat-no" title="function not covered" > (e</span
|
|
932
|
+
<span class="fstat-no" title="function not covered" > (e</span>:any) => {
|
|
933
|
+
<span class="cstat-no" title="statement not covered" > if(!mapHook.map)<span class="cstat-no" title="statement not covered" >return;</span></span>
|
|
877
934
|
// Change the cursor style as a UI indicator.
|
|
878
935
|
|
|
879
936
|
const coordinates = <span class="cstat-no" title="statement not covered" >e.features[0].geometry.coordinates.slice();</span>
|
|
@@ -890,7 +947,7 @@ const MlGPXViewer = (props) => {
|
|
|
890
947
|
// Populate the popup and set its coordinates
|
|
891
948
|
|
|
892
949
|
// based on the feature found.
|
|
893
|
-
<span class="cstat-no" title="statement not covered" > popup.current.setLngLat(coordinates).setHTML(name).addTo(mapHook.map);</span>
|
|
950
|
+
<span class="cstat-no" title="statement not covered" > popup.current.setLngLat(coordinates).setHTML(name).addTo(mapHook.map.map);</span>
|
|
894
951
|
},
|
|
895
952
|
mapHook.componentId
|
|
896
953
|
);
|
|
@@ -899,25 +956,27 @@ const MlGPXViewer = (props) => {
|
|
|
899
956
|
"mouseleave",
|
|
900
957
|
"places",
|
|
901
958
|
<span class="fstat-no" title="function not covered" > fu</span>nction () {
|
|
902
|
-
<span class="cstat-no" title="statement not covered" > mapHook.map
|
|
959
|
+
<span class="cstat-no" title="statement not covered" > if(!mapHook.map)<span class="cstat-no" title="statement not covered" >return;</span></span>
|
|
960
|
+
|
|
961
|
+
<span class="cstat-no" title="statement not covered" > mapHook.map.map.getCanvas().style.cursor = "";</span>
|
|
903
962
|
<span class="cstat-no" title="statement not covered" > popup.current.remove();</span>
|
|
904
963
|
},
|
|
905
964
|
mapHook.componentId
|
|
906
965
|
);
|
|
907
966
|
|
|
908
|
-
mapHook.map.setZoom(10);
|
|
967
|
+
mapHook.map.map.setZoom(10);
|
|
909
968
|
}, [mapHook.map]);
|
|
910
969
|
|
|
911
970
|
useEffect(() => {
|
|
912
|
-
const
|
|
913
|
-
const raiseDropZoneAndStopDefault = <span class="fstat-no" title="function not covered" >(e</span>vent) => {
|
|
971
|
+
const _dropZone = dropZone.current;
|
|
972
|
+
const raiseDropZoneAndStopDefault = <span class="fstat-no" title="function not covered" >(e</span>vent:any) => {
|
|
914
973
|
<span class="cstat-no" title="statement not covered" > setZIndex(1000);</span>
|
|
915
974
|
<span class="cstat-no" title="statement not covered" > stopDefault(event);</span>
|
|
916
975
|
};
|
|
917
976
|
const lowerDropZone = <span class="fstat-no" title="function not covered" >()</span> => {
|
|
918
977
|
<span class="cstat-no" title="statement not covered" > setZIndex(0);</span>
|
|
919
978
|
};
|
|
920
|
-
const lowerDropZoneAndStopDefault = <span class="fstat-no" title="function not covered" >(e</span>vent) => {
|
|
979
|
+
const lowerDropZoneAndStopDefault = <span class="fstat-no" title="function not covered" >(e</span>vent:any) => {
|
|
921
980
|
<span class="cstat-no" title="statement not covered" > setZIndex(0);</span>
|
|
922
981
|
<span class="cstat-no" title="statement not covered" > stopDefault(event);</span>
|
|
923
982
|
};
|
|
@@ -925,34 +984,36 @@ const MlGPXViewer = (props) => {
|
|
|
925
984
|
window.addEventListener("dragenter", raiseDropZoneAndStopDefault);
|
|
926
985
|
window.addEventListener("dragover", stopDefault);
|
|
927
986
|
|
|
928
|
-
|
|
987
|
+
_dropZone?.addEventListener("dragleave", lowerDropZone);
|
|
929
988
|
|
|
930
989
|
window.addEventListener("drop", lowerDropZoneAndStopDefault);
|
|
931
990
|
|
|
932
991
|
return () => {
|
|
933
992
|
window.removeEventListener("dragenter", raiseDropZoneAndStopDefault);
|
|
934
993
|
window.removeEventListener("dragover", stopDefault);
|
|
935
|
-
|
|
994
|
+
_dropZone?.removeEventListener("dragleave", lowerDropZone);
|
|
936
995
|
window.removeEventListener("drop", lowerDropZoneAndStopDefault);
|
|
937
996
|
};
|
|
938
997
|
});
|
|
939
998
|
|
|
940
|
-
const stopDefault = <span class="fstat-no" title="function not covered" >(e</span>vent) => {
|
|
999
|
+
const stopDefault = <span class="fstat-no" title="function not covered" >(e</span>vent:any) => {
|
|
941
1000
|
<span class="cstat-no" title="statement not covered" > event.preventDefault();</span>
|
|
942
1001
|
<span class="cstat-no" title="statement not covered" > event.stopPropagation();</span>
|
|
943
1002
|
};
|
|
944
1003
|
|
|
945
1004
|
useEffect(() => {
|
|
946
|
-
if (!mapHook.map) return;
|
|
1005
|
+
<span class="missing-if-branch" title="else path not taken" >E</span>if (!mapHook.map) return;
|
|
947
1006
|
|
|
948
1007
|
const visibility = <span class="cstat-no" title="statement not covered" >props.visible ? "visible" : "none";</span>
|
|
949
1008
|
|
|
950
1009
|
<span class="cstat-no" title="statement not covered" > [layerNameLines, layerNamePoints].forEach(<span class="fstat-no" title="function not covered" >(l</span>ayerName) => {</span>
|
|
951
|
-
<span class="cstat-no" title="statement not covered" > mapHook.map
|
|
1010
|
+
<span class="cstat-no" title="statement not covered" > if(!mapHook.map)<span class="cstat-no" title="statement not covered" >return;</span></span>
|
|
1011
|
+
|
|
1012
|
+
<span class="cstat-no" title="statement not covered" > mapHook.map.map.setLayoutProperty(layerName, "visibility", visibility);</span>
|
|
952
1013
|
});
|
|
953
1014
|
}, [props.visible]);
|
|
954
1015
|
|
|
955
|
-
const dropHandler = <span class="fstat-no" title="function not covered" >(e</span>vent) => {
|
|
1016
|
+
const dropHandler = <span class="fstat-no" title="function not covered" >(e</span>vent:any) => {
|
|
956
1017
|
<span class="cstat-no" title="statement not covered" > event.preventDefault();</span>
|
|
957
1018
|
|
|
958
1019
|
<span class="cstat-no" title="statement not covered" > if (event.dataTransfer.items) {</span>
|
|
@@ -962,7 +1023,9 @@ const MlGPXViewer = (props) => {
|
|
|
962
1023
|
// If dropped items aren't files, reject them
|
|
963
1024
|
<span class="cstat-no" title="statement not covered" > if (event.dataTransfer.items[0].kind === "file") {</span>
|
|
964
1025
|
const reader = <span class="cstat-no" title="statement not covered" >new FileReader();</span>
|
|
965
|
-
<span class="cstat-no" title="statement not covered" > reader.onload = <span class="fstat-no" title="function not covered" >(p</span>ayload) => {</span>
|
|
1026
|
+
<span class="cstat-no" title="statement not covered" > reader.onload = <span class="fstat-no" title="function not covered" >(p</span>ayload:any) => {</span>
|
|
1027
|
+
<span class="cstat-no" title="statement not covered" > if(!payload?.currentTarget?.result)<span class="cstat-no" title="statement not covered" >return;</span></span>
|
|
1028
|
+
|
|
966
1029
|
<span class="cstat-no" title="statement not covered" > addGPXToMap(payload.currentTarget.result);</span>
|
|
967
1030
|
};
|
|
968
1031
|
const file = <span class="cstat-no" title="statement not covered" >event.dataTransfer.items[0].getAsFile();</span>
|
|
@@ -971,23 +1034,25 @@ const MlGPXViewer = (props) => {
|
|
|
971
1034
|
} else {
|
|
972
1035
|
// Use DataTransfer interface to access the file(s)
|
|
973
1036
|
}
|
|
1037
|
+
<span class="cstat-no" title="statement not covered" > return;</span>
|
|
974
1038
|
};
|
|
975
1039
|
|
|
976
|
-
const addGPXToMap = <span class="fstat-no" title="function not covered" >(g</span>pxAsString) => {
|
|
977
|
-
<span class="cstat-no" title="statement not covered" > if (!mapHook.map) <span class="cstat-no" title="statement not covered" >return;</span></span>
|
|
1040
|
+
const addGPXToMap = <span class="fstat-no" title="function not covered" >(g</span>pxAsString:string) => {
|
|
1041
|
+
<span class="cstat-no" title="statement not covered" > if (!mapHook.map || !dataSource.setData) <span class="cstat-no" title="statement not covered" >return;</span></span>
|
|
1042
|
+
|
|
978
1043
|
<span class="cstat-no" title="statement not covered" > try {</span>
|
|
979
1044
|
<span class="cstat-no" title="statement not covered" > setMetaData([]);</span>
|
|
980
1045
|
const domParser = <span class="cstat-no" title="statement not covered" >new DOMParser();</span>
|
|
981
1046
|
const gpxDoc = <span class="cstat-no" title="statement not covered" >domParser.parseFromString(gpxAsString, "application/xml");</span>
|
|
982
1047
|
const metadata = <span class="cstat-no" title="statement not covered" >gpxDoc.querySelector("metadata");</span>
|
|
983
|
-
<span class="cstat-no" title="statement not covered" > metadata
|
|
1048
|
+
<span class="cstat-no" title="statement not covered" > metadata?.childNodes.forEach(<span class="fstat-no" title="function not covered" >(n</span>ode:Element) => {</span>
|
|
984
1049
|
let value = <span class="cstat-no" title="statement not covered" >node.textContent;</span>
|
|
985
1050
|
const title = <span class="cstat-no" title="statement not covered" >node.nodeName;</span>
|
|
986
1051
|
|
|
987
1052
|
<span class="cstat-no" title="statement not covered" > if (node.nodeName === "link") {</span>
|
|
988
1053
|
<span class="cstat-no" title="statement not covered" > value = node.getAttribute("href");</span>
|
|
989
1054
|
}
|
|
990
|
-
<span class="cstat-no" title="statement not covered" > if (!!value
|
|
1055
|
+
<span class="cstat-no" title="statement not covered" > if (!!value?.trim().length) {</span>
|
|
991
1056
|
const metaDatEntry = <span class="cstat-no" title="statement not covered" >{</span>
|
|
992
1057
|
title: title,
|
|
993
1058
|
value: value,
|
|
@@ -998,9 +1063,9 @@ const MlGPXViewer = (props) => {
|
|
|
998
1063
|
});
|
|
999
1064
|
const data = <span class="cstat-no" title="statement not covered" >toGeoJSON.gpx(gpxDoc);</span>
|
|
1000
1065
|
<span class="cstat-no" title="statement not covered" > dataSource.setData(data);</span>
|
|
1001
|
-
<span class="cstat-no" title="statement not covered" > mapHook.map.getSource(sourceName).setData(data);</span>
|
|
1066
|
+
<span class="cstat-no" title="statement not covered" > (mapHook.map.map.getSource(sourceName) as GeoJSONSource).setData(data as GeoJSON);</span>
|
|
1002
1067
|
const bounds = <span class="cstat-no" title="statement not covered" >bbox(data);</span>
|
|
1003
|
-
<span class="cstat-no" title="statement not covered" > mapHook.map.fitBounds(bounds);</span>
|
|
1068
|
+
<span class="cstat-no" title="statement not covered" > mapHook.map.map.fitBounds(bounds as LngLatBoundsLike);</span>
|
|
1004
1069
|
} catch (e) {
|
|
1005
1070
|
<span class="cstat-no" title="statement not covered" > console.log(e);</span>
|
|
1006
1071
|
}
|
|
@@ -1011,17 +1076,25 @@ const MlGPXViewer = (props) => {
|
|
|
1011
1076
|
};
|
|
1012
1077
|
|
|
1013
1078
|
const fileUploadOnChange = <span class="fstat-no" title="function not covered" >()</span> => {
|
|
1014
|
-
|
|
1079
|
+
<span class="cstat-no" title="statement not covered" > if(!fileupload.current)<span class="cstat-no" title="statement not covered" >return false;</span></span>
|
|
1080
|
+
|
|
1081
|
+
const file = <span class="cstat-no" title="statement not covered" >fileupload.current?.files?.[0];</span>
|
|
1015
1082
|
<span class="cstat-no" title="statement not covered" > if (!file) <span class="cstat-no" title="statement not covered" >return false;</span></span>
|
|
1016
1083
|
const reader = <span class="cstat-no" title="statement not covered" >new FileReader();</span>
|
|
1017
|
-
<span class="cstat-no" title="statement not covered" > reader.onload = <span class="fstat-no" title="function not covered" >(p</span>ayload) => {</span>
|
|
1084
|
+
<span class="cstat-no" title="statement not covered" > reader.onload = <span class="fstat-no" title="function not covered" >(p</span>ayload:any) => {</span>
|
|
1085
|
+
<span class="cstat-no" title="statement not covered" > if(!payload)<span class="cstat-no" title="statement not covered" >return;</span></span>
|
|
1086
|
+
|
|
1018
1087
|
<span class="cstat-no" title="statement not covered" > addGPXToMap(payload.currentTarget.result);</span>
|
|
1019
1088
|
};
|
|
1020
1089
|
|
|
1021
1090
|
<span class="cstat-no" title="statement not covered" > reader.readAsText(file);</span>
|
|
1091
|
+
|
|
1092
|
+
<span class="cstat-no" title="statement not covered" > return;</span>
|
|
1022
1093
|
};
|
|
1023
1094
|
|
|
1024
1095
|
const manualUpload = <span class="fstat-no" title="function not covered" >()</span> => {
|
|
1096
|
+
<span class="cstat-no" title="statement not covered" > if(!fileupload.current)<span class="cstat-no" title="statement not covered" >return;</span></span>
|
|
1097
|
+
|
|
1025
1098
|
<span class="cstat-no" title="statement not covered" > fileupload.current.click();</span>
|
|
1026
1099
|
};
|
|
1027
1100
|
return (
|
|
@@ -1119,25 +1192,6 @@ MlGPXViewer.defaultProps = {
|
|
|
1119
1192
|
visible: true,
|
|
1120
1193
|
};
|
|
1121
1194
|
|
|
1122
|
-
MlGPXViewer.propTypes = {
|
|
1123
|
-
/**
|
|
1124
|
-
* Id of the target MapLibre instance in mapHook
|
|
1125
|
-
*/
|
|
1126
|
-
mapId: PropTypes.string,
|
|
1127
|
-
/**
|
|
1128
|
-
* Prefix of the component id this component uses when adding elements to the MapLibreGl-instance
|
|
1129
|
-
*/
|
|
1130
|
-
idPrefix: PropTypes.string,
|
|
1131
|
-
/**
|
|
1132
|
-
* Sets the layers layout-property "visibility" to "none" if false or "visible" if true
|
|
1133
|
-
*/
|
|
1134
|
-
visible: PropTypes.bool,
|
|
1135
|
-
/**
|
|
1136
|
-
* The layerId of an existing layer this layer should be rendered visually beneath
|
|
1137
|
-
* https://maplibre.org/maplibre-gl-js-docs/api/map/#map#addlayer - see "beforeId" property
|
|
1138
|
-
*/
|
|
1139
|
-
insertBeforeLayer: PropTypes.string,
|
|
1140
|
-
};
|
|
1141
1195
|
|
|
1142
1196
|
export default MlGPXViewer;
|
|
1143
1197
|
</pre></td></tr></table></pre>
|
|
@@ -1147,7 +1201,7 @@ export default MlGPXViewer;
|
|
|
1147
1201
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1148
1202
|
Code coverage generated by
|
|
1149
1203
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
1150
|
-
at
|
|
1204
|
+
at Wed Apr 20 2022 07:57:24 GMT+0000 (Coordinated Universal Time)
|
|
1151
1205
|
</div>
|
|
1152
1206
|
<script src="../../../prettify.js"></script>
|
|
1153
1207
|
<script>
|
|
@@ -1630,7 +1630,7 @@ export default toGeoJSON;
|
|
|
1630
1630
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1631
1631
|
Code coverage generated by
|
|
1632
1632
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
1633
|
-
at
|
|
1633
|
+
at Wed Apr 20 2022 07:57:24 GMT+0000 (Coordinated Universal Time)
|
|
1634
1634
|
</div>
|
|
1635
1635
|
<script src="../../../prettify.js"></script>
|
|
1636
1636
|
<script>
|
|
@@ -23,16 +23,16 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">12.93% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>59/
|
|
28
|
+
<span class='fraction'>59/456</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">3.
|
|
33
|
+
<span class="strong">3.23% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>8/247</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
@@ -44,9 +44,9 @@
|
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">14.
|
|
47
|
+
<span class="strong">14.57% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>57/
|
|
49
|
+
<span class='fraction'>57/391</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -79,18 +79,18 @@
|
|
|
79
79
|
</tr>
|
|
80
80
|
</thead>
|
|
81
81
|
<tbody><tr>
|
|
82
|
-
<td class="file low" data-value="MlGPXViewer.
|
|
83
|
-
<td data-value="
|
|
84
|
-
<div class="chart"><div class="cover-fill" style="width:
|
|
82
|
+
<td class="file low" data-value="MlGPXViewer.tsx"><a href="MlGPXViewer.tsx.html">MlGPXViewer.tsx</a></td>
|
|
83
|
+
<td data-value="40.31" class="pic low">
|
|
84
|
+
<div class="chart"><div class="cover-fill" style="width: 40%"></div><div class="cover-empty" style="width: 60%"></div></div>
|
|
85
85
|
</td>
|
|
86
|
-
<td data-value="
|
|
87
|
-
<td data-value="
|
|
88
|
-
<td data-value="
|
|
89
|
-
<td data-value="
|
|
86
|
+
<td data-value="40.31" class="pct low">40.31%</td>
|
|
87
|
+
<td data-value="129" class="abs low">52/129</td>
|
|
88
|
+
<td data-value="15.9" class="pct low">15.9%</td>
|
|
89
|
+
<td data-value="44" class="abs low">7/44</td>
|
|
90
90
|
<td data-value="25" class="pct low">25%</td>
|
|
91
91
|
<td data-value="24" class="abs low">6/24</td>
|
|
92
|
-
<td data-value="47
|
|
93
|
-
<td data-value="
|
|
92
|
+
<td data-value="43.47" class="pct low">43.47%</td>
|
|
93
|
+
<td data-value="115" class="abs low">50/115</td>
|
|
94
94
|
</tr>
|
|
95
95
|
|
|
96
96
|
<tr>
|
|
@@ -116,7 +116,7 @@
|
|
|
116
116
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
117
117
|
Code coverage generated by
|
|
118
118
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
119
|
-
at
|
|
119
|
+
at Wed Apr 20 2022 07:57:24 GMT+0000 (Coordinated Universal Time)
|
|
120
120
|
</div>
|
|
121
121
|
<script src="../../../prettify.js"></script>
|
|
122
122
|
<script>
|