@mapcomponents/react-maplibre 0.1.18 → 0.1.22

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 (83) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/coverage/clover.xml +222 -205
  3. package/coverage/coverage-final.json +6 -6
  4. package/coverage/lcov-report/index.html +30 -30
  5. package/coverage/lcov-report/src/components/MapLibreMap/MapLibreMap.js.html +1 -1
  6. package/coverage/lcov-report/src/components/MapLibreMap/index.html +1 -1
  7. package/coverage/lcov-report/src/components/MlCreatePdfButton/MlCreatePdfButton.js.html +1 -1
  8. package/coverage/lcov-report/src/components/MlCreatePdfButton/index.html +1 -1
  9. package/coverage/lcov-report/src/components/MlFeatureEditor/MlFeatureEditor.js.html +1 -1
  10. package/coverage/lcov-report/src/components/MlFeatureEditor/index.html +1 -1
  11. package/coverage/lcov-report/src/components/MlFillExtrusionLayer/MlFillExtrusionLayer.js.html +1 -1
  12. package/coverage/lcov-report/src/components/MlFillExtrusionLayer/index.html +1 -1
  13. package/coverage/lcov-report/src/components/MlFollowGps/MlFollowGps.js.html +1 -1
  14. package/coverage/lcov-report/src/components/MlFollowGps/index.html +1 -1
  15. package/coverage/lcov-report/src/components/MlGPXViewer/MlGPXViewer.js.html +1 -1
  16. package/coverage/lcov-report/src/components/MlGPXViewer/gpxConverter.js.html +1 -1
  17. package/coverage/lcov-report/src/components/MlGPXViewer/index.html +1 -1
  18. package/coverage/lcov-report/src/components/MlGeoJsonLayer/MlGeoJsonLayer.js.html +20 -5
  19. package/coverage/lcov-report/src/components/MlGeoJsonLayer/index.html +1 -1
  20. package/coverage/lcov-report/src/components/MlImageMarkerLayer/MlImageMarkerLayer.js.html +1 -1
  21. package/coverage/lcov-report/src/components/MlImageMarkerLayer/index.html +1 -1
  22. package/coverage/lcov-report/src/components/MlLayer/MlLayer.js.html +1 -1
  23. package/coverage/lcov-report/src/components/MlLayer/index.html +1 -1
  24. package/coverage/lcov-report/src/components/MlLayerMagnify/MlLayerMagnify.js.html +1 -1
  25. package/coverage/lcov-report/src/components/MlLayerMagnify/index.html +1 -1
  26. package/coverage/lcov-report/src/components/MlLayerSwipe/MlLayerSwipe.js.html +1 -1
  27. package/coverage/lcov-report/src/components/MlLayerSwipe/index.html +1 -1
  28. package/coverage/lcov-report/src/components/MlLayerSwitcher/MlLayerSwitcher.js.html +1 -1
  29. package/coverage/lcov-report/src/components/MlLayerSwitcher/components/LayerBox.js.html +1 -1
  30. package/coverage/lcov-report/src/components/MlLayerSwitcher/components/index.html +1 -1
  31. package/coverage/lcov-report/src/components/MlLayerSwitcher/index.html +1 -1
  32. package/coverage/lcov-report/src/components/MlMarker/MlMarker.js.html +1 -1
  33. package/coverage/lcov-report/src/components/MlMarker/index.html +1 -1
  34. package/coverage/lcov-report/src/components/MlNavigationCompass/MlNavigationCompass.js.html +1 -1
  35. package/coverage/lcov-report/src/components/MlNavigationCompass/index.html +1 -1
  36. package/coverage/lcov-report/src/components/MlNavigationTools/MlNavigationTools.js.html +1 -1
  37. package/coverage/lcov-report/src/components/MlNavigationTools/index.html +1 -1
  38. package/coverage/lcov-report/src/components/MlOsmLayer/MlOsmLayer.js.html +1 -1
  39. package/coverage/lcov-report/src/components/MlOsmLayer/index.html +1 -1
  40. package/coverage/lcov-report/src/components/MlScaleReference/MlScaleReference.js.html +1 -1
  41. package/coverage/lcov-report/src/components/MlScaleReference/index.html +1 -1
  42. package/coverage/lcov-report/src/components/MlShareMapState/MlShareMapState.js.html +261 -111
  43. package/coverage/lcov-report/src/components/MlShareMapState/index.html +9 -9
  44. package/coverage/lcov-report/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.js.html +1 -1
  45. package/coverage/lcov-report/src/components/MlSpatialElevationProfile/index.html +1 -1
  46. package/coverage/lcov-report/src/components/MlThreeJsLayer/MlThreeJsLayer.js.html +1 -1
  47. package/coverage/lcov-report/src/components/MlThreeJsLayer/index.html +1 -1
  48. package/coverage/lcov-report/src/components/MlUseMapDebugger/MlUseMapDebugger.js.html +1 -1
  49. package/coverage/lcov-report/src/components/MlUseMapDebugger/index.html +1 -1
  50. package/coverage/lcov-report/src/components/MlVectorTileLayer/MlVectorTileLayer.js.html +110 -17
  51. package/coverage/lcov-report/src/components/MlVectorTileLayer/index.html +15 -15
  52. package/coverage/lcov-report/src/components/MlWmsFeatureInfoPopup/MlWmsFeatureInfoPopup.js.html +1 -1
  53. package/coverage/lcov-report/src/components/MlWmsFeatureInfoPopup/index.html +1 -1
  54. package/coverage/lcov-report/src/components/MlWmsLayer/MlWmsLayer.js.html +35 -89
  55. package/coverage/lcov-report/src/components/MlWmsLayer/index.html +17 -17
  56. package/coverage/lcov-report/src/components/MlWmsLoader/MlWmsLoader.js.html +1 -1
  57. package/coverage/lcov-report/src/components/MlWmsLoader/index.html +1 -1
  58. package/coverage/lcov-report/src/hooks/index.html +1 -1
  59. package/coverage/lcov-report/src/hooks/useMap.js.html +23 -23
  60. package/coverage/lcov-report/src/hooks/useMapState.js.html +34 -34
  61. package/coverage/lcov-report/src/hooks/useWms.js.html +1 -1
  62. package/coverage/lcov-report/src/i18n.js.html +1 -1
  63. package/coverage/lcov-report/src/index.html +1 -1
  64. package/coverage/lcov-report/src/translations/english.js.html +1 -1
  65. package/coverage/lcov-report/src/translations/german.js.html +1 -1
  66. package/coverage/lcov-report/src/translations/index.html +1 -1
  67. package/coverage/lcov.info +390 -349
  68. package/dist/index.esm.js +90 -68
  69. package/dist/index.esm.js.map +1 -1
  70. package/package.json +1 -1
  71. package/scripts/build-catalogue-markdown-docs.js +5 -3
  72. package/src/components/MapLibreMap/lib/MapLibreGlWrapper.js +26 -21
  73. package/src/components/MapLibreMap/lib/MapLibreGlWrapper.test.js +3 -3
  74. package/src/components/MlCreatePdfButton/MlCreatePdfButton.doc.de.md +2 -2
  75. package/src/components/MlCreatePdfButton/MlCreatePdfButton.doc.en.md +3 -0
  76. package/src/components/MlFeatureEditor/MlFeatureEditor.test.js +2 -2
  77. package/src/components/MlGeoJsonLayer/MlGeoJsonLayer.js +8 -3
  78. package/src/components/MlNavigationCompass/MlNavigationCompass.test.js +2 -2
  79. package/src/components/MlShareMapState/MlShareMapState.js +138 -88
  80. package/src/components/MlShareMapState/MlShareMapState.stories.js +79 -29
  81. package/src/components/MlVectorTileLayer/MlVectorTileLayer.js +40 -9
  82. package/src/components/MlWmsLayer/MlWmsLayer.js +16 -34
  83. package/src/hooks/useMap.js +1 -1
