@mapcomponents/react-maplibre 0.1.11 → 0.1.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (135) hide show
  1. package/.github/workflows/storybook.yml +10 -5
  2. package/coverage/clover.xml +894 -747
  3. package/coverage/coverage-final.json +22 -17
  4. package/coverage/lcov-report/block-navigation.js +8 -0
  5. package/coverage/lcov-report/index.html +188 -122
  6. package/coverage/lcov-report/sorter.js +26 -0
  7. package/coverage/lcov-report/{components → src/components}/MapLibreMap/MapLibreMap.js.html +17 -11
  8. package/coverage/lcov-report/{components → src/components}/MapLibreMap/index.html +17 -11
  9. package/coverage/lcov-report/{components → src/components}/MlCreatePdfButton/MlCreatePdfButton.js.html +17 -11
  10. package/coverage/lcov-report/{components → src/components}/MlCreatePdfButton/index.html +17 -11
  11. package/coverage/lcov-report/{components → src/components}/MlFeatureEditor/MlFeatureEditor.js.html +17 -11
  12. package/coverage/lcov-report/{components → src/components}/MlFeatureEditor/index.html +17 -11
  13. package/coverage/lcov-report/{components → src/components}/MlFillExtrusionLayer/MlFillExtrusionLayer.js.html +17 -11
  14. package/coverage/lcov-report/{components → src/components}/MlFillExtrusionLayer/index.html +17 -11
  15. package/coverage/lcov-report/{components → src/components}/MlFollowGps/MlFollowGps.js.html +84 -69
  16. package/coverage/lcov-report/{components → src/components}/MlFollowGps/index.html +27 -21
  17. package/coverage/lcov-report/{components → src/components}/MlGPXViewer/MlGPXViewer.js.html +73 -61
  18. package/coverage/lcov-report/{components → src/components}/MlGPXViewer/gpxConverter.js.html +56 -71
  19. package/coverage/lcov-report/{components → src/components}/MlGPXViewer/index.html +32 -26
  20. package/coverage/lcov-report/{components → src/components}/MlGeoJsonLayer/MlGeoJsonLayer.js.html +162 -48
  21. package/coverage/lcov-report/{components → src/components}/MlGeoJsonLayer/index.html +35 -29
  22. package/coverage/lcov-report/src/components/MlImageMarkerLayer/MlImageMarkerLayer.js.html +311 -0
  23. package/coverage/lcov-report/{components → src/components}/MlImageMarkerLayer/index.html +35 -29
  24. package/coverage/lcov-report/{components/MlImageMarkerLayer/MlImageMarkerLayer.js.html → src/components/MlLayer/MlLayer.js.html} +123 -126
  25. package/coverage/lcov-report/src/components/MlLayer/index.html +117 -0
  26. package/coverage/lcov-report/{components → src/components}/MlLayerMagnify/MlLayerMagnify.js.html +48 -42
  27. package/coverage/lcov-report/{components → src/components}/MlLayerMagnify/index.html +31 -25
  28. package/coverage/lcov-report/{components → src/components}/MlLayerSwipe/MlLayerSwipe.js.html +45 -42
  29. package/coverage/lcov-report/{components → src/components}/MlLayerSwipe/index.html +31 -25
  30. package/coverage/lcov-report/src/components/MlLayerSwitcher/MlLayerSwitcher.js.html +755 -0
  31. package/coverage/lcov-report/src/components/MlLayerSwitcher/components/LayerBox.js.html +380 -0
  32. package/coverage/lcov-report/src/components/MlLayerSwitcher/components/index.html +117 -0
  33. package/coverage/lcov-report/src/components/MlLayerSwitcher/index.html +117 -0
  34. package/coverage/lcov-report/{components → src/components}/MlMarker/MlMarker.js.html +18 -12
  35. package/coverage/lcov-report/{components → src/components}/MlMarker/index.html +17 -11
  36. package/coverage/lcov-report/{components → src/components}/MlNavigationCompass/MlNavigationCompass.js.html +17 -11
  37. package/coverage/lcov-report/{components → src/components}/MlNavigationCompass/index.html +17 -11
  38. package/coverage/lcov-report/{components → src/components}/MlNavigationTools/MlNavigationTools.js.html +57 -42
  39. package/coverage/lcov-report/{components → src/components}/MlNavigationTools/index.html +25 -19
  40. package/coverage/lcov-report/{components → src/components}/MlOsmLayer/MlOsmLayer.js.html +17 -11
  41. package/coverage/lcov-report/{components → src/components}/MlOsmLayer/index.html +17 -11
  42. package/coverage/lcov-report/{components → src/components}/MlScaleReference/MlScaleReference.js.html +17 -11
  43. package/coverage/lcov-report/{components → src/components}/MlScaleReference/index.html +17 -11
  44. package/coverage/lcov-report/{components → src/components}/MlShareMapState/MlShareMapState.js.html +224 -26
  45. package/coverage/lcov-report/{components → src/components}/MlShareMapState/index.html +25 -19
  46. package/coverage/lcov-report/{components → src/components}/MlSpatialElevationProfile/MlSpatialElevationProfile.js.html +17 -11
  47. package/coverage/lcov-report/{components → src/components}/MlSpatialElevationProfile/index.html +17 -11
  48. package/coverage/lcov-report/{components → src/components}/MlThreeJsLayer/MlThreeJsLayer.js.html +37 -55
  49. package/coverage/lcov-report/{components → src/components}/MlThreeJsLayer/index.html +31 -25
  50. package/coverage/lcov-report/{components → src/components}/MlUseMapDebugger/MlUseMapDebugger.js.html +17 -11
  51. package/coverage/lcov-report/{components → src/components}/MlUseMapDebugger/index.html +17 -11
  52. package/coverage/lcov-report/{components → src/components}/MlVectorTileLayer/MlVectorTileLayer.js.html +17 -11
  53. package/coverage/lcov-report/{components → src/components}/MlVectorTileLayer/index.html +17 -11
  54. package/coverage/lcov-report/{components → src/components}/MlWmsFeatureInfoPopup/MlWmsFeatureInfoPopup.js.html +17 -11
  55. package/coverage/lcov-report/{components → src/components}/MlWmsFeatureInfoPopup/index.html +17 -11
  56. package/coverage/lcov-report/{components → src/components}/MlWmsLayer/MlWmsLayer.js.html +20 -14
  57. package/coverage/lcov-report/{components → src/components}/MlWmsLayer/index.html +21 -15
  58. package/coverage/lcov-report/{components → src/components}/MlWmsLoader/MlWmsLoader.js.html +38 -20
  59. package/coverage/lcov-report/{components → src/components}/MlWmsLoader/index.html +23 -17
  60. package/coverage/lcov-report/src/hooks/index.html +147 -0
  61. package/coverage/lcov-report/{components/MlLayer/MlLayer.js.html → src/hooks/useMap.js.html} +86 -119
  62. package/coverage/lcov-report/{hooks → src/hooks}/useMapState.js.html +98 -92
  63. package/coverage/lcov-report/{hooks → src/hooks}/useWms.js.html +25 -19
  64. package/coverage/lcov-report/src/i18n.js.html +167 -0
  65. package/coverage/lcov-report/src/index.html +117 -0
  66. package/coverage/lcov-report/src/translations/english.js.html +95 -0
  67. package/coverage/lcov-report/src/translations/german.js.html +95 -0
  68. package/coverage/lcov-report/src/translations/index.html +132 -0
  69. package/coverage/lcov.info +1620 -1306
  70. package/dist/b556faa3bc6829d2.png +0 -0
  71. package/dist/index.esm.js +976 -688
  72. package/dist/index.esm.js.map +1 -1
  73. package/package.json +3 -1
  74. package/public/assets/dop.png +0 -0
  75. package/public/assets/historic.png +0 -0
  76. package/public/assets/osm.png +0 -0
  77. package/public/thumbnails/MlFollowGps.png +0 -0
  78. package/public/thumbnails/MlThreeJsLayer.png +0 -0
  79. package/rollup.config.js +7 -1
  80. package/src/components/MapLibreMap/lib/MapLibreGlWrapper.js +53 -67
  81. package/src/components/MlCreatePdfButton/MlCreatePdfButton.meta.json +1 -1
  82. package/src/components/MlFeatureEditor/MlFeatureEditor.meta.json +2 -2
  83. package/src/components/MlFollowGps/MlFollowGps.js +49 -46
  84. package/src/components/MlFollowGps/MlFollowGps.meta.json +2 -2
  85. package/src/components/MlFollowGps/assets/marker.png +0 -0
  86. package/src/components/MlGPXViewer/MlGPXViewer.js +45 -43
  87. package/src/components/MlGPXViewer/gpxConverter.js +22 -29
  88. package/src/components/MlGeoJsonLayer/MlGeoJsonLayer.js +45 -9
  89. package/src/components/MlGeoJsonLayer/MlGeoJsonLayer.meta.json +1 -1
  90. package/src/components/MlImageMarkerLayer/MlImageMarkerLayer.js +21 -57
  91. package/src/components/MlImageMarkerLayer/MlImageMarkerLayer.test.js +6 -7
  92. package/src/components/MlLayer/MlLayer.js +28 -6
  93. package/src/components/MlLayer/MlLayer.test.js +12 -10
  94. package/src/components/MlLayerMagnify/MlLayerMagnify.js +3 -3
  95. package/src/components/MlLayerSwipe/MlLayerSwipe.js +4 -5
  96. package/src/components/MlLayerSwitcher/MlLayerSwitcher.css +17 -0
  97. package/src/components/MlLayerSwitcher/MlLayerSwitcher.doc.de.md +3 -0
  98. package/src/components/MlLayerSwitcher/MlLayerSwitcher.js +223 -0
  99. package/src/components/MlLayerSwitcher/MlLayerSwitcher.meta_.json +15 -0
  100. package/src/components/MlLayerSwitcher/MlLayerSwitcher.stories.js +106 -0
  101. package/src/components/MlLayerSwitcher/assets/sample_1.json +26 -0
  102. package/src/components/MlLayerSwitcher/assets/sample_2.json +22 -0
  103. package/src/components/MlLayerSwitcher/components/LayerBox.js +98 -0
  104. package/src/components/MlMarker/MlMarker.js +1 -1
  105. package/src/components/MlNavigationTools/MlNavigationTools.js +29 -26
  106. package/src/components/MlScaleReference/MlScaleReference.meta.json +1 -1
  107. package/src/components/MlScaleReference/MlScaleReference.stories.js +25 -21
  108. package/src/components/MlShareMapState/MlShareMapState.js +73 -9
  109. package/src/components/MlShareMapState/MlShareMapState.stories.js +24 -1
  110. package/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.stories.js +12 -6
  111. package/src/components/MlThreeJsLayer/MlThreeJsLayer.js +8 -15
  112. package/src/components/MlVectorTileLayer/MlVectorTileLayer.meta.json +3 -3
  113. package/src/components/MlWmsLayer/MlWmsLayer.js +1 -1
  114. package/src/components/MlWmsLoader/MlWmsLoader.js +8 -4
  115. package/src/components/MlWmsLoader/MlWmsLoader.meta.json +1 -1
  116. package/src/components/MlWmsLoader/MlWmsLoader.stories.js +5 -4
  117. package/src/decorators/EmptyMapContextDecorator.js +11 -6
  118. package/src/decorators/MapContext3DDecorator.js +25 -20
  119. package/src/decorators/MapContextDashboardDecorator.js +7 -2
  120. package/src/decorators/MapContextDecorator.js +7 -3
  121. package/src/decorators/MapContextKlokantechBasicDecorator.js +8 -4
  122. package/src/decorators/MultiMapContextDecorator.js +2 -1
  123. package/src/hooks/useMap.js +36 -62
  124. package/src/hooks/useMapState.js +3 -3
  125. package/src/hooks/useWms.js +7 -6
  126. package/src/i18n.js +28 -0
  127. package/src/index.js +3 -0
  128. package/src/translations/english.js +4 -0
  129. package/src/translations/german.js +4 -0
  130. package/src/ui_components/ImageLoader.js +73 -0
  131. package/src/ui_components/Sidebar.js +76 -22
  132. package/src/ui_components/TopToolbar.js +18 -18
  133. package/coverage/lcov-report/components/MlLayer/index.html +0 -111
  134. package/coverage/lcov-report/hooks/index.html +0 -141
  135. package/coverage/lcov-report/hooks/useMap.js.html +0 -377
