@mapcomponents/react-maplibre 0.1.14 → 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 (81) hide show
  1. package/.github/workflows/storybook.yml +4 -2
  2. package/coverage/clover.xml +325 -297
  3. package/coverage/coverage-final.json +8 -8
  4. package/coverage/lcov-report/index.html +63 -63
  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 +37 -34
  14. package/coverage/lcov-report/src/components/MlFollowGps/index.html +11 -11
  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 +96 -30
  19. package/coverage/lcov-report/src/components/MlGeoJsonLayer/index.html +19 -19
  20. package/coverage/lcov-report/src/components/MlImageMarkerLayer/MlImageMarkerLayer.js.html +45 -150
  21. package/coverage/lcov-report/src/components/MlImageMarkerLayer/index.html +19 -19
  22. package/coverage/lcov-report/src/components/MlLayer/MlLayer.js.html +93 -27
  23. package/coverage/lcov-report/src/components/MlLayer/index.html +19 -19
  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 +10 -13
  37. package/coverage/lcov-report/src/components/MlNavigationTools/index.html +7 -7
  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 +208 -16
  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 +1 -1
  51. package/coverage/lcov-report/src/components/MlVectorTileLayer/index.html +1 -1
  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 +1 -1
  55. package/coverage/lcov-report/src/components/MlWmsLayer/index.html +1 -1
  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 +32 -32
  59. package/coverage/lcov-report/src/hooks/useMap.js.html +85 -163
  60. package/coverage/lcov-report/src/hooks/useMapState.js.html +82 -82
  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 +620 -570
  68. package/dist/index.esm.js +787 -665
  69. package/dist/index.esm.js.map +1 -1
  70. package/package.json +1 -1
  71. package/src/components/MapLibreMap/lib/MapLibreGlWrapper.js +13 -12
  72. package/src/components/MlFollowGps/MlFollowGps.js +23 -22
  73. package/src/components/MlGeoJsonLayer/MlGeoJsonLayer.js +23 -1
  74. package/src/components/MlImageMarkerLayer/MlImageMarkerLayer.js +21 -56
  75. package/src/components/MlLayer/MlLayer.js +26 -4
  76. package/src/components/MlNavigationTools/MlNavigationTools.js +4 -5
  77. package/src/components/MlShareMapState/MlShareMapState.js +73 -9
  78. package/src/components/MlShareMapState/MlShareMapState.stories.js +24 -1
  79. package/src/hooks/useMap.js +36 -62
  80. package/src/hooks/useMapState.js +3 -3
  81. package/src/index.js +2 -0
@@ -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/50</span>
28
+ <span class='fraction'>0/87</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/24</span>
35
+ <span class='fraction'>0/42</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/9</span>
42
+ <span class='fraction'>0/10</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/48</span>
49
+ <span class='fraction'>0/81</span>
50
50
  </div>
51
51
 
52
52
 
@@ -182,7 +182,71 @@
182
182
  <a name='L117'></a><a href='#L117'>117</a>
183
183
  <a name='L118'></a><a href='#L118'>118</a>
184
184
  <a name='L119'></a><a href='#L119'>119</a>