@@ -25,28 +25,28 @@
25
25
  <div class='fl pad1y space-right2'>
26
26
  <span class="strong">0% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>0/87</span>
28
+ <span class='fraction'>0/108</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
33
  <span class="strong">0% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>0/42</span>
35
+ <span class='fraction'>0/54</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
40
  <span class="strong">0% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>0/10</span>
42
+ <span class='fraction'>0/19</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
47
  <span class="strong">0% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>0/81</span>
49
+ <span class='fraction'>0/100</span>
50
50
  </div>
51
51
 
52
52
 
@@ -84,13 +84,13 @@
84
84
  <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
85
85
  </td>
86
86
  <td data-value="0" class="pct low">0%</td>
87
- <td data-value="87" class="abs low">0/87</td>
87
+ <td data-value="108" class="abs low">0/108</td>
88
88
  <td data-value="0" class="pct low">0%</td>
89
- <td data-value="42" class="abs low">0/42</td>
89
+ <td data-value="54" class="abs low">0/54</td>
90
90
  <td data-value="0" class="pct low">0%</td>
91
- <td data-value="10" class="abs low">0/10</td>
91
+ <td data-value="19" class="abs low">0/19</td>
92
92
  <td data-value="0" class="pct low">0%</td>
93
- <td data-value="81" class="abs low">0/81</td>
93
+ <td data-value="100" class="abs low">0/100</td>
94
94
  </tr>