@@ -3,15 +3,15 @@
3
3
  <html lang="en">
4
4
 
5
5
  <head>
6
- <title>Code coverage report for hooks/useMapState.js</title>
6
+ <title>Code coverage report for src/hooks/useMapState.js</title>
7
7
  <meta charset="utf-8" />
8
- <link rel="stylesheet" href="../prettify.css" />
9
- <link rel="stylesheet" href="../base.css" />
10
- <link rel="shortcut icon" type="image/x-icon" href="../favicon.png" />
8
+ <link rel="stylesheet" href="../../prettify.css" />
9
+ <link rel="stylesheet" href="../../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
11
11
  <meta name="viewport" content="width=device-width, initial-scale=1" />
12
12
  <style type='text/css'>
13
13
  .coverage-summary .sorter {
14
- background-image: url(../sort-arrow-sprite.png);
14
+ background-image: url(../../sort-arrow-sprite.png);
15
15
  }
16
16
  </style>
17
17
  </head>
@@ -19,34 +19,34 @@
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">hooks</a> useMapState.js</h1>
22
+ <h1><a href="../../index.html">All files</a> / <a href="index.html">src/hooks</a> useMapState.js</h1>
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">0% </span>
26
+ <span class="strong">74.46% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>0/47</span>
28
+ <span class='fraction'>35/47</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">0% </span>
33
+ <span class="strong">36.36% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>0/22</span>
35
+ <span class='fraction'>8/22</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">0% </span>
40
+ <span class="strong">71.42% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>0/7</span>
42
+ <span class='fraction'>5/7</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">0% </span>
47
+ <span class="strong">73.91% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>0/46</span>
49
+ <span class='fraction'>34/46</span>
50
50
  </div>