185
- <a name='L120'></a><a href='#L120'>120</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
185
+ <a name='L120'></a><a href='#L120'>120</a>
186
+ <a name='L121'></a><a href='#L121'>121</a>
187
+ <a name='L122'></a><a href='#L122'>122</a>
188
+ <a name='L123'></a><a href='#L123'>123</a>
189
+ <a name='L124'></a><a href='#L124'>124</a>
190
+ <a name='L125'></a><a href='#L125'>125</a>
191
+ <a name='L126'></a><a href='#L126'>126</a>
192
+ <a name='L127'></a><a href='#L127'>127</a>
193
+ <a name='L128'></a><a href='#L128'>128</a>
194
+ <a name='L129'></a><a href='#L129'>129</a>
195
+ <a name='L130'></a><a href='#L130'>130</a>
196
+ <a name='L131'></a><a href='#L131'>131</a>
197
+ <a name='L132'></a><a href='#L132'>132</a>
198
+ <a name='L133'></a><a href='#L133'>133</a>
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>
231
+ <a name='L166'></a><a href='#L166'>166</a>
232
+ <a name='L167'></a><a href='#L167'>167</a>
233
+ <a name='L168'></a><a href='#L168'>168</a>
234
+ <a name='L169'></a><a href='#L169'>169</a>
235
+ <a name='L170'></a><a href='#L170'>170</a>
236
+ <a name='L171'></a><a href='#L171'>171</a>
237
+ <a name='L172'></a><a href='#L172'>172</a>
238
+ <a name='L173'></a><a href='#L173'>173</a>
239
+ <a name='L174'></a><a href='#L174'>174</a>
240
+ <a name='L175'></a><a href='#L175'>175</a>
241
+ <a name='L176'></a><a href='#L176'>176</a>
242
+ <a name='L177'></a><a href='#L177'>177</a>
243
+ <a name='L178'></a><a href='#L178'>178</a>
244
+ <a name='L179'></a><a href='#L179'>179</a>
245
+ <a name='L180'></a><a href='#L180'>180</a>
246
+ <a name='L181'></a><a href='#L181'>181</a>
247
+ <a name='L182'></a><a href='#L182'>182</a>
248
+ <a name='L183'></a><a href='#L183'>183</a>
249
+ <a name='L184'></a><a href='#L184'>184</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
186
250
  <span class="cline-any cline-neutral">&nbsp;</span>
187
251
  <span class="cline-any cline-neutral">&nbsp;</span>
188
252
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -196,7 +260,6 @@
196
260
  <span class="cline-any cline-neutral">&nbsp;</span>
197
261
  <span class="cline-any cline-neutral">&nbsp;</span>
198
262
  <span class="cline-any cline-neutral">&nbsp;</span>
199
- <span class="cline-any cline-no">&nbsp;</span>
200
263
  <span class="cline-any cline-neutral">&nbsp;</span>
201
264
  <span class="cline-any cline-no">&nbsp;</span>
202
265
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -204,6 +267,18 @@
204
267
  <span class="cline-any cline-no">&nbsp;</span>
205
268
  <span class="cline-any cline-no">&nbsp;</span>
206
269
  <span class="cline-any cline-no">&nbsp;</span>
270
+ <span class="cline-any cline-no">&nbsp;</span>
271
+ <span class="cline-any cline-no">&nbsp;</span>
272
+ <span class="cline-any cline-no">&nbsp;</span>
273
+ <span class="cline-any cline-neutral">&nbsp;</span>
274
+ <span class="cline-any cline-neutral">&nbsp;</span>
275
+ <span class="cline-any cline-neutral">&nbsp;</span>
276
+ <span class="cline-any cline-neutral">&nbsp;</span>
277
+ <span class="cline-any cline-neutral">&nbsp;</span>
278
+ <span class="cline-any cline-neutral">&nbsp;</span>
279
+ <span class="cline-any cline-neutral">&nbsp;</span>
280
+ <span class="cline-any cline-neutral">&nbsp;</span>
281
+ <span class="cline-any cline-neutral">&nbsp;</span>
207
282
  <span class="cline-any cline-neutral">&nbsp;</span>
208
283
  <span class="cline-any cline-no">&nbsp;</span>
209
284
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -239,19 +314,46 @@
239
314
  <span class="cline-any cline-no">&nbsp;</span>
240
315
  <span class="cline-any cline-no">&nbsp;</span>
241
316
  <span class="cline-any cline-no">&nbsp;</span>
317
+ <span class="cline-any cline-neutral">&nbsp;</span>
318
+ <span class="cline-any cline-neutral">&nbsp;</span>
319
+ <span class="cline-any cline-neutral">&nbsp;</span>
320
+ <span class="cline-any cline-no">&nbsp;</span>
321
+ <span class="cline-any cline-no">&nbsp;</span>
322
+ <span class="cline-any cline-no">&nbsp;</span>
242
323
  <span class="cline-any cline-no">&nbsp;</span>