95
95
 
96
96
  </tbody>
@@ -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 Thu Jan 13 2022 12:08:19 GMT+0000 (Coordinated Universal Time)
104
+ at Sun Jan 23 2022 11:43:07 GMT+0000 (Coordinated Universal Time)
105
105
  </div>
106
106
  <script src="../../../prettify.js"></script>
107
107
  <script>
@@ -769,7 +769,7 @@ export default MlSpatialElevationProfile;
769
769
  <div class='footer quiet pad2 space-top1 center small'>
770
770
  Code coverage generated by
771
771
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
772
- at Thu Jan 13 2022 12:08:19 GMT+0000 (Coordinated Universal Time)
772
+ at Sun Jan 23 2022 11:43:07 GMT+0000 (Coordinated Universal Time)
773
773
  </div>
774
774
  <script src="../../../prettify.js"></script>
775
775
  <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 Thu Jan 13 2022 12:08:19 GMT+0000 (Coordinated Universal Time)
104
+ at Sun Jan 23 2022 11:43:07 GMT+0000 (Coordinated Universal Time)
105
105
  </div>
106
106
  <script src="../../../prettify.js"></script>
107
107
  <script>
@@ -688,7 +688,7 @@ export default MlThreeJsLayer;</pre></td></tr></table></pre>
688
688
  <div class='footer quiet pad2 space-top1 center small'>
689
689
  Code coverage generated by
690
690
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
691
- at Thu Jan 13 2022 12:08:19 GMT+0000 (Coordinated Universal Time)
691
+ at Sun Jan 23 2022 11:43:07 GMT+0000 (Coordinated Universal Time)
692
692
  </div>
693
693
  <script src="../../../prettify.js"></script>
694
694
  <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 Thu Jan 13 2022 12:08:19 GMT+0000 (Coordinated Universal Time)
104
+ at Sun Jan 23 2022 11:43:07 GMT+0000 (Coordinated Universal Time)
105
105
  </div>
106
106
  <script src="../../../prettify.js"></script>
107
107
  <script>
@@ -295,7 +295,7 @@ export default MlUseMapDebugger;
295
295
  <div class='footer quiet pad2 space-top1 center small'>
296
296
  Code coverage generated by
297
297
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
298
- at Thu Jan 13 2022 12:08:19 GMT+0000 (Coordinated Universal Time)
298
+ at Sun Jan 23 2022 11:43:07 GMT+0000 (Coordinated Universal Time)
299
299
  </div>
300
300
  <script src="../../../prettify.js"></script>
301
301
  <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 Thu Jan 13 2022 12:08:19 GMT+0000 (Coordinated Universal Time)
104
+ at Sun Jan 23 2022 11:43:07 GMT+0000 (Coordinated Universal Time)
105
105
  </div>
106
106
  <script src="../../../prettify.js"></script>
107
107
  <script>
@@ -23,16 +23,16 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">89.36% </span>
26
+ <span class="strong">83.92% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>42/47</span>
28
+ <span class='fraction'>47/56</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">63.63% </span>
33
+ <span class="strong">57.69% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>14/22</span>
35
+ <span class='fraction'>15/26</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">88.63% </span>
47
+ <span class="strong">83.01% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>39/44</span>
49
+ <span class='fraction'>44/53</span>
50
50
  </div>