51
51
 
52
52
 
@@ -54,8 +54,14 @@
54
54
  <p class="quiet">
55
55
  Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
56
  </p>
57
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input oninput="onInput()" type="search" id="fileSearch">
61
+ </div>
62
+ </template>
57
63
  </div>
58
- <div class='status-line low'></div>
64
+ <div class='status-line medium'></div>
59
65
  <pre><table class="coverage">
60
66
  <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
61
67
  <a name='L2'></a><a href='#L2'>2</a>
@@ -234,20 +240,20 @@
234
240
  <span class="cline-any cline-neutral">&nbsp;</span>
235
241
  <span class="cline-any cline-neutral">&nbsp;</span>
236
242
  <span class="cline-any cline-neutral">&nbsp;</span>
237
- <span class="cline-any cline-no">&nbsp;</span>
243
+ <span class="cline-any cline-yes">40x</span>
238
244
  <span class="cline-any cline-neutral">&nbsp;</span>
239
- <span class="cline-any cline-no">&nbsp;</span>
240
- <span class="cline-any cline-no">&nbsp;</span>
245
+ <span class="cline-any cline-yes">40x</span>
246
+ <span class="cline-any cline-yes">40x</span>
241
247
  <span class="cline-any cline-neutral">&nbsp;</span>
242
- <span class="cline-any cline-no">&nbsp;</span>
248
+ <span class="cline-any cline-yes">40x</span>
243
249
  <span class="cline-any cline-neutral">&nbsp;</span>