243
324
  <span class="cline-any cline-neutral">&nbsp;</span>
325
+ <span class="cline-any cline-no">&nbsp;</span>
326
+ <span class="cline-any cline-neutral">&nbsp;</span>
327
+ <span class="cline-any cline-no">&nbsp;</span>
328
+ <span class="cline-any cline-no">&nbsp;</span>
329
+ <span class="cline-any cline-no">&nbsp;</span>
330
+ <span class="cline-any cline-no">&nbsp;</span>
331
+ <span class="cline-any cline-neutral">&nbsp;</span>
332
+ <span class="cline-any cline-neutral">&nbsp;</span>
333
+ <span class="cline-any cline-neutral">&nbsp;</span>
244
334
  <span class="cline-any cline-neutral">&nbsp;</span>
245
335
  <span class="cline-any cline-neutral">&nbsp;</span>
246
336
  <span class="cline-any cline-no">&nbsp;</span>
247
337
  <span class="cline-any cline-no">&nbsp;</span>
338
+ <span class="cline-any cline-no">&nbsp;</span>
248
339
  <span class="cline-any cline-neutral">&nbsp;</span>
249
340
  <span class="cline-any cline-no">&nbsp;</span>
250
341
  <span class="cline-any cline-no">&nbsp;</span>
342
+ <span class="cline-any cline-no">&nbsp;</span>
251
343
  <span class="cline-any cline-neutral">&nbsp;</span>
252
344
  <span class="cline-any cline-neutral">&nbsp;</span>
253
345
  <span class="cline-any cline-no">&nbsp;</span>
254
346
  <span class="cline-any cline-no">&nbsp;</span>
347
+ <span class="cline-any cline-no">&nbsp;</span>
348
+ <span class="cline-any cline-neutral">&nbsp;</span>
349
+ <span class="cline-any cline-neutral">&nbsp;</span>
350
+ <span class="cline-any cline-neutral">&nbsp;</span>
351
+ <span class="cline-any cline-neutral">&nbsp;</span>
352
+ <span class="cline-any cline-neutral">&nbsp;</span>
353
+ <span class="cline-any cline-no">&nbsp;</span>
354
+ <span class="cline-any cline-no">&nbsp;</span>
355
+ <span class="cline-any cline-neutral">&nbsp;</span>
356
+ <span class="cline-any cline-neutral">&nbsp;</span>
255
357
  <span class="cline-any cline-neutral">&nbsp;</span>
256
358
  <span class="cline-any cline-neutral">&nbsp;</span>
257
359
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -274,6 +376,32 @@
274
376
  <span class="cline-any cline-no">&nbsp;</span>
275
377
  <span class="cline-any cline-no">&nbsp;</span>
276
378
  <span class="cline-any cline-neutral">&nbsp;</span>
379
+ <span class="cline-any cline-no">&nbsp;</span>
380
+ <span class="cline-any cline-no">&nbsp;</span>
381
+ <span class="cline-any cline-no">&nbsp;</span>
382
+ <span class="cline-any cline-no">&nbsp;</span>
383
+ <span class="cline-any cline-no">&nbsp;</span>
384
+ <span class="cline-any cline-no">&nbsp;</span>
385
+ <span class="cline-any cline-no">&nbsp;</span>
386
+ <span class="cline-any cline-no">&nbsp;</span>
387
+ <span class="cline-any cline-neutral">&nbsp;</span>
388
+ <span class="cline-any cline-no">&nbsp;</span>
389
+ <span class="cline-any cline-no">&nbsp;</span>
390
+ <span class="cline-any cline-neutral">&nbsp;</span>
391
+ <span class="cline-any cline-no">&nbsp;</span>
392
+ <span class="cline-any cline-neutral">&nbsp;</span>
393
+ <span class="cline-any cline-neutral">&nbsp;</span>
394
+ <span class="cline-any cline-no">&nbsp;</span>
395
+ <span class="cline-any cline-no">&nbsp;</span>
396
+ <span class="cline-any cline-no">&nbsp;</span>
397
+ <span class="cline-any cline-no">&nbsp;</span>
398
+ <span class="cline-any cline-no">&nbsp;</span>
399
+ <span class="cline-any cline-neutral">&nbsp;</span>
400
+ <span class="cline-any cline-neutral">&nbsp;</span>
401
+ <span class="cline-any cline-no">&nbsp;</span>
402
+ <span class="cline-any cline-neutral">&nbsp;</span>
403
+ <span class="cline-any cline-no">&nbsp;</span>
404
+ <span class="cline-any cline-neutral">&nbsp;</span>
277
405
  <span class="cline-any cline-neutral">&nbsp;</span>