51
51
 
52
52
 
@@ -196,7 +196,38 @@
196
196
  <a name='L131'></a><a href='#L131'>131</a>
197
197
  <a name='L132'></a><a href='#L132'>132</a>
198
198
  <a name='L133'></a><a href='#L133'>133</a>
199
- <a name='L134'></a><a href='#L134'>134</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
199
+ <a name='L134'></a><a href='#L134'>134</a>
200
+ <a name='L135'></a><a href='#L135'>135</a>
201
+ <a name='L136'></a><a href='#L136'>136</a>
202
+ <a name='L137'></a><a href='#L137'>137</a>
203
+ <a name='L138'></a><a href='#L138'>138</a>
204
+ <a name='L139'></a><a href='#L139'>139</a>
205
+ <a name='L140'></a><a href='#L140'>140</a>
206
+ <a name='L141'></a><a href='#L141'>141</a>
207
+ <a name='L142'></a><a href='#L142'>142</a>
208
+ <a name='L143'></a><a href='#L143'>143</a>
209
+ <a name='L144'></a><a href='#L144'>144</a>
210
+ <a name='L145'></a><a href='#L145'>145</a>
211
+ <a name='L146'></a><a href='#L146'>146</a>
212
+ <a name='L147'></a><a href='#L147'>147</a>
213
+ <a name='L148'></a><a href='#L148'>148</a>
214
+ <a name='L149'></a><a href='#L149'>149</a>
215
+ <a name='L150'></a><a href='#L150'>150</a>
216
+ <a name='L151'></a><a href='#L151'>151</a>
217
+ <a name='L152'></a><a href='#L152'>152</a>
218
+ <a name='L153'></a><a href='#L153'>153</a>
219
+ <a name='L154'></a><a href='#L154'>154</a>
220
+ <a name='L155'></a><a href='#L155'>155</a>
221
+ <a name='L156'></a><a href='#L156'>156</a>
222
+ <a name='L157'></a><a href='#L157'>157</a>
223
+ <a name='L158'></a><a href='#L158'>158</a>
224
+ <a name='L159'></a><a href='#L159'>159</a>
225
+ <a name='L160'></a><a href='#L160'>160</a>
226
+ <a name='L161'></a><a href='#L161'>161</a>
227
+ <a name='L162'></a><a href='#L162'>162</a>
228
+ <a name='L163'></a><a href='#L163'>163</a>
229
+ <a name='L164'></a><a href='#L164'>164</a>
230
+ <a name='L165'></a><a href='#L165'>165</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
200
231
  <span class="cline-any cline-neutral">&nbsp;</span>
201
232
  <span class="cline-any cline-neutral">&nbsp;</span>
202
233
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -216,6 +247,7 @@
216
247
  <span class="cline-any cline-yes">8x</span>
217
248
  <span class="cline-any cline-yes">8x</span>
218
249
  <span class="cline-any cline-yes">8x</span>
250
+ <span class="cline-any cline-yes">8x</span>
219
251
  <span class="cline-any cline-neutral">&nbsp;</span>
220
252
  <span class="cline-any cline-yes">8x</span>
221
253
  <span class="cline-any cline-yes">2x</span>
@@ -268,6 +300,7 @@
268
300
  <span class="cline-any cline-neutral">&nbsp;</span>
269
301
  <span class="cline-any cline-neutral">&nbsp;</span>
270
302
  <span class="cline-any cline-yes">4x</span>
303
+ <span class="cline-any cline-yes">4x</span>
271
304
  <span class="cline-any cline-neutral">&nbsp;</span>
272
305
  <span class="cline-any cline-neutral">&nbsp;</span>
273
306
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -277,6 +310,23 @@
277
310
  <span class="cline-any cline-neutral">&nbsp;</span>
278
311
  <span class="cline-any cline-yes">4x</span>
279
312
  <span class="cline-any cline-yes">4x</span>