244
- <span class="cline-any cline-no">&nbsp;</span>
245
- <span class="cline-any cline-no">&nbsp;</span>
250
+ <span class="cline-any cline-yes">40x</span>
251
+ <span class="cline-any cline-yes">40x</span>
246
252
  <span class="cline-any cline-neutral">&nbsp;</span>
247
- <span class="cline-any cline-no">&nbsp;</span>
248
- <span class="cline-any cline-no">&nbsp;</span>
253
+ <span class="cline-any cline-yes">40x</span>
254
+ <span class="cline-any cline-yes">40x</span>
249
255
  <span class="cline-any cline-neutral">&nbsp;</span>
250
- <span class="cline-any cline-no">&nbsp;</span>
256
+ <span class="cline-any cline-yes">40x</span>
251
257
  <span class="cline-any cline-neutral">&nbsp;</span>
252
258
  <span class="cline-any cline-neutral">&nbsp;</span>
253
259
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -256,7 +262,7 @@
256
262
  <span class="cline-any cline-neutral">&nbsp;</span>
257
263
  <span class="cline-any cline-neutral">&nbsp;</span>
258
264
  <span class="cline-any cline-neutral">&nbsp;</span>
259
- <span class="cline-any cline-no">&nbsp;</span>
265
+ <span class="cline-any cline-yes">40x</span>
260
266
  <span class="cline-any cline-neutral">&nbsp;</span>
261
267
  <span class="cline-any cline-no">&nbsp;</span>
262
268
  <span class="cline-any cline-no">&nbsp;</span>
@@ -275,33 +281,33 @@
275
281
  <span class="cline-any cline-neutral">&nbsp;</span>
276
282
  <span class="cline-any cline-neutral">&nbsp;</span>
277
283
  <span class="cline-any cline-neutral">&nbsp;</span>
278
- <span class="cline-any cline-no">&nbsp;</span>
279
- <span class="cline-any cline-no">&nbsp;</span>
280
- <span class="cline-any cline-no">&nbsp;</span>
281
- <span class="cline-any cline-no">&nbsp;</span>
282
- <span class="cline-any cline-no">&nbsp;</span>
283
- <span class="cline-any cline-no">&nbsp;</span>
284
+ <span class="cline-any cline-yes">40x</span>
285
+ <span class="cline-any cline-yes">12x</span>
286
+ <span class="cline-any cline-yes">12x</span>
287
+ <span class="cline-any cline-yes">12x</span>
288
+ <span class="cline-any cline-yes">12x</span>
289
+ <span class="cline-any cline-yes">12x</span>
284
290
  <span class="cline-any cline-neutral">&nbsp;</span>
285
291
  <span class="cline-any cline-neutral">&nbsp;</span>
286
292
  <span class="cline-any cline-neutral">&nbsp;</span>
287
- <span class="cline-any cline-no">&nbsp;</span>
288
- <span class="cline-any cline-no">&nbsp;</span>
293
+ <span class="cline-any cline-yes">40x</span>
294
+ <span class="cline-any cline-yes">12x</span>
289
295
  <span class="cline-any cline-neutral">&nbsp;</span>
290
- <span class="cline-any cline-no">&nbsp;</span>
291
- <span class="cline-any cline-no">&nbsp;</span>
292
- <span class="cline-any cline-no">&nbsp;</span>
293
- <span class="cline-any cline-no">&nbsp;</span>
296
+ <span class="cline-any cline-yes">12x</span>
297
+ <span class="cline-any cline-yes">6x</span>
298
+ <span class="cline-any cline-yes">6x</span>
299
+ <span class="cline-any cline-yes">6x</span>
294
300
  <span class="cline-any cline-neutral">&nbsp;</span>
295
- <span class="cline-any cline-no">&nbsp;</span>
301
+ <span class="cline-any cline-yes">6x</span>
296
302
  <span class="cline-any cline-neutral">&nbsp;</span>
297
303
  <span class="cline-any cline-neutral">&nbsp;</span>
298
304
  <span class="cline-any cline-neutral">&nbsp;</span>
299
- <span class="cline-any cline-no">&nbsp;</span>
300
- <span class="cline-any cline-no">&nbsp;</span>
305
+ <span class="cline-any cline-yes">40x</span>
306
+ <span class="cline-any cline-yes">24x</span>
301
307
  <span class="cline-any cline-neutral">&nbsp;</span>