278
406
  <span class="cline-any cline-no">&nbsp;</span>
279
407
  <span class="cline-any cline-no">&nbsp;</span>
@@ -301,11 +429,12 @@
301
429
  <span class="cline-any cline-neutral">&nbsp;</span>
302
430
  <span class="cline-any cline-neutral">&nbsp;</span>
303
431
  <span class="cline-any cline-neutral">&nbsp;</span>
304
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import React, { useRef, useEffect, useContext, useState } from "react";
432
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import React, {useRef, useEffect, useContext, useState} from "react";
305
433
  import PropTypes from "prop-types";
306
434
  &nbsp;
307
- import { MapContext } from "@mapcomponents/react-core";
308
- import { v4 as uuidv4 } from "uuid";
435
+ import {MapContext} from "@mapcomponents/react-core";
436
+ import {v4 as uuidv4} from "uuid";
437
+ import useMapState from "../../hooks/useMapState";
309
438
  &nbsp;
310
439
  /**
311
440
  * TODO: Add short &amp; useful description
@@ -318,11 +447,21 @@ import { v4 as uuidv4 } from "uuid";
318
447
  const MlShareMapState = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >(p</span>rops) =&gt; {</span>
319
448
  // Use a useRef hook to reference the layer object to be able to access it later inside useEffect hooks
320
449
  const mapContext = <span class="cstat-no" title="statement not covered" >useContext(MapContext);</span>
321
- &nbsp;
322
450
  const initializedRef = <span class="cstat-no" title="statement not covered" >useRef(false);</span>
323
451
  const mapRef = <span class="cstat-no" title="statement not covered" >useRef(undefined);</span>
324
452
  const [map, setMap] = <span class="cstat-no" title="statement not covered" >useState(undefined);</span>
325
453
  const componentId = <span class="cstat-no" title="statement not covered" >useRef((props.idPrefix ? props.idPrefix : "MlShareMapState-") + uuidv4());</span>
454
+ const [isInitialState, setIsInitialState] = <span class="cstat-no" title="statement not covered" >useState(true);</span>
455
+ const mapState = <span class="cstat-no" title="statement not covered" >useMapState({</span>
456
+ watch: {
457
+ viewport: false,
458
+ layers: true,
459
+ sources: false
460
+ },
461
+ filter: {
462
+ includeBaseLayers: false
463
+ }
464
+ })
326
465
  &nbsp;
327
466
  const mapStateRef = <span class="cstat-no" title="statement not covered" >useRef({});</span>
328
467
  &nbsp;
@@ -352,32 +491,59 @@ const MlShareMapState = <span class="cstat-no" title="statement not covered" ><s
352
491
  <span class="cstat-no" title="statement not covered" > mapRef.current = mapContext.getMap(props.mapId);</span>
353
492
  <span class="cstat-no" title="statement not covered" > setMap(mapRef.current);</span>
354
493
  &nbsp;
355
- let currentUrlParams = <span class="cstat-no" title="statement not covered" >getCurrentUrlParameters();</span>
494
+ const currentUrlParams = <span class="cstat-no" title="statement not covered" >getCurrentUrlParameters();</span>
356
495
  <span class="cstat-no" title="statement not covered" > if (currentUrlParams.lat &amp;&amp; currentUrlParams.lng) {</span>
357
496
  <span class="cstat-no" title="statement not covered" > mapStateRef.current.lat = currentUrlParams.lat;</span>
358
497
  <span class="cstat-no" title="statement not covered" > mapStateRef.current.lng = currentUrlParams.lng;</span>
359
498
  <span class="cstat-no" title="statement not covered" > mapStateRef.current.zoom = currentUrlParams.zoom;</span>
360
- <span class="cstat-no" title="statement not covered" > mapRef.current.setCenter([mapStateRef.current.lng, mapStateRef.current.lat]);</span>
361
499
  <span class="cstat-no" title="statement not covered" > mapRef.current.setZoom(mapStateRef.current.zoom);</span>
362
500
  }
363
501
  }, [mapContext.mapIds, mapContext, props.mapId, props.active]);
364
502
  &nbsp;
365
503
  <span class="cstat-no" title="statement not covered" > useEffect(<span class="fstat-no" title="function not covered" >()</span> =&gt; {</span>
366
504
  <span class="cstat-no" title="statement not covered" > if (!map) <span class="cstat-no" title="statement not covered" >return;</span></span>
505
+ <span class="cstat-no" title="statement not covered" > if(!mapState.layers) <span class="cstat-no" title="statement not covered" >return;</span></span>
506
+ <span class="cstat-no" title="statement not covered" > if(!isInitialState) <span class="cstat-no" title="statement not covered" >return;</span></span>
507
+ &nbsp;
508
+ const currentUrlParams = <span class="cstat-no" title="statement not covered" >getCurrentUrlParameters()</span>
509
+ &nbsp;
510
+ <span class="cstat-no" title="statement not covered" > if(currentUrlParams.layers) {</span>
511
+ <span class="cstat-no" title="statement not covered" > for (let x in currentUrlParams.layers) {</span>
512
+ <span class="cstat-no" title="statement not covered" > mapRef.current.getLayer(currentUrlParams.layers[x].id).visibility = currentUrlParams.layers[x].visible ? "visible" : "none"</span>
513
+ <span class="cstat-no" title="statement not covered" > mapRef.current.getLayer(currentUrlParams.layers[x].id).type = currentUrlParams.layers[x].type</span>
514
+ }
515
+ }
516
+ &nbsp;
517
+ }, [mapState.layers, props.mapId, props.active])
518
+ &nbsp;
519
+ <span class="cstat-no" title="statement not covered" > useEffect(<span class="fstat-no" title="function not covered" >()</span> =&gt; {</span>
520
+ <span class="cstat-no" title="statement not covered" > if (!map) <span class="cstat-no" title="statement not covered" >return;</span></span>
521
+ <span class="cstat-no" title="statement not covered" > if (!mapState.layers) <span class="cstat-no" title="statement not covered" >return;</span></span>
367
522
  &nbsp;
368
523
  <span class="cstat-no" title="statement not covered" > if (props.active) {</span>
524
+ <span class="cstat-no" title="statement not covered" > setIsInitialState(false)</span>
369
525
  <span class="cstat-no" title="statement not covered" > map.on(</span>
370
526
  "moveend",
371
527
  <span class="fstat-no" title="function not covered" > ()</span> =&gt; {
528
+ let mapLayers = <span class="cstat-no" title="statement not covered" >[]</span>
529
+ <span class="cstat-no" title="statement not covered" > for (let x in mapState.layers) {</span>
530
+ <span class="cstat-no" title="statement not covered" > mapLayers.push(new URLSearchParams({</span>
531
+ id: mapState.layers[x].id,
532
+ type: mapState.layers[x].type,
533
+ visible: mapState.layers[x].visible
534
+ }))
535
+ }
372
536
  <span class="cstat-no" title="statement not covered" > refreshMapState();</span>
373
537
  let urlParams = <span class="cstat-no" title="statement not covered" >new URLSearchParams({</span>
374
538
  ...getCurrentUrlParameters(),
375
539
  ...mapStateRef.current,
540
+ layers : mapLayers
376
541
  });
542
+ &nbsp;
377
543
  let currentParams = <span class="cstat-no" title="statement not covered" >new URLSearchParams(window.location.search);</span>
378
544
  <span class="cstat-no" title="statement not covered" > if (urlParams.toString() !== currentParams.toString()) {</span>
379
545
  <span class="cstat-no" title="statement not covered" > window.history.pushState(</span>
380
- { ...mapStateRef.current },
546
+ {...mapStateRef.current},
381
547
  document.title,
382
548
  "?" + urlParams.toString()
383
549
  );
@@ -391,7 +557,33 @@ const MlShareMapState = <span class="cstat-no" title="statement not covered" ><s
391
557
  }, [props.active, map]);
392
558
  &nbsp;
393
559
  const getCurrentUrlParameters = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >()</span> =&gt; {</span>
394
- <span class="cstat-no" title="statement not covered" > return Object.fromEntries(new URLSearchParams(window.location.search));</span>
560
+ let parameterObject = <span class="cstat-no" title="statement not covered" >Object.fromEntries(new URLSearchParams(window.location.search))</span>
561
+ &nbsp;
562
+ <span class="cstat-no" title="statement not covered" > if(window.location.search.indexOf("layers")!==-1) {</span>
563
+ let layerParamString = <span class="cstat-no" title="statement not covered" >window.location.search.substring(window.location.search.indexOf("layers"))</span>
564
+ <span class="cstat-no" title="statement not covered" > layerParamString = layerParamString.substring(0, (layerParamString.indexOf("&amp;")!==-1) ? layerParamString.indexOf("&amp;") : layerParamString.length)</span>
565
+ <span class="cstat-no" title="statement not covered" > parameterObject = Object.fromEntries(new URLSearchParams(window.location.search.replace(layerParamString, "")))</span>
566
+ let layerParams = <span class="cstat-no" title="statement not covered" >layerParamString.substring(7)</span>
567
+ <span class="cstat-no" title="statement not covered" > layerParams = layerParams.replaceAll("%3D", "=")</span>
568
+ <span class="cstat-no" title="statement not covered" > layerParams = layerParams.replaceAll("%26", "&amp;")</span>
569
+ <span class="cstat-no" title="statement not covered" > layerParams = layerParams.replaceAll("%2C", ",")</span>
570
+ &nbsp;
571
+ <span class="cstat-no" title="statement not covered" > if (layerParams.indexOf(",")) {</span>
572
+ <span class="cstat-no" title="statement not covered" > layerParams = layerParams.split(",")</span>
573
+ } else {
574
+ <span class="cstat-no" title="statement not covered" > layerParams = [layerParams]</span>
575
+ }
576
+ &nbsp;
577
+ <span class="cstat-no" title="statement not covered" > for (let x in layerParams) {</span>
578
+ let layerState = <span class="cstat-no" title="statement not covered" >layerParams[x].split("&amp;")</span>
579
+ <span class="cstat-no" title="statement not covered" > layerParams[x] = {}</span>
580
+ <span class="cstat-no" title="statement not covered" > for (let y in layerState) {</span>
581
+ <span class="cstat-no" title="statement not covered" > layerParams[x][layerState[y].split("=")[0]] = layerState[y].split("=")[1]</span>
582
+ }
583
+ }
584
+ <span class="cstat-no" title="statement not covered" > parameterObject["layers"] = layerParams</span>
585
+ }
586
+ <span class="cstat-no" title="statement not covered" > return parameterObject</span>
395
587
  };
396
588
  &nbsp;
397
589
  const refreshMapState = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >()</span> =&gt; {</span>
@@ -402,7 +594,7 @@ const MlShareMapState = <span class="cstat-no" title="statement not covered" ><s
402
594
  &nbsp;
403
595
  <span class="cstat-no" title="statement not covered" > window.onpopstate = <span class="fstat-no" title="function not covered" >(e</span>vent) =&gt; {</span>
404
596
  <span class="cstat-no" title="statement not covered" > if (event.state &amp;&amp; event.state.lng &amp;&amp; event.state.lat &amp;&amp; event.state.zoom) {</span>
405
- <span class="cstat-no" title="statement not covered" > mapRef.current.easeTo({ zoom: event.state.zoom, center: [event.state.lng, event.state.lat] });</span>
597
+ <span class="cstat-no" title="statement not covered" > mapRef.current.easeTo({zoom: event.state.zoom, center: [event.state.lng, event.state.lat]});</span>
406
598
  }
407
599
  };
408
600
  &nbsp;
@@ -427,7 +619,7 @@ export default MlShareMapState;
427
619
  <div class='footer quiet pad2 space-top1 center small'>
428
620
  Code coverage generated by
429
621
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener">istanbul</a>
430
- at Wed Dec 15 2021 17:41:09 GMT+0000 (Coordinated Universal Time)
622
+ at Tue Dec 21 2021 11:51:22 GMT+0000 (Coordinated Universal Time)
431
623
  </div>
432
624
  </div>
433
625
  <script src="../../../prettify.js"></script>
@@ -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/50</span>
28
+ <span class='fraction'>0/87</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/24</span>
35
+ <span class='fraction'>0/42</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/9</span>
42
+ <span class='fraction'>0/10</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/48</span>
49
+ <span class='fraction'>0/81</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="50" class="abs low">0/50</td>
87
+ <td data-value="87" class="abs low">0/87</td>
88
88
  <td data-value="0" class="pct low">0%</td>
89
- <td data-value="24" class="abs low">0/24</td>
89
+ <td data-value="42" class="abs low">0/42</td>
90
90
  <td data-value="0" class="pct low">0%</td>
91
- <td data-value="9" class="abs low">0/9</td>
91
+ <td data-value="10" class="abs low">0/10</td>
92
92
  <td data-value="0" class="pct low">0%</td>
93
- <td data-value="48" class="abs low">0/48</td>
93
+ <td data-value="81" class="abs low">0/81</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">istanbul</a>
104
- at Wed Dec 15 2021 17:41:09 GMT+0000 (Coordinated Universal Time)
104
+ at Tue Dec 21 2021 11:51:22 GMT+0000 (Coordinated Universal Time)
105
105
  </div>
106
106
  </div>
107
107
  <script src="../../../prettify.js"></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">istanbul</a>
772
- at Wed Dec 15 2021 17:41:09 GMT+0000 (Coordinated Universal Time)
772
+ at Tue Dec 21 2021 11:51:22 GMT+0000 (Coordinated Universal Time)
773
773
  </div>
774
774
  </div>
775
775
  <script src="../../../prettify.js"></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">istanbul</a>
104
- at Wed Dec 15 2021 17:41:09 GMT+0000 (Coordinated Universal Time)
104
+ at Tue Dec 21 2021 11:51:22 GMT+0000 (Coordinated Universal Time)
105
105
  </div>
106
106
  </div>
107
107
  <script src="../../../prettify.js"></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">istanbul</a>
691
- at Wed Dec 15 2021 17:41:09 GMT+0000 (Coordinated Universal Time)
691
+ at Tue Dec 21 2021 11:51:22 GMT+0000 (Coordinated Universal Time)
692
692
  </div>
693
693
  </div>
694
694
  <script src="../../../prettify.js"></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">istanbul</a>
104
- at Wed Dec 15 2021 17:41:09 GMT+0000 (Coordinated Universal Time)
104
+ at Tue Dec 21 2021 11:51:22 GMT+0000 (Coordinated Universal Time)
105
105
  </div>
106
106
  </div>
107
107
  <script src="../../../prettify.js"></script>
@@ -313,7 +313,7 @@ export default MlUseMapDebugger;
313
313
  <div class='footer quiet pad2 space-top1 center small'>
314
314
  Code coverage generated by
315
315
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener">istanbul</a>
316
- at Wed Dec 15 2021 17:41:09 GMT+0000 (Coordinated Universal Time)
316
+ at Tue Dec 21 2021 11:51:22 GMT+0000 (Coordinated Universal Time)
317
317
  </div>
318
318
  </div>
319
319
  <script src="../../../prettify.js"></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">istanbul</a>
104
- at Wed Dec 15 2021 17:41:09 GMT+0000 (Coordinated Universal Time)
104
+ at Tue Dec 21 2021 11:51:22 GMT+0000 (Coordinated Universal Time)
105
105
  </div>
106
106
  </div>
107
107
  <script src="../../../prettify.js"></script>
@@ -469,7 +469,7 @@ export default MlVectorTileLayer;
469
469
  <div class='footer quiet pad2 space-top1 center small'>
470
470
  Code coverage generated by
471
471
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener">istanbul</a>
472
- at Wed Dec 15 2021 17:41:09 GMT+0000 (Coordinated Universal Time)
472
+ at Tue Dec 21 2021 11:51:22 GMT+0000 (Coordinated Universal Time)
473
473
  </div>
474
474
  </div>
475
475
  <script src="../../../prettify.js"></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">istanbul</a>
104
- at Wed Dec 15 2021 17:41:09 GMT+0000 (Coordinated Universal Time)
104
+ at Tue Dec 21 2021 11:51:22 GMT+0000 (Coordinated Universal Time)
105
105
  </div>
106
106
  </div>
107
107
  <script src="../../../prettify.js"></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">istanbul</a>
265
- at Wed Dec 15 2021 17:41:09 GMT+0000 (Coordinated Universal Time)
265
+ at Tue Dec 21 2021 11:51:22 GMT+0000 (Coordinated Universal Time)
266
266
  </div>
267
267
  </div>
268
268
  <script src="../../../prettify.js"></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">istanbul</a>
104
- at Wed Dec 15 2021 17:41:09 GMT+0000 (Coordinated Universal Time)
104
+ at Tue Dec 21 2021 11:51:22 GMT+0000 (Coordinated Universal Time)
105
105
  </div>
106
106
  </div>
107
107
  <script src="../../../prettify.js"></script>
@@ -622,7 +622,7 @@ export default MlWmsLayer;
622
622
  <div class='footer quiet pad2 space-top1 center small'>
623
623
  Code coverage generated by
624
624
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener">istanbul</a>
625
- at Wed Dec 15 2021 17:41:09 GMT+0000 (Coordinated Universal Time)
625
+ at Tue Dec 21 2021 11:51:22 GMT+0000 (Coordinated Universal Time)
626
626
  </div>
627
627
  </div>
628
628
  <script src="../../../prettify.js"></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">istanbul</a>
104
- at Wed Dec 15 2021 17:41:09 GMT+0000 (Coordinated Universal Time)
104
+ at Tue Dec 21 2021 11:51:22 GMT+0000 (Coordinated Universal Time)
105
105
  </div>
106
106
  </div>
107
107
  <script src="../../../prettify.js"></script>
@@ -976,7 +976,7 @@ export default MlWmsLoader;
976
976
  <div class='footer quiet pad2 space-top1 center small'>
977
977
  Code coverage generated by
978
978
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener">istanbul</a>
979
- at Wed Dec 15 2021 17:41:09 GMT+0000 (Coordinated Universal Time)
979
+ at Tue Dec 21 2021 11:51:22 GMT+0000 (Coordinated Universal Time)
980
980
  </div>
981
981
  </div>
982
982
  <script src="../../../prettify.js"></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">istanbul</a>
104
- at Wed Dec 15 2021 17:41:09 GMT+0000 (Coordinated Universal Time)
104
+ at Tue Dec 21 2021 11:51:22 GMT+0000 (Coordinated Universal Time)
105
105
  </div>
106
106
  </div>
107
107
  <script src="../../../prettify.js"></script>