313
+ <span class="cline-any cline-neutral">&nbsp;</span>
314
+ <span class="cline-any cline-yes">4x</span>
315
+ <span class="cline-any cline-neutral">&nbsp;</span>
316
+ <span class="cline-any cline-yes">4x</span>
317
+ <span class="cline-any cline-no">&nbsp;</span>
318
+ <span class="cline-any cline-no">&nbsp;</span>
319
+ <span class="cline-any cline-neutral">&nbsp;</span>
320
+ <span class="cline-any cline-neutral">&nbsp;</span>
321
+ <span class="cline-any cline-neutral">&nbsp;</span>
322
+ <span class="cline-any cline-neutral">&nbsp;</span>
323
+ <span class="cline-any cline-neutral">&nbsp;</span>
324
+ <span class="cline-any cline-neutral">&nbsp;</span>
325
+ <span class="cline-any cline-neutral">&nbsp;</span>
326
+ <span class="cline-any cline-neutral">&nbsp;</span>
327
+ <span class="cline-any cline-yes">4x</span>
328
+ <span class="cline-any cline-neutral">&nbsp;</span>
329
+ <span class="cline-any cline-neutral">&nbsp;</span>
280
330
  <span class="cline-any cline-yes">4x</span>
281
331
  <span class="cline-any cline-neutral">&nbsp;</span>
282
332
  <span class="cline-any cline-yes">4x</span>
@@ -298,14 +348,22 @@
298
348
  <span class="cline-any cline-yes">8x</span>
299
349
  <span class="cline-any cline-yes">4x</span>
300
350
  <span class="cline-any cline-neutral">&nbsp;</span>
351
+ <span class="cline-any cline-no">&nbsp;</span>
352
+ <span class="cline-any cline-no">&nbsp;</span>
301
353
  <span class="cline-any cline-neutral">&nbsp;</span>
302
354
  <span class="cline-any cline-no">&nbsp;</span>
303
355
  <span class="cline-any cline-no">&nbsp;</span>
304
356
  <span class="cline-any cline-neutral">&nbsp;</span>
357
+ <span class="cline-any cline-neutral">&nbsp;</span>
358
+ <span class="cline-any cline-neutral">&nbsp;</span>
305
359
  <span class="cline-any cline-no">&nbsp;</span>
306
360
  <span class="cline-any cline-neutral">&nbsp;</span>
307
361
  <span class="cline-any cline-neutral">&nbsp;</span>
308
362
  <span class="cline-any cline-neutral">&nbsp;</span>
363
+ <span class="cline-any cline-neutral">&nbsp;</span>
364
+ <span class="cline-any cline-neutral">&nbsp;</span>
365
+ <span class="cline-any cline-neutral">&nbsp;</span>
366
+ <span class="cline-any cline-neutral">&nbsp;</span>
309
367
  <span class="cline-any cline-yes">8x</span>
310
368
  <span class="cline-any cline-neutral">&nbsp;</span>
311
369
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -329,6 +387,10 @@
329
387
  <span class="cline-any cline-neutral">&nbsp;</span>
330
388
  <span class="cline-any cline-neutral">&nbsp;</span>
331
389
  <span class="cline-any cline-neutral">&nbsp;</span>
390
+ <span class="cline-any cline-neutral">&nbsp;</span>
391
+ <span class="cline-any cline-neutral">&nbsp;</span>
392
+ <span class="cline-any cline-neutral">&nbsp;</span>
393
+ <span class="cline-any cline-neutral">&nbsp;</span>
332
394
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import React, { useContext, useRef, useEffect } from "react";
333
395
  import { MapContext } from "@mapcomponents/react-core";
334
396
  import PropTypes from "prop-types";
@@ -347,6 +409,7 @@ const MlVectorTileLayer = (props) =&gt; {
347
409
  const idSuffixRef = useRef(new Date().getTime());
348
410
  const layerIdsRef = useRef({});
349
411
  const layerPaintConfsRef = useRef({});
412
+ const layerLayoutConfsRef = useRef({});
350
413
  const initializedRef = useRef(false);
351
414
  const mapRef = useRef(null);
352
415
  &nbsp;
@@ -379,7 +442,7 @@ const MlVectorTileLayer = (props) =&gt; {
379
442
  tiles: [props.url],
380
443
  tileSize: 512,
381
444
  attribution: "",
382
- //...props.sourceOptions,
445
+ ...props.sourceOptions,
383
446
  });
384
447
  &nbsp;