302
308
  <span class="cline-any cline-neutral">&nbsp;</span>
303
- <span class="cline-any cline-no">&nbsp;</span>
304
- <span class="cline-any cline-no">&nbsp;</span>
309
+ <span class="cline-any cline-yes">12x</span>
310
+ <span class="cline-any cline-yes">12x</span>
305
311
  <span class="cline-any cline-neutral">&nbsp;</span>
306
312
  <span class="cline-any cline-neutral">&nbsp;</span>
307
313
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -313,7 +319,7 @@
313
319
  <span class="cline-any cline-neutral">&nbsp;</span>
314
320
  <span class="cline-any cline-neutral">&nbsp;</span>
315
321
  <span class="cline-any cline-neutral">&nbsp;</span>
316
- <span class="cline-any cline-no">&nbsp;</span>
322
+ <span class="cline-any cline-yes">12x</span>
317
323
  <span class="cline-any cline-no">&nbsp;</span>
318
324
  <span class="cline-any cline-neutral">&nbsp;</span>
319
325
  <span class="cline-any cline-no">&nbsp;</span>
@@ -328,10 +334,10 @@
328
334
  <span class="cline-any cline-neutral">&nbsp;</span>
329
335
  <span class="cline-any cline-neutral">&nbsp;</span>
330
336
  <span class="cline-any cline-neutral">&nbsp;</span>
331
- <span class="cline-any cline-no">&nbsp;</span>
332
- <span class="cline-any cline-no">&nbsp;</span>
337
+ <span class="cline-any cline-yes">12x</span>
338
+ <span class="cline-any cline-yes">12x</span>
333
339
  <span class="cline-any cline-neutral">&nbsp;</span>
334
- <span class="cline-any cline-no">&nbsp;</span>
340
+ <span class="cline-any cline-yes">12x</span>
335
341
  <span class="cline-any cline-neutral">&nbsp;</span>
336
342
  <span class="cline-any cline-neutral">&nbsp;</span>
337
343
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -343,13 +349,13 @@
343
349
  <span class="cline-any cline-neutral">&nbsp;</span>
344
350
  <span class="cline-any cline-neutral">&nbsp;</span>
345
351
  <span class="cline-any cline-neutral">&nbsp;</span>
346
- <span class="cline-any cline-no">&nbsp;</span>
352
+ <span class="cline-any cline-yes">40x</span>
347
353
  <span class="cline-any cline-neutral">&nbsp;</span>
348
354
  <span class="cline-any cline-neutral">&nbsp;</span>
349
355
  <span class="cline-any cline-neutral">&nbsp;</span>
350
356
  <span class="cline-any cline-neutral">&nbsp;</span>
351
357
  <span class="cline-any cline-neutral">&nbsp;</span>
352
- <span class="cline-any cline-no">&nbsp;</span>
358
+ <span class="cline-any cline-yes">4x</span>
353
359
  <span class="cline-any cline-neutral">&nbsp;</span>
354
360
  <span class="cline-any cline-neutral">&nbsp;</span>
355
361
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -361,7 +367,7 @@
361
367
  <span class="cline-any cline-neutral">&nbsp;</span>
362
368
  <span class="cline-any cline-neutral">&nbsp;</span>
363
369
  <span class="cline-any cline-neutral">&nbsp;</span>
364
- <span class="cline-any cline-no">&nbsp;</span>
370
+ <span class="cline-any cline-yes">4x</span>
365
371
  <span class="cline-any cline-neutral">&nbsp;</span>
366
372
  <span class="cline-any cline-neutral">&nbsp;</span>
367
373
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -397,22 +403,22 @@ import { MapContext } from "@mapcomponents/react-core";
397
403
  *
398
404
  * @component
399
405
  */
