@mapcomponents/react-maplibre 0.1.56 → 0.1.58
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/.eslintignore +11 -0
- package/.eslintrc.js +20 -0
- package/.github/workflows/check-formatting.yml +46 -0
- package/.prettierignore +11 -0
- package/.prettierrc.json +6 -0
- package/CHANGELOG.md +20 -0
- package/coverage/clover.xml +232 -80
- package/coverage/coverage-final.json +43 -37
- package/coverage/lcov-report/index.html +71 -26
- package/coverage/lcov-report/src/components/MapLibreMap/MapLibreMap.tsx.html +83 -83
- package/coverage/lcov-report/src/components/MapLibreMap/index.html +1 -1
- package/coverage/lcov-report/src/components/MlCenterPosition/MlCenterPosition.tsx.html +66 -66
- package/coverage/lcov-report/src/components/MlCenterPosition/index.html +1 -1
- package/coverage/lcov-report/src/components/MlCreatePdfButton/MlCreatePdfButton.tsx.html +30 -30
- package/coverage/lcov-report/src/components/MlCreatePdfButton/index.html +1 -1
- package/coverage/lcov-report/src/components/MlCreatePdfForm/MlCreatePdfForm.tsx.html +202 -0
- package/coverage/lcov-report/src/components/MlCreatePdfForm/index.html +116 -0
- package/coverage/lcov-report/src/components/MlFeatureEditor/MlFeatureEditor.tsx.html +99 -99
- package/coverage/lcov-report/src/components/MlFeatureEditor/index.html +1 -1
- package/coverage/lcov-report/src/components/MlFillExtrusionLayer/MlFillExtrusionLayer.tsx.html +66 -66
- package/coverage/lcov-report/src/components/MlFillExtrusionLayer/index.html +1 -1
- package/coverage/lcov-report/src/components/MlFollowGps/MlFollowGps.tsx.html +221 -221
- package/coverage/lcov-report/src/components/MlFollowGps/index.html +1 -1
- package/coverage/lcov-report/src/components/MlGPXViewer/MlGPXViewer.tsx.html +308 -308
- package/coverage/lcov-report/src/components/MlGPXViewer/gpxConverter.js.html +497 -497
- package/coverage/lcov-report/src/components/MlGPXViewer/index.html +1 -1
- package/coverage/lcov-report/src/components/MlGeoJsonLayer/MlGeoJsonLayer.tsx.html +85 -85
- package/coverage/lcov-report/src/components/MlGeoJsonLayer/index.html +1 -1
- package/coverage/lcov-report/src/components/MlGeojsonLayerWithSource/MlGeojsonLayerWithSource.tsx.html +469 -0
- package/coverage/lcov-report/src/components/MlGeojsonLayerWithSource/index.html +116 -0
- package/coverage/lcov-report/src/components/MlImageMarkerLayer/MlImageMarkerLayer.tsx.html +140 -140
- package/coverage/lcov-report/src/components/MlImageMarkerLayer/index.html +1 -1
- package/coverage/lcov-report/src/components/MlLayer/MlLayer.tsx.html +37 -37
- package/coverage/lcov-report/src/components/MlLayer/index.html +1 -1
- package/coverage/lcov-report/src/components/MlLayerMagnify/MlLayerMagnify.tsx.html +179 -179
- package/coverage/lcov-report/src/components/MlLayerMagnify/index.html +1 -1
- package/coverage/lcov-report/src/components/MlLayerSwipe/MlLayerSwipe.tsx.html +113 -113
- package/coverage/lcov-report/src/components/MlLayerSwipe/index.html +1 -1
- package/coverage/lcov-report/src/components/MlLayerSwitcher/MlLayerSwitcher.js.html +181 -181
- package/coverage/lcov-report/src/components/MlLayerSwitcher/components/LayerBox.js.html +58 -58
- 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.tsx.html +108 -108
- package/coverage/lcov-report/src/components/MlMarker/index.html +1 -1
- package/coverage/lcov-report/src/components/MlMeasureTool/MlMeasureTool.tsx.html +39 -39
- package/coverage/lcov-report/src/components/MlMeasureTool/index.html +1 -1
- package/coverage/lcov-report/src/components/MlNavigationCompass/MlNavigationCompass.tsx.html +183 -183
- package/coverage/lcov-report/src/components/MlNavigationCompass/index.html +1 -1
- package/coverage/lcov-report/src/components/MlNavigationTools/MlNavigationTools.tsx.html +163 -163
- package/coverage/lcov-report/src/components/MlNavigationTools/index.html +1 -1
- package/coverage/lcov-report/src/components/MlOsmLayer/MlOsmLayer.js.html +50 -50
- package/coverage/lcov-report/src/components/MlOsmLayer/MlOsmLayer.stories_.js.html +30 -30
- package/coverage/lcov-report/src/components/MlOsmLayer/index.html +1 -1
- package/coverage/lcov-report/src/components/MlScaleReference/MlScaleReference.js.html +89 -89
- package/coverage/lcov-report/src/components/MlScaleReference/index.html +11 -11
- package/coverage/lcov-report/src/components/MlShareMapState/MlShareMapState.js.html +204 -204
- package/coverage/lcov-report/src/components/MlShareMapState/index.html +1 -1
- package/coverage/lcov-report/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.js.html +180 -180
- package/coverage/lcov-report/src/components/MlSpatialElevationProfile/index.html +1 -1
- package/coverage/lcov-report/src/components/MlThreeJsLayer/MlThreeJsLayer.js.html +163 -163
- package/coverage/lcov-report/src/components/MlThreeJsLayer/index.html +1 -1
- package/coverage/lcov-report/src/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.tsx.html +136 -136
- package/coverage/lcov-report/src/components/MlTransitionGeoJsonLayer/index.html +1 -1
- package/coverage/lcov-report/src/components/MlUseMapDebugger/MlUseMapDebugger.js.html +53 -53
- package/coverage/lcov-report/src/components/MlUseMapDebugger/index.html +1 -1
- package/coverage/lcov-report/src/components/MlVectorTileLayer/MlVectorTileLayer.tsx.html +123 -123
- package/coverage/lcov-report/src/components/MlVectorTileLayer/index.html +1 -1
- package/coverage/lcov-report/src/components/MlWmsFeatureInfoPopup/MlWmsFeatureInfoPopup.js.html +35 -35
- package/coverage/lcov-report/src/components/MlWmsFeatureInfoPopup/index.html +1 -1
- package/coverage/lcov-report/src/components/MlWmsLayer/MlWmsLayer.tsx.html +155 -155
- package/coverage/lcov-report/src/components/MlWmsLayer/index.html +1 -1
- package/coverage/lcov-report/src/components/MlWmsLoader/MlWmsLoader.tsx.html +255 -255
- package/coverage/lcov-report/src/components/MlWmsLoader/index.html +1 -1
- package/coverage/lcov-report/src/contexts/MapContext.tsx.html +66 -66
- package/coverage/lcov-report/src/contexts/SimpleDataContext.js.html +1 -1
- package/coverage/lcov-report/src/contexts/SimpleDataProvider.js.html +48 -48
- package/coverage/lcov-report/src/contexts/index.html +1 -1
- package/coverage/lcov-report/src/hooks/exportMap/index.html +131 -0
- package/coverage/lcov-report/src/hooks/exportMap/index.ts.html +175 -0
- package/coverage/lcov-report/src/hooks/exportMap/lib.ts.html +646 -0
- package/coverage/lcov-report/src/hooks/index.html +48 -18
- package/coverage/lcov-report/src/hooks/useLayer.ts.html +230 -188
- package/coverage/lcov-report/src/hooks/useLayerEvent.js.html +232 -0
- package/coverage/lcov-report/src/hooks/useMap.ts.html +72 -69
- package/coverage/lcov-report/src/hooks/useMapState.ts.html +145 -145
- package/coverage/lcov-report/src/hooks/useSource.ts.html +337 -0
- package/coverage/lcov-report/src/hooks/useWms.js.html +72 -72
- package/coverage/lcov-report/src/index.html +1 -1
- package/coverage/lcov-report/src/index.ts.html +14 -2
- package/coverage/lcov.info +450 -153
- package/dist/components/MlCreatePdfForm/MlCreatePdfForm.d.ts +24 -0
- package/dist/components/MlCreatePdfForm/MlCreatePdfForm.stories.d.ts +13 -0
- package/dist/components/MlCreatePdfForm/lib/PdfContext.d.ts +21 -0
- package/dist/components/MlCreatePdfForm/lib/PdfForm.d.ts +10 -0
- package/dist/components/MlCreatePdfForm/lib/PdfPreview.d.ts +13 -0
- package/dist/components/MlCreatePdfForm/lib/pdf.templates.d.ts +11 -0
- package/dist/components/MlFeatureEditor/lib/create_vertex.d.ts +1 -1
- package/dist/components/MlGeojsonLayerWithSource/MlGeojsonLayerWithSource.d.ts +22 -0
- package/dist/components/MlGeojsonLayerWithSource/MlGeojsonLayerWithSource.stories.d.ts +10 -0
- package/dist/components/MlLayerSwipe/MlLayerSwipe.d.ts +1 -1
- package/dist/components/MlWmsLayer/MlWmsLayer.d.ts +2 -2
- package/dist/decorators/MapContextDecoratorHooks.d.ts +2 -0
- package/dist/decorators/ThemeWrapper.d.ts +1 -0
- package/dist/hooks/exportMap/index.d.ts +11 -0
- package/dist/hooks/exportMap/lib.d.ts +36 -0
- package/dist/hooks/useLayer.d.ts +6 -5
- package/dist/hooks/useLayerEvent.d.ts +2 -0
- package/dist/hooks/useMap.d.ts +1 -1
- package/dist/hooks/useMapState.stories.d.ts +2 -2
- package/dist/hooks/useSource.d.ts +17 -0
- package/dist/hooks/useSources.stories.d.ts +13 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.esm.js +479 -190
- package/dist/index.esm.js.map +1 -1
- package/eslintErrorTest.js +10 -0
- package/package.json +7 -1
- package/public/thumbnails/MlCreatePdfForm.png +0 -0
- package/src/components/MapLibreMap/MapLibreMap.stories.js +72 -72
- package/src/components/MapLibreMap/MapLibreMap.test.js +60 -60
- package/src/components/MapLibreMap/MapLibreMap.tsx +82 -82
- package/src/components/MapLibreMap/lib/MapLibreGlWrapper.test.js +343 -343
- package/src/components/MapLibreMap/lib/MapLibreGlWrapper.ts +619 -619
- package/src/components/MlBasicComponent.js +25 -25
- package/src/components/MlCenterPosition/MlCenterPosition.stories.js +6 -6
- package/src/components/MlCenterPosition/MlCenterPosition.tsx +65 -65
- package/src/components/MlComponentTemplate/MlComponentTemplate.stories.js +5 -5
- package/src/components/MlComponentTemplate/MlComponentTemplate.tsx +23 -23
- package/src/components/MlCreatePdfButton/{MlCreatePdfButton.meta.json → MlCreatePdfButton.meta_.json} +0 -0
- package/src/components/MlCreatePdfButton/MlCreatePdfButton.stories.js +16 -16
- package/src/components/MlCreatePdfButton/MlCreatePdfButton.tsx +29 -29
- package/src/components/MlCreatePdfButton/lib/createPdf.ts +175 -175
- package/src/components/MlCreatePdfButton/lib/nominatimMap.ts +51 -51
- package/src/components/MlCreatePdfForm/MlCreatePdfForm.doc.de.md +3 -0
- package/src/components/MlCreatePdfForm/MlCreatePdfForm.meta.json +15 -0
- package/src/components/MlCreatePdfForm/MlCreatePdfForm.stories.tsx +152 -0
- package/src/components/MlCreatePdfForm/MlCreatePdfForm.tsx +39 -0
- package/src/components/MlCreatePdfForm/lib/PdfContext.tsx +53 -0
- package/src/components/MlCreatePdfForm/lib/PdfForm.tsx +161 -0
- package/src/components/MlCreatePdfForm/lib/PdfPreview.tsx +399 -0
- package/src/components/MlCreatePdfForm/lib/pdf.templates.ts +82 -0
- package/src/components/MlFeatureEditor/MlFeatureEditor.stories.js +55 -55
- package/src/components/MlFeatureEditor/MlFeatureEditor.test.js +105 -105
- package/src/components/MlFeatureEditor/MlFeatureEditor.tsx +119 -119
- package/src/components/MlFeatureEditor/custom-direct-select-mode.js +208 -208
- package/src/components/MlFeatureEditor/custom-polygon-mode.js +148 -148
- package/src/components/MlFeatureEditor/custom-select-mode.js +314 -314
- package/src/components/MlFeatureEditor/lib/common_selectors.js +34 -34
- package/src/components/MlFeatureEditor/lib/constants.js +61 -61
- package/src/components/MlFeatureEditor/lib/constrain_feature_movement.js +51 -51
- package/src/components/MlFeatureEditor/lib/create_midpoint.js +30 -30
- package/src/components/MlFeatureEditor/lib/create_supplementary_points.js +82 -82
- package/src/components/MlFeatureEditor/lib/create_vertex.js +16 -16
- package/src/components/MlFeatureEditor/lib/double_click_zoom.js +23 -23
- package/src/components/MlFeatureEditor/lib/euclidean_distance.js +3 -3
- package/src/components/MlFeatureEditor/lib/features_at.js +23 -23
- package/src/components/MlFeatureEditor/lib/get_features_and_set_cursor.js +15 -15
- package/src/components/MlFeatureEditor/lib/is_click.js +8 -8
- package/src/components/MlFeatureEditor/lib/is_event_at_coordinates.js +2 -2
- package/src/components/MlFeatureEditor/lib/is_tap.js +6 -6
- package/src/components/MlFeatureEditor/lib/map_event_to_bounding_box.js +4 -4
- package/src/components/MlFeatureEditor/lib/mode_handler.js +105 -105
- package/src/components/MlFeatureEditor/lib/mouse_event_point.js +5 -5
- package/src/components/MlFeatureEditor/lib/move_features.js +33 -33
- package/src/components/MlFeatureEditor/lib/sort_features.js +25 -25
- package/src/components/MlFeatureEditor/lib/string_set.js +36 -36
- package/src/components/MlFeatureEditor/lib/string_sets_are_equal.js +2 -2
- package/src/components/MlFeatureEditor/lib/theme.js +230 -230
- package/src/components/MlFeatureEditor/lib/to_dense_array.js +1 -1
- package/src/components/MlFeatureEditor/lib/utils.js +40 -40
- package/src/components/MlFillExtrusionLayer/MlFillExtrusionLayer.stories.js +9 -9
- package/src/components/MlFillExtrusionLayer/MlFillExtrusionLayer.test.js +4 -4
- package/src/components/MlFillExtrusionLayer/MlFillExtrusionLayer.tsx +65 -65
- package/src/components/MlFollowGps/MlFollowGps.stories.js +6 -6
- package/src/components/MlFollowGps/MlFollowGps.test.js +44 -44
- package/src/components/MlFollowGps/MlFollowGps.tsx +220 -220
- package/src/components/MlGPXViewer/MlGPXViewer.stories.js +15 -15
- package/src/components/MlGPXViewer/MlGPXViewer.test.js +12 -12
- package/src/components/MlGPXViewer/MlGPXViewer.tsx +345 -345
- package/src/components/MlGPXViewer/gpxConverter.js +496 -496
- package/src/components/MlGPXViewer/util/GeoJsonContext.ts +4 -4
- package/src/components/MlGPXViewer/util/GeoJsonProvider.tsx +16 -16
- package/src/components/MlGeoJsonLayer/MlGeoJsonLayer.stories.js +34 -34
- package/src/components/MlGeoJsonLayer/MlGeoJsonLayer.test.js +8 -8
- package/src/components/MlGeoJsonLayer/MlGeoJsonLayer.tsx +84 -84
- package/src/components/MlGeoJsonLayer/util/getDefaultLayerTypeByGeometry.ts +21 -21
- package/src/components/MlGeoJsonLayer/util/getDefaultPaintPropsByType.ts +27 -27
- package/src/components/MlGeojsonLayerWithSource/MlGeojsonLayerWithSource.doc.de.md +3 -0
- package/src/components/MlGeojsonLayerWithSource/MlGeojsonLayerWithSource.meta_.json +15 -0
- package/src/components/MlGeojsonLayerWithSource/MlGeojsonLayerWithSource.stories.js +19 -0
- package/src/components/MlGeojsonLayerWithSource/MlGeojsonLayerWithSource.tsx +128 -0
- package/src/components/MlImageMarkerLayer/MlImageMarkerLayer.stories.js +28 -28
- package/src/components/MlImageMarkerLayer/MlImageMarkerLayer.test.js +8 -8
- package/src/components/MlImageMarkerLayer/MlImageMarkerLayer.tsx +162 -162
- package/src/components/MlLayer/MlLayer.stories.js +5 -5
- package/src/components/MlLayer/MlLayer.test.js +86 -86
- package/src/components/MlLayer/MlLayer.tsx +36 -36
- package/src/components/MlLayerMagnify/MlLayerMagnify.stories.js +21 -21
- package/src/components/MlLayerMagnify/MlLayerMagnify.test.js +54 -54
- package/src/components/MlLayerMagnify/MlLayerMagnify.tsx +201 -201
- package/src/components/MlLayerSwipe/MlLayerSwipe.stories.js +20 -20
- package/src/components/MlLayerSwipe/MlLayerSwipe.test.js +54 -54
- package/src/components/MlLayerSwipe/MlLayerSwipe.tsx +130 -130
- package/src/components/MlLayerSwitcher/MlLayerSwitcher.js +194 -194
- package/src/components/MlLayerSwitcher/MlLayerSwitcher.stories.js +85 -85
- package/src/components/MlLayerSwitcher/components/LayerBox.js +57 -57
- package/src/components/MlMarker/MlMarker.stories.js +7 -7
- package/src/components/MlMarker/MlMarker.tsx +119 -119
- package/src/components/MlMeasureTool/MlMeasureTool.stories.js +64 -64
- package/src/components/MlMeasureTool/MlMeasureTool.tsx +38 -38
- package/src/components/MlNavigationCompass/MlNavigationCompass.stories.js +45 -45
- package/src/components/MlNavigationCompass/MlNavigationCompass.test.js +40 -40
- package/src/components/MlNavigationCompass/MlNavigationCompass.tsx +192 -192
- package/src/components/MlNavigationTools/MlNavigationTools.stories.js +18 -18
- package/src/components/MlNavigationTools/MlNavigationTools.tsx +173 -173
- package/src/components/MlOsmLayer/MlOsmLayer.js +49 -49
- package/src/components/MlOsmLayer/MlOsmLayer.stories_.js +29 -29
- package/src/components/MlOsmLayer/MlOsmLayer.test.js +8 -8
- package/src/components/MlScaleReference/MlScaleReference.js +82 -82
- package/src/components/MlScaleReference/MlScaleReference.stories.js +33 -35
- package/src/components/MlShareMapState/MlShareMapState.js +203 -203
- package/src/components/MlShareMapState/MlShareMapState.stories.js +68 -68
- package/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.js +201 -201
- package/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.stories.js +35 -35
- package/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.test.js +8 -8
- package/src/components/MlThreeJsLayer/MlThreeJsLayer.js +186 -186
- package/src/components/MlThreeJsLayer/MlThreeJsLayer.stories.js +21 -21
- package/src/components/MlThreeJsLayer/MlThreeJsLayer.test.js +24 -24
- package/src/components/MlThreeJsLayer/lib/GLTFLoader.js +3327 -3327
- package/src/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.stories.js +31 -30
- package/src/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.test.js +8 -8
- package/src/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.tsx +146 -146
- package/src/components/MlTransitionGeoJsonLayer/util/transitionFunctions.js +207 -207
- package/src/components/MlUseMapDebugger/MlUseMapDebugger.js +52 -52
- package/src/components/MlUseMapDebugger/MlUseMapDebugger.stories.js +13 -13
- package/src/components/MlVectorTileLayer/MlVectorTileLayer.stories.js +27 -27
- package/src/components/MlVectorTileLayer/MlVectorTileLayer.test.js +27 -27
- package/src/components/MlVectorTileLayer/MlVectorTileLayer.tsx +137 -137
- package/src/components/MlWmsFeatureInfoPopup/MlWmsFeatureInfoPopup.js +34 -34
- package/src/components/MlWmsFeatureInfoPopup/MlWmsFeatureInfoPopup.stories.js +7 -7
- package/src/components/MlWmsLayer/MlWmsLayer.stories.js +26 -26
- package/src/components/MlWmsLayer/MlWmsLayer.test.js +8 -8
- package/src/components/MlWmsLayer/MlWmsLayer.tsx +167 -167
- package/src/components/MlWmsLoader/MlWmsLoader.stories.js +27 -27
- package/src/components/MlWmsLoader/MlWmsLoader.tsx +254 -254
- package/src/contexts/MapComponentsProvider.test.js +229 -229
- package/src/contexts/MapContext.tsx +65 -65
- package/src/contexts/SimpleDataProvider.js +47 -47
- package/src/contexts/SimpleDataProvider.test.js +29 -29
- package/src/custom.d.tsx +14 -14
- package/src/decorators/MapContextDecorator.js +23 -25
- package/src/decorators/MapContextDecoratorHooks.js +34 -0
- package/src/decorators/MultiMapContextDecorator.js +63 -63
- package/src/decorators/NoNavToolsDecorator.js +17 -17
- package/src/decorators/ThemeWrapper.jsx +9 -0
- package/src/hooks/assets/pointWG.json +13 -0
- package/src/hooks/exportMap/index.ts +30 -0
- package/src/hooks/exportMap/lib.ts +187 -0
- package/src/hooks/useLayer.test.js +188 -188
- package/src/hooks/useLayer.ts +194 -180
- package/src/hooks/useLayerEvent.js +49 -0
- package/src/hooks/useMap.ts +67 -66
- package/src/hooks/useMapState.stories.js +78 -78
- package/src/hooks/useMapState.ts +161 -161
- package/src/hooks/useSource.ts +84 -0
- package/src/hooks/useSources.stories.js +232 -0
- package/src/hooks/useWms.js +71 -71
- package/src/index.ts +4 -0
- package/src/setupTests.js +86 -86
- package/src/ui_components/ImageLoader.js +62 -62
- package/src/ui_components/Legend.js +34 -34
- package/src/ui_components/LoadingOverlay.js +29 -29
- package/src/ui_components/LoadingOverlayContext.js +68 -68
- package/src/ui_components/Sidebar.js +80 -80
- package/src/ui_components/Tooltip.js +9 -9
- package/src/ui_components/TopToolbar.js +23 -23
- package/src/util/layerRemovalTest.js +111 -111
- package/src/util/sourceRemovalTest.js +103 -103
|
@@ -718,41 +718,41 @@ import MapLibreGlWrapper from "../MapLibreMap/lib/MapLibreGlWrapper";
|
|
|
718
718
|
|
|
719
719
|
var originShift = <span class="cstat-no" title="statement not covered" >(2 * Math.PI * 6378137) / 2.0;</span>
|
|
720
720
|
const lngLatToMeters = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >fu</span>nction (lnglat: LngLat, accuracy = <span class="branch-0 cbranch-no" title="branch not covered" >{ enable: true, decimal: 1 })</span> {</span>
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
<span class="cstat-no" title="statement not covered" >
|
|
726
|
-
<span class="cstat-no" title="statement not covered" >
|
|
727
|
-
<span class="cstat-no" title="statement not covered" >
|
|
728
|
-
<span class="cstat-no" title="statement not covered" >
|
|
729
|
-
|
|
730
|
-
<span class="cstat-no" title="statement not covered" >
|
|
721
|
+
var lng = <span class="cstat-no" title="statement not covered" >lnglat.lng;</span>
|
|
722
|
+
var lat = <span class="cstat-no" title="statement not covered" >lnglat.lat;</span>
|
|
723
|
+
var x = <span class="cstat-no" title="statement not covered" >(lng * originShift) / 180.0;</span>
|
|
724
|
+
var y = <span class="cstat-no" title="statement not covered" >Math.log(Math.tan(((90 + lat) * Math.PI) / 360.0)) / (Math.PI / 180.0);</span>
|
|
725
|
+
<span class="cstat-no" title="statement not covered" > y = (y * originShift) / 180.0;</span>
|
|
726
|
+
<span class="cstat-no" title="statement not covered" > if (accuracy.enable) {</span>
|
|
727
|
+
<span class="cstat-no" title="statement not covered" > x = Number(x.toFixed(accuracy.decimal));</span>
|
|
728
|
+
<span class="cstat-no" title="statement not covered" > y = Number(y.toFixed(accuracy.decimal));</span>
|
|
729
|
+
}
|
|
730
|
+
<span class="cstat-no" title="statement not covered" > return [x, y];</span>
|
|
731
731
|
};
|
|
732
732
|
|
|
733
733
|
interface MlWmsLoaderProps {
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
734
|
+
/**
|
|
735
|
+
* WMS URL
|
|
736
|
+
*/
|
|
737
|
+
url: string;
|
|
738
|
+
/**
|
|
739
|
+
* Id of the target MapLibre instance in mapContext
|
|
740
|
+
*/
|
|
741
|
+
mapId: string;
|
|
742
|
+
/**
|
|
743
|
+
* URL parameters that will be used in the getCapabilities request
|
|
744
|
+
*/
|
|
745
|
+
urlParameters: object;
|
|
746
|
+
/**
|
|
747
|
+
* URL parameters that will be added when requesting WMS capabilities
|
|
748
|
+
*/
|
|
749
|
+
wmsUrlParameters: object;
|
|
750
|
+
/**
|
|
751
|
+
* URL parameters that will be added when requesting tiles
|
|
752
|
+
*/
|
|
753
|
+
layerUrlParameters: object;
|
|
754
|
+
lngLat: LngLat;
|
|
755
|
+
idPrefix: string;
|
|
756
756
|
}
|
|
757
757
|
|
|
758
758
|
/**
|
|
@@ -764,253 +764,253 @@ interface MlWmsLoaderProps {
|
|
|
764
764
|
* @component
|
|
765
765
|
*/
|
|
766
766
|
const MlWmsLoader = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >(p</span>rops: MlWmsLoaderProps) => {</span>
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
767
|
+
// Use a useRef hook to reference the layer object to be able to access it later inside useEffect hooks
|
|
768
|
+
const mapContext: MapContextType = <span class="cstat-no" title="statement not covered" >useContext(MapContext);</span>
|
|
769
|
+
const { capabilities, error, setUrl, getFeatureInfoUrl, wmsUrl }: any = <span class="cstat-no" title="statement not covered" >useWms({</span>
|
|
770
|
+
url: undefined,
|
|
771
|
+
urlParameters: props.urlParameters,
|
|
772
|
+
});
|
|
773
|
+
let layerType: {
|
|
774
|
+
visible: boolean;
|
|
775
|
+
queryable: boolean;
|
|
776
|
+
Name: string;
|
|
777
|
+
Title: string;
|
|
778
|
+
LatLonBoundingBox: Array<number>;
|
|
779
|
+
EX_GeographicBoundingBox: Array<number>;
|
|
780
|
+
Abstract: any;
|
|
781
|
+
};
|
|
782
782
|
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
783
|
+
const initializedRef = <span class="cstat-no" title="statement not covered" >useRef(false);</span>
|
|
784
|
+
const mapRef = <span class="cstat-no" title="statement not covered" >useRef<MapLibreGlWrapper>();</span>
|
|
785
|
+
const componentId = <span class="cstat-no" title="statement not covered" >useRef((props.idPrefix ? props.idPrefix : "MlWmsLoader-") + uuidv4());</span>
|
|
786
|
+
const [layers, setLayers] = <span class="cstat-no" title="statement not covered" >useState<Array<typeof layerType>>([]);</span>
|
|
787
787
|
|
|
788
|
-
|
|
789
|
-
|
|
788
|
+
const [featureInfoLngLat, setFeatureInfoLngLat] = <span class="cstat-no" title="statement not covered" >useState<{lng:number,lat:number} | undefined>();</span>
|
|
789
|
+
const [featureInfoContent, setFeatureInfoContent] = <span class="cstat-no" title="statement not covered" >useState<string | undefined>(undefined);</span>
|
|
790
790
|
|
|
791
|
-
<span class="cstat-no" title="statement not covered" >
|
|
792
|
-
|
|
791
|
+
<span class="cstat-no" title="statement not covered" > useEffect(<span class="fstat-no" title="function not covered" >()</span> => {</span>
|
|
792
|
+
let _componentId = <span class="cstat-no" title="statement not covered" >componentId.current;</span>
|
|
793
793
|
|
|
794
|
-
<span class="cstat-no" title="statement not covered" >
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
794
|
+
<span class="cstat-no" title="statement not covered" > return <span class="fstat-no" title="function not covered" >()</span> => {</span>
|
|
795
|
+
// This is the cleanup function, it is called when this react component is removed from react-dom
|
|
796
|
+
// try to remove anything this component has added to the MapLibre-gl instance
|
|
797
|
+
// e.g.: remove the layer
|
|
798
|
+
// mapContext.getMap(props.mapId).removeLayer(layerRef.current);
|
|
799
|
+
// check for the existence of map.style before calling getLayer or getSource
|
|
800
800
|
|
|
801
|
-
<span class="cstat-no" title="statement not covered" >
|
|
802
|
-
<span class="cstat-no" title="statement not covered" >
|
|
803
|
-
<span class="cstat-no" title="statement not covered" >
|
|
804
|
-
|
|
805
|
-
<span class="cstat-no" title="statement not covered" >
|
|
806
|
-
|
|
807
|
-
|
|
801
|
+
<span class="cstat-no" title="statement not covered" > if (mapRef.current) {</span>
|
|
802
|
+
<span class="cstat-no" title="statement not covered" > mapRef.current.cleanup(_componentId);</span>
|
|
803
|
+
<span class="cstat-no" title="statement not covered" > mapRef.current = undefined;</span>
|
|
804
|
+
}
|
|
805
|
+
<span class="cstat-no" title="statement not covered" > initializedRef.current = false;</span>
|
|
806
|
+
};
|
|
807
|
+
}, []);
|
|
808
808
|
|
|
809
|
-
<span class="cstat-no" title="statement not covered" >
|
|
810
|
-
<span class="cstat-no" title="statement not covered" >
|
|
809
|
+
<span class="cstat-no" title="statement not covered" > useEffect(<span class="fstat-no" title="function not covered" >()</span> => {</span>
|
|
810
|
+
<span class="cstat-no" title="statement not covered" > if (!initializedRef.current) <span class="cstat-no" title="statement not covered" >return;</span></span>
|
|
811
811
|
|
|
812
|
-
<span class="cstat-no" title="statement not covered" >
|
|
813
|
-
|
|
812
|
+
<span class="cstat-no" title="statement not covered" > setUrl(props.url);</span>
|
|
813
|
+
}, [props.url]);
|
|
814
814
|
|
|
815
|
-
|
|
816
|
-
<span class="fstat-no" title="function not covered" >
|
|
817
|
-
<span class="cstat-no" title="statement not covered" >
|
|
818
|
-
<span class="cstat-no" title="statement not covered" >
|
|
819
|
-
<span class="cstat-no" title="statement not covered" >
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
815
|
+
const getFeatureInfo = <span class="cstat-no" title="statement not covered" >useCallback(</span>
|
|
816
|
+
<span class="fstat-no" title="function not covered" > (e</span>v) => {
|
|
817
|
+
<span class="cstat-no" title="statement not covered" > if (!mapRef.current) <span class="cstat-no" title="statement not covered" >return;</span></span>
|
|
818
|
+
<span class="cstat-no" title="statement not covered" > setFeatureInfoLngLat(undefined);</span>
|
|
819
|
+
<span class="cstat-no" title="statement not covered" > setFeatureInfoContent(undefined);</span>
|
|
820
|
+
let _bounds = <span class="cstat-no" title="statement not covered" >mapRef.current.map.getBounds();</span>
|
|
821
|
+
let _sw = <span class="cstat-no" title="statement not covered" >lngLatToMeters(_bounds._sw);</span>
|
|
822
|
+
let _ne = <span class="cstat-no" title="statement not covered" >lngLatToMeters(_bounds._ne);</span>
|
|
823
|
+
let bbox = <span class="cstat-no" title="statement not covered" >[_sw[0], _sw[1], _ne[0], _ne[1]];</span>
|
|
824
|
+
let _getFeatureInfoUrlParams = <span class="cstat-no" title="statement not covered" >{</span>
|
|
825
|
+
REQUEST: "GetFeatureInfo",
|
|
826
826
|
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
<span class="cstat-no" title="statement not covered" >
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
<span class="cstat-no" title="statement not covered" >
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
827
|
+
BBOX: bbox.join(","),
|
|
828
|
+
SERVICE: "WMS",
|
|
829
|
+
INFO_FORMAT:
|
|
830
|
+
capabilities?.Capability?.Request?.GetFeatureInfo.Format.indexOf("text/html") !== -1
|
|
831
|
+
? "text/html"
|
|
832
|
+
: "text/plain",
|
|
833
|
+
FEATURE_COUNT: "10",
|
|
834
|
+
LAYERS: layers
|
|
835
|
+
.map(<span class="fstat-no" title="function not covered" >(l</span>ayer: typeof layerType) =>
|
|
836
|
+
<span class="cstat-no" title="statement not covered" > layer.visible && layer.queryable ? layer.Name : undefined</span>
|
|
837
|
+
)
|
|
838
|
+
.filter(<span class="fstat-no" title="function not covered" >(n</span>) => <span class="cstat-no" title="statement not covered" >n)</span>,
|
|
839
|
+
QUERY_LAYERS: layers
|
|
840
|
+
.map(<span class="fstat-no" title="function not covered" >(l</span>ayer: typeof layerType) =>
|
|
841
|
+
<span class="cstat-no" title="statement not covered" > layer.visible && layer.queryable ? layer.Name : undefined</span>
|
|
842
|
+
)
|
|
843
|
+
.filter(<span class="fstat-no" title="function not covered" >(n</span>) => <span class="cstat-no" title="statement not covered" >n)</span>,
|
|
844
|
+
WIDTH: mapRef.current?.map._container.clientWidth,
|
|
845
|
+
HEIGHT: mapRef.current?.map._container.clientHeight,
|
|
846
|
+
srs: "EPSG:3857",
|
|
847
|
+
CRS: "EPSG:3857",
|
|
848
|
+
version: "1.3.0",
|
|
849
|
+
X: ev.point.x,
|
|
850
|
+
Y: ev.point.y,
|
|
851
|
+
I: ev.point.x,
|
|
852
|
+
J: ev.point.y,
|
|
853
|
+
buffer: "50",
|
|
854
|
+
};
|
|
855
855
|
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
<span class="cstat-no" title="statement not covered" >
|
|
859
|
-
<span class="cstat-no" title="statement not covered" >
|
|
860
|
-
<span class="cstat-no" title="statement not covered" >
|
|
861
|
-
|
|
862
|
-
|
|
856
|
+
let _gfiUrl: string | undefined = <span class="cstat-no" title="statement not covered" >getFeatureInfoUrl;</span>
|
|
857
|
+
let _gfiUrlParts;
|
|
858
|
+
<span class="cstat-no" title="statement not covered" > if (_gfiUrl?.indexOf?.("?") !== -1) {</span>
|
|
859
|
+
<span class="cstat-no" title="statement not covered" > _gfiUrlParts = props.url.split("?");</span>
|
|
860
|
+
<span class="cstat-no" title="statement not covered" > _gfiUrl = _gfiUrlParts[0];</span>
|
|
861
|
+
}
|
|
862
|
+
let _urlParamsFromUrl = <span class="cstat-no" title="statement not covered" >new URLSearchParams(_gfiUrlParts?.[1]);</span>
|
|
863
863
|
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
864
|
+
let urlParamsObj = <span class="cstat-no" title="statement not covered" >{</span>
|
|
865
|
+
...Object.fromEntries(_urlParamsFromUrl),
|
|
866
|
+
..._getFeatureInfoUrlParams,
|
|
867
|
+
};
|
|
868
|
+
// create URLSearchParams object to assemble the URL Parameters
|
|
869
|
+
// "as any" can be removed once the URLSearchParams ts spec is fixed
|
|
870
|
+
let urlParams = <span class="cstat-no" title="statement not covered" >new URLSearchParams(urlParamsObj as any);</span>
|
|
871
871
|
|
|
872
|
-
<span class="cstat-no" title="statement not covered" >
|
|
873
|
-
|
|
874
|
-
<span class="cstat-no" title="statement not covered" >
|
|
875
|
-
<span class="cstat-no" title="statement not covered" >
|
|
876
|
-
|
|
877
|
-
<span class="cstat-no" title="statement not covered" >
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
<span class="cstat-no" title="statement not covered" >
|
|
881
|
-
<span class="cstat-no" title="statement not covered" >
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
872
|
+
<span class="cstat-no" title="statement not covered" > fetch(props.url + "?" + urlParams.toString())</span>
|
|
873
|
+
.then(<span class="fstat-no" title="function not covered" >(r</span>es) => {
|
|
874
|
+
<span class="cstat-no" title="statement not covered" > if (!res.ok) {</span>
|
|
875
|
+
<span class="cstat-no" title="statement not covered" > throw new Error("FeatureInfo could not be fetched");</span>
|
|
876
|
+
}
|
|
877
|
+
<span class="cstat-no" title="statement not covered" > return res.text();</span>
|
|
878
|
+
})
|
|
879
|
+
.then(<span class="fstat-no" title="function not covered" >(t</span>ext) => {
|
|
880
|
+
<span class="cstat-no" title="statement not covered" > setFeatureInfoLngLat(ev.lngLat);</span>
|
|
881
|
+
<span class="cstat-no" title="statement not covered" > setFeatureInfoContent(text);</span>
|
|
882
|
+
})
|
|
883
|
+
.catch(<span class="fstat-no" title="function not covered" >(e</span>rror) => <span class="cstat-no" title="statement not covered" >console.log(error))</span>;
|
|
884
|
+
},
|
|
885
|
+
[capabilities, getFeatureInfoUrl]
|
|
886
|
+
);
|
|
887
887
|
|
|
888
|
-
<span class="cstat-no" title="statement not covered" >
|
|
889
|
-
<span class="cstat-no" title="statement not covered" >
|
|
888
|
+
<span class="cstat-no" title="statement not covered" > useEffect(<span class="fstat-no" title="function not covered" >()</span> => {</span>
|
|
889
|
+
<span class="cstat-no" title="statement not covered" > if (!mapRef.current) <span class="cstat-no" title="statement not covered" >return;</span></span>
|
|
890
890
|
|
|
891
|
-
|
|
891
|
+
const _getFeatureInfo = <span class="cstat-no" title="statement not covered" >getFeatureInfo;</span>
|
|
892
892
|
|
|
893
|
-
<span class="cstat-no" title="statement not covered" >
|
|
894
|
-
<span class="cstat-no" title="statement not covered" >
|
|
895
|
-
<span class="cstat-no" title="statement not covered" >
|
|
896
|
-
|
|
897
|
-
|
|
893
|
+
<span class="cstat-no" title="statement not covered" > mapRef.current.on("click", _getFeatureInfo, componentId.current);</span>
|
|
894
|
+
<span class="cstat-no" title="statement not covered" > return <span class="fstat-no" title="function not covered" >()</span> => {</span>
|
|
895
|
+
<span class="cstat-no" title="statement not covered" > mapRef.current?.map.off?.("click", _getFeatureInfo);</span>
|
|
896
|
+
};
|
|
897
|
+
}, [getFeatureInfo]);
|
|
898
898
|
|
|
899
|
-
<span class="cstat-no" title="statement not covered" >
|
|
900
|
-
<span class="cstat-no" title="statement not covered" >
|
|
899
|
+
<span class="cstat-no" title="statement not covered" > useEffect(<span class="fstat-no" title="function not covered" >()</span> => {</span>
|
|
900
|
+
<span class="cstat-no" title="statement not covered" > if (!capabilities?.Service) <span class="cstat-no" title="statement not covered" >return;</span></span>
|
|
901
901
|
|
|
902
|
-
<span class="cstat-no" title="statement not covered" >
|
|
903
|
-
<span class="cstat-no" title="statement not covered" >
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
<span class="cstat-no" title="statement not covered" >
|
|
908
|
-
|
|
909
|
-
|
|
902
|
+
<span class="cstat-no" title="statement not covered" > if (capabilities?.Capability?.Layer?.SRS?.indexOf?.("EPSG:3857") === -1) {</span>
|
|
903
|
+
<span class="cstat-no" title="statement not covered" > console.log(</span>
|
|
904
|
+
"MlWmsLoader (" + capabilities.Service.Title + "): No WGS 84/Pseudo-Mercator support"
|
|
905
|
+
);
|
|
906
|
+
} else {
|
|
907
|
+
<span class="cstat-no" title="statement not covered" > console.log(</span>
|
|
908
|
+
"MlWmsLoader (" + capabilities.Service.Title + "): WGS 84/Pseudo-Mercator supported"
|
|
909
|
+
);
|
|
910
910
|
|
|
911
|
-
|
|
912
|
-
<span class="cstat-no" title="statement not covered" >
|
|
913
|
-
|
|
914
|
-
<span class="cstat-no" title="statement not covered" >
|
|
915
|
-
<span class="cstat-no" title="statement not covered" >
|
|
916
|
-
<span class="cstat-no" title="statement not covered" >
|
|
917
|
-
<span class="cstat-no" title="statement not covered" >
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
<span class="cstat-no" title="statement not covered" >
|
|
921
|
-
<span class="cstat-no" title="statement not covered" >
|
|
922
|
-
|
|
923
|
-
|
|
911
|
+
let _LatLonBoundingBox: Array<number> = <span class="cstat-no" title="statement not covered" >[];</span>
|
|
912
|
+
<span class="cstat-no" title="statement not covered" > setLayers(</span>
|
|
913
|
+
capabilities?.Capability?.Layer?.Layer.map(<span class="fstat-no" title="function not covered" >(l</span>ayer: typeof layerType, idx: number) => {
|
|
914
|
+
<span class="cstat-no" title="statement not covered" > if (idx === 0) {</span>
|
|
915
|
+
<span class="cstat-no" title="statement not covered" > _LatLonBoundingBox = layer.LatLonBoundingBox;</span>
|
|
916
|
+
<span class="cstat-no" title="statement not covered" > if (!_LatLonBoundingBox) {</span>
|
|
917
|
+
<span class="cstat-no" title="statement not covered" > _LatLonBoundingBox = layer.EX_GeographicBoundingBox;</span>
|
|
918
|
+
}
|
|
919
|
+
}
|
|
920
|
+
<span class="cstat-no" title="statement not covered" > layer.visible = capabilities?.Capability?.Layer?.Layer?.length > 2 ? idx > 1 : true;</span>
|
|
921
|
+
<span class="cstat-no" title="statement not covered" > return layer;</span>
|
|
922
|
+
})
|
|
923
|
+
);
|
|
924
924
|
|
|
925
|
-
|
|
926
|
-
<span class="cstat-no" title="statement not covered" >
|
|
927
|
-
<span class="cstat-no" title="statement not covered" >
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
925
|
+
// zoom to extent of first layer
|
|
926
|
+
<span class="cstat-no" title="statement not covered" > if (mapRef.current && _LatLonBoundingBox.length > 3) {</span>
|
|
927
|
+
<span class="cstat-no" title="statement not covered" > mapRef.current.map.fitBounds([</span>
|
|
928
|
+
[_LatLonBoundingBox[0], _LatLonBoundingBox[1]],
|
|
929
|
+
[_LatLonBoundingBox[2], _LatLonBoundingBox[3]],
|
|
930
|
+
]);
|
|
931
|
+
}
|
|
932
|
+
}
|
|
933
|
+
}, [capabilities]);
|
|
934
934
|
|
|
935
|
-
<span class="cstat-no" title="statement not covered" >
|
|
936
|
-
<span class="cstat-no" title="statement not covered" >
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
<span class="cstat-no" title="statement not covered" >
|
|
940
|
-
<span class="cstat-no" title="statement not covered" >
|
|
941
|
-
<span class="cstat-no" title="statement not covered" >
|
|
942
|
-
<span class="cstat-no" title="statement not covered" >
|
|
943
|
-
|
|
935
|
+
<span class="cstat-no" title="statement not covered" > useEffect(<span class="fstat-no" title="function not covered" >()</span> => {</span>
|
|
936
|
+
<span class="cstat-no" title="statement not covered" > if (!mapContext?.mapExists?.(props.mapId) || initializedRef.current) <span class="cstat-no" title="statement not covered" >return;</span></span>
|
|
937
|
+
// the MapLibre-gl instance (mapContext.map) is accessible here
|
|
938
|
+
// initialize the layer and add it to the MapLibre-gl instance or do something else with it
|
|
939
|
+
<span class="cstat-no" title="statement not covered" > initializedRef.current = true;</span>
|
|
940
|
+
<span class="cstat-no" title="statement not covered" > mapRef.current = mapContext.getMap(props.mapId);</span>
|
|
941
|
+
<span class="cstat-no" title="statement not covered" > console.log("set url " + props.url);</span>
|
|
942
|
+
<span class="cstat-no" title="statement not covered" > setUrl(props.url);</span>
|
|
943
|
+
}, [mapContext.mapIds, mapContext, props.mapId, props.url]);
|
|
944
944
|
|
|
945
|
-
<span class="cstat-no" title="statement not covered" >
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
<span class="cstat-no" title="statement not covered" >
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
<span class="cstat-no" title="statement not covered" >
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
<span class="cstat-no" title="statement not covered" >
|
|
974
|
-
<span class="cstat-no" title="statement not covered" >
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
945
|
+
<span class="cstat-no" title="statement not covered" > return (</span>
|
|
946
|
+
<>
|
|
947
|
+
{error && <p>{error}</p>}
|
|
948
|
+
<h3 key="title">{capabilities?.Service?.Title}</h3>
|
|
949
|
+
{console.log(componentId.current)}
|
|
950
|
+
{capabilities?.Capability?.Layer?.Layer.map(<span class="fstat-no" title="function not covered" >(l</span>ayer: any, idx: number) => (
|
|
951
|
+
<span class="cstat-no" title="statement not covered" > <MlLayer</span>
|
|
952
|
+
layerId={"Order-" + componentId.current + "-" + idx}
|
|
953
|
+
key={componentId.current + "-" + idx}
|
|
954
|
+
{...(idx > 0
|
|
955
|
+
? {
|
|
956
|
+
insertBeforeLayer: "Order-" + componentId.current + "-" + (idx - 1),
|
|
957
|
+
}
|
|
958
|
+
: undefined)}
|
|
959
|
+
/>
|
|
960
|
+
))}
|
|
961
|
+
<List dense key="layers">
|
|
962
|
+
{wmsUrl &&
|
|
963
|
+
layers?.map?.(<span class="fstat-no" title="function not covered" >(l</span>ayer: typeof layerType, idx) => {
|
|
964
|
+
<span class="cstat-no" title="statement not covered" > return layer?.Name ? (</span>
|
|
965
|
+
<ListItem
|
|
966
|
+
key={layer.Name + idx}
|
|
967
|
+
secondaryAction={
|
|
968
|
+
<IconButton
|
|
969
|
+
edge="end"
|
|
970
|
+
aria-label="toggle visibility"
|
|
971
|
+
onClick={<span class="fstat-no" title="function not covered" >()</span> => {
|
|
972
|
+
let _layers: Array<typeof layerType> = <span class="cstat-no" title="statement not covered" >[...layers];</span>
|
|
973
|
+
<span class="cstat-no" title="statement not covered" > _layers[idx].visible = !_layers[idx].visible;</span>
|
|
974
|
+
<span class="cstat-no" title="statement not covered" > setLayers([..._layers]);</span>
|
|
975
|
+
}}
|
|
976
|
+
>
|
|
977
|
+
{layers[idx].visible ? <VisibilityIcon /> : <VisibilityOffIcon />}
|
|
978
|
+
</IconButton>
|
|
979
|
+
}
|
|
980
|
+
>
|
|
981
|
+
<ListItemText primary={layer?.Title} secondary={layer?.Abstract} />
|
|
982
|
+
<MlWmsLayer
|
|
983
|
+
key={layer?.Name + idx}
|
|
984
|
+
url={wmsUrl}
|
|
985
|
+
urlParameters={{ ...props.wmsUrlParameters, layers: layer?.Name }}
|
|
986
|
+
visible={layers[idx].visible}
|
|
987
|
+
insertBeforeLayer={"Order-" + componentId.current + "-" + idx}
|
|
988
|
+
/>
|
|
989
|
+
</ListItem>
|
|
990
|
+
) : (
|
|
991
|
+
<></>
|
|
992
|
+
);
|
|
993
|
+
})}
|
|
994
|
+
</List>
|
|
995
|
+
<p key="description" style={{ fontSize: ".7em" }}>
|
|
996
|
+
{capabilities?.Capability?.Layer?.Abstract}
|
|
997
|
+
</p>
|
|
998
998
|
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
999
|
+
{featureInfoLngLat && <MlMarker {...featureInfoLngLat} content={featureInfoContent} />}
|
|
1000
|
+
</>
|
|
1001
|
+
);
|
|
1002
1002
|
};
|
|
1003
1003
|
|
|
1004
1004
|
<span class="cstat-no" title="statement not covered" >MlWmsLoader.defaultProps = {</span>
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1005
|
+
url: "",
|
|
1006
|
+
urlParameters: {
|
|
1007
|
+
SERVICE: "WMS",
|
|
1008
|
+
VERSION: "1.3.0",
|
|
1009
|
+
REQUEST: "GetCapabilities",
|
|
1010
|
+
},
|
|
1011
|
+
wmsUrlParameters: {
|
|
1012
|
+
TRANSPARENT: "TRUE",
|
|
1013
|
+
},
|
|
1014
1014
|
};
|
|
1015
1015
|
|
|
1016
1016
|
export default MlWmsLoader;
|
|
@@ -1021,7 +1021,7 @@ export default MlWmsLoader;
|
|
|
1021
1021
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1022
1022
|
Code coverage generated by
|
|
1023
1023
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
1024
|
-
at
|
|
1024
|
+
at Tue Oct 04 2022 11:59:51 GMT+0000 (Coordinated Universal Time)
|
|
1025
1025
|
</div>
|
|
1026
1026
|
<script src="../../../prettify.js"></script>
|
|
1027
1027
|
<script>
|
|
@@ -101,7 +101,7 @@
|
|
|
101
101
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
102
102
|
Code coverage generated by
|
|
103
103
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
104
|
-
at
|
|
104
|
+
at Tue Oct 04 2022 11:59:51 GMT+0000 (Coordinated Universal Time)
|
|
105
105
|
</div>
|
|
106
106
|
<script src="../../../prettify.js"></script>
|
|
107
107
|
<script>
|