385
448
  for (let key in props.layers) {
@@ -401,6 +464,7 @@ const MlVectorTileLayer = (props) =&gt; {
401
464
  ...props.layers[key],
402
465
  });
403
466
  layerPaintConfsRef.current[key] = JSON.stringify(props.layers[key].paint);
467
+ layerLayoutConfsRef.current[key] = JSON.stringify(props.layers[key].layout);
404
468
  }
405
469
  }, [mapContext.mapIds, props, mapContext]);
406
470
  &nbsp;
@@ -410,9 +474,10 @@ const MlVectorTileLayer = (props) =&gt; {
410
474
  // initialize the layer and add it to the MapLibre-gl instance or do something else with it
411
475
  for (var key in props.layers) {
412
476
  if (mapRef.current.getLayer(layerIdsRef.current[key])) {
413
- let layerConfString = JSON.stringify(props.layers[key].paint);
477
+ // update changed paint property
478
+ let layerPaintConfString = JSON.stringify(props.layers[key].paint);
414
479
  &nbsp;
415
- <span class="missing-if-branch" title="if path not taken" >I</span>if (layerConfString !== layerPaintConfsRef.current[key]) {
480
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (layerPaintConfString !== layerPaintConfsRef.current[key]) {
416
481
  <span class="cstat-no" title="statement not covered" > for (let paintKey in props.layers[key].paint) {</span>
417
482
  <span class="cstat-no" title="statement not covered" > mapContext</span>
418
483
  .getMap(props.mapId)
@@ -423,7 +488,23 @@ const MlVectorTileLayer = (props) =&gt; {
423
488
  );
424
489
  }
425
490
  }
426
- layerPaintConfsRef.current[key] = layerConfString;
491
+ layerPaintConfsRef.current[key] = layerPaintConfString;
492
+ &nbsp;
493
+ // update changed layout property
494
+ let layerLayoutConfString = JSON.stringify(props.layers[key].layout);
495
+ &nbsp;
496
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (layerLayoutConfString !== layerLayoutConfsRef.current[key]) {
497
+ <span class="cstat-no" title="statement not covered" > for (let layoutKey in props.layers[key].layout) {</span>
498
+ <span class="cstat-no" title="statement not covered" > mapContext</span>
499
+ .getMap(props.mapId)
500
+ .setLayoutProperty(
501
+ layerIdsRef.current[key],
502
+ layoutKey,
503
+ props.layers[key].layout[layoutKey]
504
+ );
505
+ }
506
+ }
507
+ layerLayoutConfsRef.current[key] = layerLayoutConfString;
427
508
  }
428
509
  }
429
510
  }, [props.layers, props, mapContext]);