400
- function <span class="fstat-no" title="function not covered" >useMapState(</span>props) {
406
+ function useMapState(props) {
401
407
  // Use a useRef hook to reference the layer object to be able to access it later inside useEffect hooks
402
- const mapContext = <span class="cstat-no" title="statement not covered" >useContext(MapContext);</span>
408
+ const mapContext = useContext(MapContext);
403
409
  &nbsp;
404
- const initializedRef = <span class="cstat-no" title="statement not covered" >useRef(false);</span>
405
- const mapRef = <span class="cstat-no" title="statement not covered" >useRef(undefined);</span>
410
+ const initializedRef = useRef(false);
411
+ const mapRef = useRef(undefined);
406
412
  &nbsp;
407
- const [center, setCenter] = <span class="cstat-no" title="statement not covered" >useState(undefined);</span>
413
+ const [center, setCenter] = useState(undefined);
408
414
  &nbsp;
409
- const [viewport, setViewport] = <span class="cstat-no" title="statement not covered" >useState(undefined);</span>
410
- const viewportRef = <span class="cstat-no" title="statement not covered" >useRef(undefined);</span>
415
+ const [viewport, setViewport] = useState(undefined);
416
+ const viewportRef = useRef(undefined);
411
417
  &nbsp;
412
- const [layers, setLayers] = <span class="cstat-no" title="statement not covered" >useState(undefined);</span>
413
- const layersRef = <span class="cstat-no" title="statement not covered" >useRef(undefined);</span>
418
+ const [layers, setLayers] = useState(undefined);
419
+ const layersRef = useRef(undefined);
414
420
  //const mapRef = useRef(props.map);
415
- const componentId = <span class="cstat-no" title="statement not covered" >useRef(uuidv4());</span>
421
+ const componentId = useRef(uuidv4());
416
422
  &nbsp;
417
423
  &nbsp;
418
424
  /**
@@ -421,13 +427,13 @@ function <span class="fstat-no" title="function not covered" >useMapState(</span
421
427
  *
422
428
  * @param {object} layer
423
429
  */
424
- const layerIdFilter = <span class="cstat-no" title="statement not covered" >useCallback(</span>
430
+ const layerIdFilter = useCallback(
425
431
  <span class="fstat-no" title="function not covered" > (l</span>ayer) =&gt; {
426
- <span class="cstat-no" title="statement not covered" > if (!props.filter.includeBaseLayers &amp;&amp; layer.baseLayer) {</span>
432
+ <span class="cstat-no" title="statement not covered" > if (!props?.filter?.includeBaseLayers &amp;&amp; layer.baseLayer) {</span>
427
433
  <span class="cstat-no" title="statement not covered" > return false;</span>
428
434
  }
429
435
  &nbsp;
430
- <span class="cstat-no" title="statement not covered" > if (typeof props.filter.matchLayerIds !== "undefined") {</span>
436
+ <span class="cstat-no" title="statement not covered" > if (typeof props.filter?.matchLayerIds !== "undefined") {</span>
431
437
  <span class="cstat-no" title="statement not covered" > if (props.filter.matchLayerIds instanceof RegExp) {</span>
432
438
  <span class="cstat-no" title="statement not covered" > return props.filter.matchLayerIds.test(layer.id);</span>
433
439
  } else {
@@ -440,33 +446,33 @@ function <span class="fstat-no" title="function not covered" >useMapState(</span
440
446
  [props.filter]
441
447
  );
442
448
  &nbsp;
443
- const refreshLayerState = <span class="cstat-no" title="statement not covered" >useCallback(<span class="fstat-no" title="function not covered" >()</span> =&gt; {</span>
444
- let _layerState = <span class="cstat-no" title="statement not covered" >mapRef.current.wrapper.layerState.filter(layerIdFilter);</span>
445
- let _layerStateString = <span class="cstat-no" title="statement not covered" >JSON.stringify(_layerState);</span>
446
- <span class="cstat-no" title="statement not covered" > if (layersRef.current !== _layerStateString) {</span>
447
- <span class="cstat-no" title="statement not covered" > layersRef.current = _layerStateString;</span>
448
- <span class="cstat-no" title="statement not covered" > setLayers(_layerState);</span>
449
+ const refreshLayerState = useCallback(() =&gt; {
450
+ let _layerState = mapRef.current.wrapper.layerState.filter(layerIdFilter);
451
+ let _layerStateString = JSON.stringify(_layerState);
452
+ if (layersRef.current !== _layerStateString) {
453
+ layersRef.current = _layerStateString;
454
+ setLayers(_layerState);
449
455
  }
450
- },[layerIdFilter]);
456
+ }, [layerIdFilter]);
451
457
  &nbsp;
452
- <span class="cstat-no" title="statement not covered" > useEffect(<span class="fstat-no" title="function not covered" >()</span> =&gt; {</span>
453
- let _componentId = <span class="cstat-no" title="statement not covered" >componentId.current;</span>
458
+ useEffect(() =&gt; {
459
+ let _componentId = componentId.current;
454
460
  &nbsp;
455
- <span class="cstat-no" title="statement not covered" > return <span class="fstat-no" title="function not covered" >()</span> =&gt; {</span>
456
- <span class="cstat-no" title="statement not covered" > if (mapRef.current) {</span>
457
- <span class="cstat-no" title="statement not covered" > mapRef.current.cleanup(_componentId);</span>
458
- <span class="cstat-no" title="statement not covered" > mapRef.current = undefined;</span>
461
+ return () =&gt; {
462
+ if (mapRef.current) {
463
+ mapRef.current.cleanup(_componentId);
464
+ mapRef.current = undefined;
459
465
  }
460
- <span class="cstat-no" title="statement not covered" > initializedRef.current = false;</span>
466
+ initializedRef.current = false;
461
467
  };
462
468
  }, []);
463
469
  &nbsp;
464
- <span class="cstat-no" title="statement not covered" > useEffect(<span class="fstat-no" title="function not covered" >()</span> =&gt; {</span>
465
- <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>
470
+ useEffect(() =&gt; {
471
+ if (!mapContext.mapExists(props.mapId) || initializedRef.current) return;
466
472
  // the MapLibre-gl instance (mapContext.getMap(props.mapId)) is accessible here
467
473
  // initialize the layer and add it to the MapLibre-gl instance or do something else with it
468
- <span class="cstat-no" title="statement not covered" > initializedRef.current = true;</span>
469
- <span class="cstat-no" title="statement not covered" > mapRef.current = mapContext.getMap(props.mapId);</span>
474
+ initializedRef.current = true;
475
+ mapRef.current = mapContext.getMap(props.mapId);
470
476
  &nbsp;
471
477
  /*
472
478
  mapRef.current.on(
@@ -478,7 +484,7 @@ function <span class="fstat-no" title="function not covered" >useMapState(</span
478
484
  );
479
485
  */
480
486
  &nbsp;
481
- <span class="cstat-no" title="statement not covered" > if (props?.watch?.viewport) {</span>
487
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (props?.watch?.viewport) {
482
488
  <span class="cstat-no" title="statement not covered" > setViewport(mapRef.current.wrapper.viewportState);</span>
483
489
  &nbsp;
484
490
  <span class="cstat-no" title="statement not covered" > mapRef.current.wrapper.on(</span>
@@ -493,10 +499,10 @@ function <span class="fstat-no" title="function not covered" >useMapState(</span
493
499
  );
494
500
  }
495
501
  &nbsp;
496
- <span class="cstat-no" title="statement not covered" > if (props?.watch?.layers) {</span>
497
- <span class="cstat-no" title="statement not covered" > refreshLayerState();</span>
502
+ if (props?.watch?.layers) {
503
+ refreshLayerState();
498
504
  &nbsp;
499
- <span class="cstat-no" title="statement not covered" > mapRef.current.wrapper.on(</span>
505
+ mapRef.current.wrapper.on(
500
506
  "layerchange",
501
507
  refreshLayerState,
502
508
  {
@@ -508,13 +514,13 @@ function <span class="fstat-no" title="function not covered" >useMapState(</span
508
514
  }
509
515
  }, [mapContext.mapIds, mapContext, props.mapId, refreshLayerState]);
510
516
  &nbsp;
511
- <span class="cstat-no" title="statement not covered" > return {</span>
517
+ return {
512
518
  layers,
513
519
  viewport,
514
520
  };
515
521
  }
516
522
  &nbsp;
517
- <span class="cstat-no" title="statement not covered" >useMapState.defaultProps = {</span>
523
+ useMapState.defaultProps = {
518
524
  mapId: undefined,
519
525
  watch: {
520
526
  layers: true,
@@ -526,7 +532,7 @@ function <span class="fstat-no" title="function not covered" >useMapState(</span
526
532
  },
527
533
  };
528
534
  &nbsp;
529
- <span class="cstat-no" title="statement not covered" >useMapState.propTypes = {</span>
535
+ useMapState.propTypes = {
530
536
  /**
531
537
  * Id of the target MapLibre instance in mapContext
532
538
  */
@@ -558,18 +564,18 @@ export default useMapState;
558
564
  </div><!-- /wrapper -->
559
565
  <div class='footer quiet pad2 space-top1 center small'>
560
566
  Code coverage generated by
561
- <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
562
- at Wed Dec 01 2021 11:10:48 GMT+0000 (Coordinated Universal Time)
567
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener">istanbul</a>
568
+ at Tue Dec 21 2021 11:51:22 GMT+0000 (Coordinated Universal Time)
563
569
  </div>
564
570
  </div>
565
- <script src="../prettify.js"></script>
571
+ <script src="../../prettify.js"></script>
566
572
  <script>
567
573
  window.onload = function () {
568
574
  prettyPrint();
569
575
  };
570
576
  </script>
571
- <script src="../sorter.js"></script>
572
- <script src="../block-navigation.js"></script>
577
+ <script src="../../sorter.js"></script>
578
+ <script src="../../block-navigation.js"></script>
573
579
  </body>
574
580
  </html>
575
581
 
@@ -3,15 +3,15 @@
3
3
  <html lang="en">
4
4
 
5
5
  <head>
6
- <title>Code coverage report for hooks/useWms.js</title>
6
+ <title>Code coverage report for src/hooks/useWms.js</title>
7
7
  <meta charset="utf-8" />
8
- <link rel="stylesheet" href="../prettify.css" />
9
- <link rel="stylesheet" href="../base.css" />
10
- <link rel="shortcut icon" type="image/x-icon" href="../favicon.png" />
8
+ <link rel="stylesheet" href="../../prettify.css" />
9
+ <link rel="stylesheet" href="../../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
11
11
  <meta name="viewport" content="width=device-width, initial-scale=1" />
12
12
  <style type='text/css'>
13
13
  .coverage-summary .sorter {
14
- background-image: url(../sort-arrow-sprite.png);
14
+ background-image: url(../../sort-arrow-sprite.png);
15
15
  }
16
16
  </style>
17
17
  </head>
@@ -19,7 +19,7 @@
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">hooks</a> useWms.js</h1>
22
+ <h1><a href="../../index.html">All files</a> / <a href="index.html">src/hooks</a> useWms.js</h1>
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
@@ -54,6 +54,12 @@
54
54
  <p class="quiet">
55
55
  Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
56
  </p>
57
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input oninput="onInput()" type="search" id="fileSearch">
61
+ </div>
62
+ </template>
57
63
  </div>
58
64
  <div class='status-line low'></div>
59
65
  <pre><table class="coverage">
@@ -179,6 +185,7 @@
179
185
  <span class="cline-any cline-neutral">&nbsp;</span>
180
186
  <span class="cline-any cline-no">&nbsp;</span>
181
187
  <span class="cline-any cline-no">&nbsp;</span>
188
+ <span class="cline-any cline-neutral">&nbsp;</span>
182
189
  <span class="cline-any cline-no">&nbsp;</span>
183
190
  <span class="cline-any cline-neutral">&nbsp;</span>
184
191
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -246,7 +253,6 @@
246
253
  <span class="cline-any cline-neutral">&nbsp;</span>
247
254
  <span class="cline-any cline-neutral">&nbsp;</span>
248
255
  <span class="cline-any cline-neutral">&nbsp;</span>
249
- <span class="cline-any cline-neutral">&nbsp;</span>
250
256
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { useContext, useState, useEffect, useRef } from "react";
251
257
  import { v4 as uuidv4 } from "uuid";
252
258
  import WMSCapabilities from "wms-capabilities";
@@ -274,12 +280,13 @@ function <span class="fstat-no" title="function not covered" >useWms(</span>prop
274
280
  // extract URL parameters from the given URL
275
281
  <span class="cstat-no" title="statement not covered" > clearState();</span>
276
282
  <span class="cstat-no" title="statement not covered" > setError(undefined);</span>
277
- <span class="cstat-no" title="statement not covered" > if (!props.url) <span class="cstat-no" title="statement not covered" >return;</span></span>
283
+ &nbsp;
284
+ <span class="cstat-no" title="statement not covered" > if (!url) <span class="cstat-no" title="statement not covered" >return;</span></span>
278
285
  &nbsp;
279
286
  let _propsUrlParams;
280
- let _wmsUrl = <span class="cstat-no" title="statement not covered" >props.url;</span>
281
- <span class="cstat-no" title="statement not covered" > if (props.url.indexOf("?") !== -1) {</span>
282
- <span class="cstat-no" title="statement not covered" > _propsUrlParams = props.url.split("?");</span>
287
+ let _wmsUrl = <span class="cstat-no" title="statement not covered" >url;</span>
288
+ <span class="cstat-no" title="statement not covered" > if (url.indexOf("?") !== -1) {</span>
289
+ <span class="cstat-no" title="statement not covered" > _propsUrlParams = url.split("?");</span>
283
290
  <span class="cstat-no" title="statement not covered" > _wmsUrl = _propsUrlParams[0];</span>
284
291
  }
285
292
  let _urlParamsFromUrl = <span class="cstat-no" title="statement not covered" >new URLSearchParams(_propsUrlParams?.[1]);</span>
@@ -311,7 +318,7 @@ function <span class="fstat-no" title="function not covered" >useWms(</span>prop
311
318
  <span class="cstat-no" title="statement not covered" > console.log(error);</span>
312
319
  <span class="cstat-no" title="statement not covered" > setError(error.message);</span>
313
320
  });
314
- }, [props.url, props.urlParameters]);
321
+ }, [url, props.urlParameters]);
315
322
  &nbsp;
316
323
  <span class="cstat-no" title="statement not covered" > useEffect(<span class="fstat-no" title="function not covered" >()</span> =&gt; {</span>
317
324
  <span class="cstat-no" title="statement not covered" > if (!capabilities?.Service) <span class="cstat-no" title="statement not covered" >return;</span></span>
@@ -341,25 +348,24 @@ function <span class="fstat-no" title="function not covered" >useWms(</span>prop
341
348
  },
342
349
  };
343
350
  &nbsp;
344
- export default useWms;
345
- &nbsp;</pre></td></tr></table></pre>
351
+ export default useWms;</pre></td></tr></table></pre>
346
352
 
347
353
  <div class='push'></div><!-- for sticky footer -->
348
354
  </div><!-- /wrapper -->
349
355
  <div class='footer quiet pad2 space-top1 center small'>
350
356
  Code coverage generated by
351
- <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
352
- at Wed Dec 01 2021 11:10:48 GMT+0000 (Coordinated Universal Time)
357
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener">istanbul</a>
358
+ at Tue Dec 21 2021 11:51:22 GMT+0000 (Coordinated Universal Time)
353
359
  </div>
354
360
  </div>
355
- <script src="../prettify.js"></script>
361
+ <script src="../../prettify.js"></script>
356
362
  <script>
357
363
  window.onload = function () {
358
364
  prettyPrint();
359
365
  };
360
366
  </script>
361
- <script src="../sorter.js"></script>
362
- <script src="../block-navigation.js"></script>
367
+ <script src="../../sorter.js"></script>
368
+ <script src="../../block-navigation.js"></script>
363
369
  </body>
364
370
  </html>
365
371