@@ -431,11 +512,19 @@ const MlVectorTileLayer = (props) =&gt; {
431
512
  useEffect(() =&gt; {
432
513
  if (!mapRef.current) return;
433
514
  &nbsp;
434
- // toggle layer visibility by changing the layout object's visibility property
435
- <span class="cstat-no" title="statement not covered" > if (props.visible) {</span>
436
- <span class="cstat-no" title="statement not covered" > mapRef.current.setLayoutProperty(layerName + idSuffixRef.current, "visibility", "visible");</span>
437
- } else {
438
- <span class="cstat-no" title="statement not covered" > mapRef.current.setLayoutProperty(layerName + idSuffixRef.current, "visibility", "none");</span>
515
+ <span class="cstat-no" title="statement not covered" > for (var key in props.layers) {</span>
516
+ <span class="cstat-no" title="statement not covered" > if (mapRef.current.getLayer(layerIdsRef.current[key])) {</span>
517
+ // toggle layer visibility by changing the layout object's visibility property
518
+ <span class="cstat-no" title="statement not covered" > if (props.visible) {</span>
519
+ <span class="cstat-no" title="statement not covered" > mapContext</span>
520
+ .getMap(props.mapId)
521
+ .setLayoutProperty(layerIdsRef.current[key], "visibility", "visible");
522
+ } else {
523
+ <span class="cstat-no" title="statement not covered" > mapContext</span>
524
+ .getMap(props.mapId)
525
+ .setLayoutProperty(layerIdsRef.current[key], "visibility", "none");
526
+ }
527
+ }
439
528
  }
440
529
  }, [props.visible]);
441
530
  &nbsp;
@@ -455,6 +544,10 @@ MlVectorTileLayer.propTypes = {
455
544
  * Object that hold layers
456
545
  */
457
546
  layers: PropTypes.object,
547
+ /**
548
+ * Boolean value to control the visibility of this layer
549
+ */
550
+ visible: PropTypes.bool,
458
551
  /**
459
552
  * String of the URL of a wms layer
460
553
  */
@@ -469,7 +562,7 @@ export default MlVectorTileLayer;
469
562
  <div class='footer quiet pad2 space-top1 center small'>
470
563
  Code coverage generated by
471
564
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
472
- at Thu Jan 13 2022 12:08:19 GMT+0000 (Coordinated Universal Time)
565
+ at Sun Jan 23 2022 11:43:07 GMT+0000 (Coordinated Universal Time)
473
566
  </div>
474
567
  <script src="../../../prettify.js"></script>
475
568
  <script>
@@ -23,16 +23,16 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">89.36% </span>
26
+ <span class="strong">83.92% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>42/47</span>
28
+ <span class='fraction'>47/56</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">63.63% </span>
33
+ <span class="strong">57.69% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>14/22</span>
35
+ <span class='fraction'>15/26</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">88.63% </span>
47
+ <span class="strong">83.01% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>39/44</span>
49
+ <span class='fraction'>44/53</span>
50
50
  </div>
51
51
 
52
52
 
@@ -80,17 +80,17 @@
80
80
  </thead>
81
81
  <tbody><tr>
82
82
  <td class="file high" data-value="MlVectorTileLayer.js"><a href="MlVectorTileLayer.js.html">MlVectorTileLayer.js</a></td>
83
- <td data-value="89.36" class="pic high">
84
- <div class="chart"><div class="cover-fill" style="width: 89%"></div><div class="cover-empty" style="width: 11%"></div></div>
83
+ <td data-value="83.92" class="pic high">
84
+ <div class="chart"><div class="cover-fill" style="width: 83%"></div><div class="cover-empty" style="width: 17%"></div></div>
85
85
  </td>
86
- <td data-value="89.36" class="pct high">89.36%</td>
87
- <td data-value="47" class="abs high">42/47</td>
88
- <td data-value="63.63" class="pct medium">63.63%</td>
89
- <td data-value="22" class="abs medium">14/22</td>
86
+ <td data-value="83.92" class="pct high">83.92%</td>
87
+ <td data-value="56" class="abs high">47/56</td>
88
+ <td data-value="57.69" class="pct medium">57.69%</td>
89
+ <td data-value="26" class="abs medium">15/26</td>
90
90
  <td data-value="100" class="pct high">100%</td>
91
91
  <td data-value="6" class="abs high">6/6</td>
92
- <td data-value="88.63" class="pct high">88.63%</td>
93
- <td data-value="44" class="abs high">39/44</td>
92
+ <td data-value="83.01" class="pct high">83.01%</td>
93
+ <td data-value="53" class="abs high">44/53</td>
94
94
  </tr>
95
95
 
96
96
  </tbody>
@@ -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 Thu Jan 13 2022 12:08:19 GMT+0000 (Coordinated Universal Time)
104
+ at Sun Jan 23 2022 11:43:07 GMT+0000 (Coordinated Universal Time)
105
105
  </div>
106
106
  <script src="../../../prettify.js"></script>
107
107
  <script>
@@ -262,7 +262,7 @@ export default MlWmsFeatureInfoPopup;
262
262
  <div class='footer quiet pad2 space-top1 center small'>
263
263
  Code coverage generated by
264
264
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
265
- at Thu Jan 13 2022 12:08:19 GMT+0000 (Coordinated Universal Time)
265
+ at Sun Jan 23 2022 11:43:07 GMT+0000 (Coordinated Universal Time)
266
266
  </div>
267
267
  <script src="../../../prettify.js"></script>
268
268
  <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 Thu Jan 13 2022 12:08:19 GMT+0000 (Coordinated Universal Time)
104
+ at Sun Jan 23 2022 11:43:07 GMT+0000 (Coordinated Universal Time)
105
105
  </div>
106
106
  <script src="../../../prettify.js"></script>
107
107
  <script>