@mapcomponents/react-maplibre 0.1.13 → 0.1.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/storybook.yml +4 -2
- package/CHANGELOG.md +33 -0
- package/README.md +22 -6
- package/coverage/clover.xml +447 -460
- package/coverage/coverage-final.json +14 -14
- package/coverage/lcov-report/index.html +77 -78
- package/coverage/lcov-report/src/components/MapLibreMap/MapLibreMap.js.html +2 -3
- package/coverage/lcov-report/src/components/MapLibreMap/index.html +2 -3
- package/coverage/lcov-report/src/components/MlCreatePdfButton/MlCreatePdfButton.js.html +2 -3
- package/coverage/lcov-report/src/components/MlCreatePdfButton/index.html +2 -3
- package/coverage/lcov-report/src/components/MlFeatureEditor/MlFeatureEditor.js.html +2 -3
- package/coverage/lcov-report/src/components/MlFeatureEditor/index.html +2 -3
- package/coverage/lcov-report/src/components/MlFillExtrusionLayer/MlFillExtrusionLayer.js.html +2 -3
- package/coverage/lcov-report/src/components/MlFillExtrusionLayer/index.html +2 -3
- package/coverage/lcov-report/src/components/MlFollowGps/MlFollowGps.js.html +112 -107
- package/coverage/lcov-report/src/components/MlFollowGps/index.html +16 -17
- package/coverage/lcov-report/src/components/MlGPXViewer/MlGPXViewer.js.html +2 -3
- package/coverage/lcov-report/src/components/MlGPXViewer/gpxConverter.js.html +2 -3
- package/coverage/lcov-report/src/components/MlGPXViewer/index.html +2 -3
- package/coverage/lcov-report/src/components/MlGeoJsonLayer/MlGeoJsonLayer.js.html +142 -134
- package/coverage/lcov-report/src/components/MlGeoJsonLayer/index.html +20 -21
- package/coverage/lcov-report/src/components/MlImageMarkerLayer/MlImageMarkerLayer.js.html +46 -152
- package/coverage/lcov-report/src/components/MlImageMarkerLayer/index.html +20 -21
- package/coverage/lcov-report/src/components/MlLayer/MlLayer.js.html +92 -30
- package/coverage/lcov-report/src/components/MlLayer/index.html +20 -21
- package/coverage/lcov-report/src/components/MlLayerMagnify/MlLayerMagnify.js.html +2 -3
- package/coverage/lcov-report/src/components/MlLayerMagnify/index.html +2 -3
- package/coverage/lcov-report/src/components/MlLayerSwipe/MlLayerSwipe.js.html +2 -3
- package/coverage/lcov-report/src/components/MlLayerSwipe/index.html +2 -3
- package/coverage/lcov-report/src/components/MlLayerSwitcher/MlLayerSwitcher.js.html +3 -10
- package/coverage/lcov-report/src/components/MlLayerSwitcher/components/LayerBox.js.html +9 -82
- package/coverage/lcov-report/src/components/MlLayerSwitcher/components/index.html +10 -11
- package/coverage/lcov-report/src/components/MlLayerSwitcher/index.html +2 -3
- package/coverage/lcov-report/src/components/MlMarker/MlMarker.js.html +6 -7
- package/coverage/lcov-report/src/components/MlMarker/index.html +6 -7
- package/coverage/lcov-report/src/components/MlNavigationCompass/MlNavigationCompass.js.html +2 -3
- package/coverage/lcov-report/src/components/MlNavigationCompass/index.html +2 -3
- package/coverage/lcov-report/src/components/MlNavigationTools/MlNavigationTools.js.html +11 -15
- package/coverage/lcov-report/src/components/MlNavigationTools/index.html +8 -9
- package/coverage/lcov-report/src/components/MlOsmLayer/MlOsmLayer.js.html +2 -3
- package/coverage/lcov-report/src/components/MlOsmLayer/index.html +2 -3
- package/coverage/lcov-report/src/components/MlScaleReference/MlScaleReference.js.html +2 -3
- package/coverage/lcov-report/src/components/MlScaleReference/index.html +2 -3
- package/coverage/lcov-report/src/components/MlShareMapState/MlShareMapState.js.html +209 -18
- package/coverage/lcov-report/src/components/MlShareMapState/index.html +10 -11
- package/coverage/lcov-report/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.js.html +2 -3
- package/coverage/lcov-report/src/components/MlSpatialElevationProfile/index.html +2 -3
- package/coverage/lcov-report/src/components/MlThreeJsLayer/MlThreeJsLayer.js.html +2 -3
- package/coverage/lcov-report/src/components/MlThreeJsLayer/index.html +2 -3
- package/coverage/lcov-report/src/components/MlUseMapDebugger/MlUseMapDebugger.js.html +6 -25
- package/coverage/lcov-report/src/components/MlUseMapDebugger/index.html +6 -7
- package/coverage/lcov-report/src/components/MlVectorTileLayer/MlVectorTileLayer.js.html +2 -3
- package/coverage/lcov-report/src/components/MlVectorTileLayer/index.html +2 -3
- package/coverage/lcov-report/src/components/MlWmsFeatureInfoPopup/MlWmsFeatureInfoPopup.js.html +2 -3
- package/coverage/lcov-report/src/components/MlWmsFeatureInfoPopup/index.html +2 -3
- package/coverage/lcov-report/src/components/MlWmsLayer/MlWmsLayer.js.html +2 -3
- package/coverage/lcov-report/src/components/MlWmsLayer/index.html +2 -3
- package/coverage/lcov-report/src/components/MlWmsLoader/MlWmsLoader.js.html +6 -19
- package/coverage/lcov-report/src/components/MlWmsLoader/index.html +8 -9
- package/coverage/lcov-report/src/hooks/index.html +35 -36
- package/coverage/lcov-report/src/hooks/useMap.js.html +81 -169
- package/coverage/lcov-report/src/hooks/useMapState.js.html +82 -125
- package/coverage/lcov-report/src/hooks/useWms.js.html +9 -22
- package/coverage/lcov-report/src/i18n.js.html +2 -3
- package/coverage/lcov-report/src/index.html +2 -3
- package/coverage/lcov-report/src/translations/english.js.html +2 -3
- package/coverage/lcov-report/src/translations/german.js.html +2 -3
- package/coverage/lcov-report/src/translations/index.html +2 -3
- package/coverage/lcov.info +891 -896
- package/dist/index.esm.js +941 -717
- package/dist/index.esm.js.map +1 -1
- package/package.json +2 -2
- package/src/components/MapLibreMap/lib/MapLibreGlWrapper.js +16 -14
- package/src/components/MlComponentTemplate/MlComponentTemplate.js +7 -32
- package/src/components/MlFollowGps/MlFollowGps.js +67 -65
- package/src/components/MlFollowGps/MlFollowGps.test.js +3 -5
- package/src/components/MlGeoJsonLayer/MlGeoJsonLayer.js +91 -88
- package/src/components/MlGeoJsonLayer/MlGeoJsonLayer.stories.js +20 -6
- package/src/components/MlGeoJsonLayer/assets/sample_polygon_1.json +33 -0
- package/src/components/MlGeoJsonLayer/util/getDefaultLayerTypeByGeometry.js +25 -0
- package/src/components/MlGeoJsonLayer/util/getDefaultPaintPropsByType.js +22 -0
- package/src/components/MlImageMarkerLayer/MlImageMarkerLayer.js +21 -56
- package/src/components/MlLayer/MlLayer.js +26 -5
- package/src/components/MlLayerSwitcher/MlLayerSwitcher.js +0 -2
- package/src/components/MlLayerSwitcher/MlLayerSwitcher.stories.js +3 -6
- package/src/components/MlLayerSwitcher/components/LayerBox.js +2 -26
- package/src/components/MlMarker/MlMarker.js +1 -1
- package/src/components/MlNavigationTools/MlNavigationTools.js +4 -5
- package/src/components/MlShareMapState/MlShareMapState.js +73 -9
- package/src/components/MlShareMapState/MlShareMapState.stories.js +22 -2
- package/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.stories.js +1 -3
- package/src/components/MlUseMapDebugger/MlUseMapDebugger.js +1 -7
- package/src/components/MlWmsLoader/MlWmsLoader.js +0 -4
- package/src/hooks/useMap.js +33 -62
- package/src/hooks/useMapState.js +3 -17
- package/src/hooks/useWms.js +2 -7
- package/src/index.js +3 -0
- package/src/ui_components/ImageLoader.js +8 -3
- package/src/ui_components/Sidebar.js +1 -1
- package/src/ui_components/TopToolbar.js +0 -2
|
@@ -23,30 +23,30 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">78.57% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>22/28</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">50% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>6/12</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">80% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>4/5</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">77.77% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>21/27</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
</div>
|
|
62
62
|
</template>
|
|
63
63
|
</div>
|
|
64
|
-
<div class='status-line
|
|
64
|
+
<div class='status-line medium'></div>
|
|
65
65
|
<pre><table class="coverage">
|
|
66
66
|
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
|
67
67
|
<a name='L2'></a><a href='#L2'>2</a>
|
|
@@ -133,74 +133,16 @@
|
|
|
133
133
|
<a name='L68'></a><a href='#L68'>68</a>
|
|
134
134
|
<a name='L69'></a><a href='#L69'>69</a>
|
|
135
135
|
<a name='L70'></a><a href='#L70'>70</a>
|
|
136
|
-
<a name='L71'></a><a href='#L71'>71</a>
|
|
137
|
-
<a name='L72'></a><a href='#L72'>72</a>
|
|
138
|
-
<a name='L73'></a><a href='#L73'>73</a>
|
|
139
|
-
<a name='L74'></a><a href='#L74'>74</a>
|
|
140
|
-
<a name='L75'></a><a href='#L75'>75</a>
|
|
141
|
-
<a name='L76'></a><a href='#L76'>76</a>
|
|
142
|
-
<a name='L77'></a><a href='#L77'>77</a>
|
|
143
|
-
<a name='L78'></a><a href='#L78'>78</a>
|
|
144
|
-
<a name='L79'></a><a href='#L79'>79</a>
|
|
145
|
-
<a name='L80'></a><a href='#L80'>80</a>
|
|
146
|
-
<a name='L81'></a><a href='#L81'>81</a>
|
|
147
|
-
<a name='L82'></a><a href='#L82'>82</a>
|
|
148
|
-
<a name='L83'></a><a href='#L83'>83</a>
|
|
149
|
-
<a name='L84'></a><a href='#L84'>84</a>
|
|
150
|
-
<a name='L85'></a><a href='#L85'>85</a>
|
|
151
|
-
<a name='L86'></a><a href='#L86'>86</a>
|
|
152
|
-
<a name='L87'></a><a href='#L87'>87</a>
|
|
153
|
-
<a name='L88'></a><a href='#L88'>88</a>
|
|
154
|
-
<a name='L89'></a><a href='#L89'>89</a>
|
|
155
|
-
<a name='L90'></a><a href='#L90'>90</a>
|
|
156
|
-
<a name='L91'></a><a href='#L91'>91</a>
|
|
157
|
-
<a name='L92'></a><a href='#L92'>92</a>
|
|
158
|
-
<a name='L93'></a><a href='#L93'>93</a>
|
|
159
|
-
<a name='L94'></a><a href='#L94'>94</a>
|
|
160
|
-
<a name='L95'></a><a href='#L95'>95</a>
|
|
161
|
-
<a name='L96'></a><a href='#L96'>96</a>
|
|
162
|
-
<a name='L97'></a><a href='#L97'>97</a>
|
|
163
|
-
<a name='L98'></a><a href='#L98'>98</a>
|
|
164
|
-
<a name='L99'></a><a href='#L99'>99</a>
|
|
165
|
-
<a name='L100'></a><a href='#L100'>100</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
136
|
+
<a name='L71'></a><a href='#L71'>71</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
166
137
|
<span class="cline-any cline-neutral"> </span>
|
|
167
138
|
<span class="cline-any cline-neutral"> </span>
|
|
168
139
|
<span class="cline-any cline-neutral"> </span>
|
|
169
140
|
<span class="cline-any cline-neutral"> </span>
|
|
170
141
|
<span class="cline-any cline-neutral"> </span>
|
|
171
|
-
<span class="cline-any cline-no"> </span>
|
|
172
|
-
<span class="cline-any cline-neutral"> </span>
|
|
173
|
-
<span class="cline-any cline-no"> </span>
|
|
174
|
-
<span class="cline-any cline-no"> </span>
|
|
175
|
-
<span class="cline-any cline-neutral"> </span>
|
|
176
|
-
<span class="cline-any cline-no"> </span>
|
|
177
|
-
<span class="cline-any cline-no"> </span>
|
|
178
|
-
<span class="cline-any cline-no"> </span>
|
|
179
|
-
<span class="cline-any cline-neutral"> </span>
|
|
180
|
-
<span class="cline-any cline-no"> </span>
|
|
181
|
-
<span class="cline-any cline-no"> </span>
|
|
182
|
-
<span class="cline-any cline-neutral"> </span>
|
|
183
|
-
<span class="cline-any cline-no"> </span>
|
|
184
|
-
<span class="cline-any cline-neutral"> </span>
|
|
185
|
-
<span class="cline-any cline-no"> </span>
|
|
186
|
-
<span class="cline-any cline-no"> </span>
|
|
187
|
-
<span class="cline-any cline-neutral"> </span>
|
|
188
|
-
<span class="cline-any cline-no"> </span>
|
|
189
|
-
<span class="cline-any cline-no"> </span>
|
|
190
|
-
<span class="cline-any cline-no"> </span>
|
|
191
|
-
<span class="cline-any cline-no"> </span>
|
|
192
|
-
<span class="cline-any cline-neutral"> </span>
|
|
193
|
-
<span class="cline-any cline-no"> </span>
|
|
194
|
-
<span class="cline-any cline-neutral"> </span>
|
|
195
|
-
<span class="cline-any cline-neutral"> </span>
|
|
196
|
-
<span class="cline-any cline-neutral"> </span>
|
|
197
|
-
<span class="cline-any cline-no"> </span>
|
|
198
|
-
<span class="cline-any cline-no"> </span>
|
|
199
|
-
<span class="cline-any cline-no"> </span>
|
|
200
|
-
<span class="cline-any cline-no"> </span>
|
|
201
|
-
<span class="cline-any cline-no"> </span>
|
|
202
142
|
<span class="cline-any cline-neutral"> </span>
|
|
143
|
+
<span class="cline-any cline-yes">33x</span>
|
|
203
144
|
<span class="cline-any cline-neutral"> </span>
|
|
145
|
+
<span class="cline-any cline-yes">33x</span>
|
|
204
146
|
<span class="cline-any cline-neutral"> </span>
|
|
205
147
|
<span class="cline-any cline-neutral"> </span>
|
|
206
148
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -209,51 +151,51 @@
|
|
|
209
151
|
<span class="cline-any cline-neutral"> </span>
|
|
210
152
|
<span class="cline-any cline-neutral"> </span>
|
|
211
153
|
<span class="cline-any cline-neutral"> </span>
|
|
154
|
+
<span class="cline-any cline-yes">33x</span>
|
|
155
|
+
<span class="cline-any cline-yes">33x</span>
|
|
212
156
|
<span class="cline-any cline-neutral"> </span>
|
|
157
|
+
<span class="cline-any cline-yes">33x</span>
|
|
213
158
|
<span class="cline-any cline-neutral"> </span>
|
|
159
|
+
<span class="cline-any cline-yes">33x</span>
|
|
214
160
|
<span class="cline-any cline-neutral"> </span>
|
|
161
|
+
<span class="cline-any cline-yes">33x</span>
|
|
162
|
+
<span class="cline-any cline-yes">10x</span>
|
|
215
163
|
<span class="cline-any cline-neutral"> </span>
|
|
216
|
-
<span class="cline-any cline-
|
|
217
|
-
<span class="cline-any cline-
|
|
164
|
+
<span class="cline-any cline-yes">10x</span>
|
|
165
|
+
<span class="cline-any cline-yes">4x</span>
|
|
166
|
+
<span class="cline-any cline-yes">4x</span>
|
|
167
|
+
<span class="cline-any cline-yes">4x</span>
|
|
218
168
|
<span class="cline-any cline-neutral"> </span>
|
|
219
|
-
<span class="cline-any cline-
|
|
220
|
-
<span class="cline-any cline-
|
|
169
|
+
<span class="cline-any cline-yes">4x</span>
|
|
170
|
+
<span class="cline-any cline-yes">4x</span>
|
|
221
171
|
<span class="cline-any cline-neutral"> </span>
|
|
222
172
|
<span class="cline-any cline-neutral"> </span>
|
|
223
|
-
<span class="cline-any cline-no"> </span>
|
|
224
|
-
<span class="cline-any cline-no"> </span>
|
|
225
173
|
<span class="cline-any cline-neutral"> </span>
|
|
226
|
-
<span class="cline-any cline-
|
|
227
|
-
<span class="cline-any cline-
|
|
174
|
+
<span class="cline-any cline-yes">33x</span>
|
|
175
|
+
<span class="cline-any cline-yes">30x</span>
|
|
228
176
|
<span class="cline-any cline-neutral"> </span>
|
|
229
177
|
<span class="cline-any cline-neutral"> </span>
|
|
178
|
+
<span class="cline-any cline-yes">10x</span>
|
|
230
179
|
<span class="cline-any cline-no"> </span>
|
|
231
|
-
<span class="cline-any cline-no"> </span>
|
|
232
|
-
<span class="cline-any cline-no"> </span>
|
|
233
|
-
<span class="cline-any cline-no"> </span>
|
|
234
|
-
<span class="cline-any cline-neutral"> </span>
|
|
235
180
|
<span class="cline-any cline-neutral"> </span>
|
|
236
181
|
<span class="cline-any cline-no"> </span>
|
|
237
182
|
<span class="cline-any cline-no"> </span>
|
|
238
183
|
<span class="cline-any cline-no"> </span>
|
|
239
|
-
<span class="cline-any cline-no"> </span>
|
|
240
|
-
<span class="cline-any cline-no"> </span>
|
|
241
|
-
<span class="cline-any cline-neutral"> </span>
|
|
242
|
-
<span class="cline-any cline-neutral"> </span>
|
|
243
|
-
<span class="cline-any cline-neutral"> </span>
|
|
244
184
|
<span class="cline-any cline-neutral"> </span>
|
|
245
185
|
<span class="cline-any cline-neutral"> </span>
|
|
246
186
|
<span class="cline-any cline-no"> </span>
|
|
247
187
|
<span class="cline-any cline-no"> </span>
|
|
248
188
|
<span class="cline-any cline-neutral"> </span>
|
|
249
189
|
<span class="cline-any cline-neutral"> </span>
|
|
250
|
-
<span class="cline-any cline-no"> </span>
|
|
251
190
|
<span class="cline-any cline-neutral"> </span>
|
|
252
191
|
<span class="cline-any cline-neutral"> </span>
|
|
192
|
+
<span class="cline-any cline-yes">10x</span>
|
|
193
|
+
<span class="cline-any cline-yes">10x</span>
|
|
194
|
+
<span class="cline-any cline-yes">10x</span>
|
|
253
195
|
<span class="cline-any cline-neutral"> </span>
|
|
254
196
|
<span class="cline-any cline-neutral"> </span>
|
|
197
|
+
<span class="cline-any cline-yes">33x</span>
|
|
255
198
|
<span class="cline-any cline-neutral"> </span>
|
|
256
|
-
<span class="cline-any cline-no"> </span>
|
|
257
199
|
<span class="cline-any cline-neutral"> </span>
|
|
258
200
|
<span class="cline-any cline-neutral"> </span>
|
|
259
201
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -264,98 +206,69 @@
|
|
|
264
206
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import { useContext, useState, useEffect, useRef } from "react";
|
|
265
207
|
import { v4 as uuidv4 } from "uuid";
|
|
266
208
|
import { MapContext } from "@mapcomponents/react-core";
|
|
209
|
+
import useMapState from "./useMapState";
|
|
267
210
|
|
|
268
|
-
function
|
|
211
|
+
function useMap(props) {
|
|
269
212
|
// Use a useRef hook to reference the layer object to be able to access it later inside useEffect hooks
|
|
270
|
-
const mapContext =
|
|
213
|
+
const mapContext = useContext(MapContext);
|
|
214
|
+
|
|
215
|
+
const mapState = useMapState({
|
|
216
|
+
mapId: props.mapId,
|
|
217
|
+
watch: {
|
|
218
|
+
viewport: false,
|
|
219
|
+
layers: true,
|
|
220
|
+
sources: false,
|
|
221
|
+
},
|
|
222
|
+
});
|
|
271
223
|
|
|
272
|
-
const initializedRef =
|
|
273
|
-
const mapRef =
|
|
224
|
+
const initializedRef = useRef(false);
|
|
225
|
+
const mapRef = useRef(undefined);
|
|
274
226
|
|
|
275
|
-
const
|
|
276
|
-
const [layerIds, setLayerIds] = <span class="cstat-no" title="statement not covered" >useState(undefined);</span>
|
|
277
|
-
const layerIdsRef = <span class="cstat-no" title="statement not covered" >useRef(undefined);</span>
|
|
227
|
+
const componentId = useRef(uuidv4());
|
|
278
228
|
|
|
279
|
-
const [
|
|
280
|
-
const layersRef = <span class="cstat-no" title="statement not covered" >useRef(undefined);</span>
|
|
281
|
-
//const mapRef = useRef(props.map);
|
|
282
|
-
const componentId = <span class="cstat-no" title="statement not covered" >useRef(uuidv4());</span>
|
|
229
|
+
const [mapIsReady, setMapIsReady] = useState(undefined);
|
|
283
230
|
|
|
284
|
-
|
|
285
|
-
let _componentId =
|
|
231
|
+
useEffect(() => {
|
|
232
|
+
let _componentId = componentId.current;
|
|
286
233
|
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
234
|
+
return () => {
|
|
235
|
+
if (mapRef.current) {
|
|
236
|
+
mapRef.current.cleanup(_componentId);
|
|
237
|
+
mapRef.current = undefined;
|
|
291
238
|
}
|
|
292
|
-
|
|
239
|
+
initializedRef.current = false;
|
|
240
|
+
setMapIsReady(false);
|
|
293
241
|
};
|
|
294
242
|
}, []);
|
|
295
243
|
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
<span class="cstat-no" title="statement not covered" > Object.keys(layers).forEach(<span class="fstat-no" title="function not covered" >(l</span>ayerId) => {</span>
|
|
299
|
-
<span class="cstat-no" title="statement not covered" > if (mapRef.current.baseLayers.indexOf(layerId) === -1) {</span>
|
|
300
|
-
<span class="cstat-no" title="statement not covered" > res[layerId] = {</span>
|
|
301
|
-
//filter: layers[layerId].filter,
|
|
302
|
-
id: layers[layerId].id,
|
|
303
|
-
//layout: layers[layerId].layout,
|
|
304
|
-
//maxzoom: layers[layerId].maxzoom,
|
|
305
|
-
//metadata: layers[layerId].metadata,
|
|
306
|
-
//minzoom: layers[layerId].minzoom,
|
|
307
|
-
paint: layers[layerId].paint,
|
|
308
|
-
//source: layers[layerId].source,
|
|
309
|
-
//sourceLayer: layers[layerId].sourceLayer,
|
|
310
|
-
type: layers[layerId].type,
|
|
311
|
-
visibility: layers[layerId].visibility,
|
|
312
|
-
};
|
|
313
|
-
}
|
|
314
|
-
});
|
|
315
|
-
<span class="cstat-no" title="statement not covered" > return res;</span>
|
|
316
|
-
};
|
|
244
|
+
useEffect(() => {
|
|
245
|
+
if (!mapContext.mapExists(props.mapId) || initializedRef.current) return;
|
|
317
246
|
|
|
318
|
-
|
|
319
|
-
<span class="
|
|
320
|
-
|
|
321
|
-
// initialize the layer and add it to the MapLibre-gl instance or do something else with it
|
|
322
|
-
<span class="cstat-no" title="statement not covered" > initializedRef.current = true;</span>
|
|
323
|
-
<span class="cstat-no" title="statement not covered" > mapRef.current = mapContext.getMap(props.mapId);</span>
|
|
247
|
+
//check if insertBeforeLayer exists
|
|
248
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (props.waitForLayer) {
|
|
249
|
+
let layerFound = <span class="cstat-no" title="statement not covered" >false;</span>
|
|
324
250
|
|
|
325
|
-
<span class="cstat-no" title="statement not covered" >
|
|
326
|
-
<span class="cstat-no" title="statement not covered" >
|
|
327
|
-
|
|
328
|
-
<span class="fstat-no" title="function not covered" > ()</span> => {
|
|
329
|
-
<span class="cstat-no" title="statement not covered" > if (JSON.stringify(mapRef.current.style._order) !== layerIdsRef.current) {</span>
|
|
330
|
-
let layerIds = <span class="cstat-no" title="statement not covered" >[...mapRef.current.style._order];</span>
|
|
331
|
-
<span class="cstat-no" title="statement not covered" > layerIdsRef.current = JSON.stringify(layerIds);</span>
|
|
332
|
-
<span class="cstat-no" title="statement not covered" > setLayerIds(layerIds);</span>
|
|
251
|
+
<span class="cstat-no" title="statement not covered" > mapState?.layers?.forEach(<span class="fstat-no" title="function not covered" >(l</span>ayer) => {</span>
|
|
252
|
+
<span class="cstat-no" title="statement not covered" > if (layer.id === props.waitForLayer) {</span>
|
|
253
|
+
<span class="cstat-no" title="statement not covered" > layerFound = true;</span>
|
|
333
254
|
}
|
|
255
|
+
});
|
|
256
|
+
<span class="cstat-no" title="statement not covered" > if (!layerFound) {</span>
|
|
257
|
+
<span class="cstat-no" title="statement not covered" > return;</span>
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
// the MapLibre-gl instance (mapContext.getMap(props.mapId)) is accessible here
|
|
261
|
+
// initialize the layer and add it to the MapLibre-gl instance or do something else with it
|
|
262
|
+
initializedRef.current = true;
|
|
263
|
+
mapRef.current = mapContext.getMap(props.mapId);
|
|
264
|
+
setMapIsReady(true);
|
|
265
|
+
}, [mapContext.mapIds, mapState.layers, mapContext, props.mapId]);
|
|
334
266
|
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
}
|
|
341
|
-
},
|
|
342
|
-
componentId.current
|
|
343
|
-
);
|
|
344
|
-
|
|
345
|
-
<span class="cstat-no" title="statement not covered" > setCenter(mapRef.current.getCenter());</span>
|
|
346
|
-
<span class="cstat-no" title="statement not covered" > mapRef.current.on(</span>
|
|
347
|
-
"move",
|
|
348
|
-
<span class="fstat-no" title="function not covered" > ()</span> => {
|
|
349
|
-
<span class="cstat-no" title="statement not covered" > setCenter(mapRef.current.getCenter());</span>
|
|
350
|
-
},
|
|
351
|
-
componentId.current
|
|
352
|
-
);
|
|
353
|
-
}, [mapContext.mapIds, mapContext, props.mapId]);
|
|
354
|
-
|
|
355
|
-
<span class="cstat-no" title="statement not covered" > return {</span>
|
|
356
|
-
layers,
|
|
357
|
-
layerIds,
|
|
358
|
-
center,
|
|
267
|
+
return {
|
|
268
|
+
map: mapRef.current,
|
|
269
|
+
mapIsReady,
|
|
270
|
+
componentId: componentId.current,
|
|
271
|
+
layers: mapState.layers,
|
|
359
272
|
};
|
|
360
273
|
}
|
|
361
274
|
|
|
@@ -366,10 +279,9 @@ export default useMap;
|
|
|
366
279
|
</div><!-- /wrapper -->
|
|
367
280
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
368
281
|
Code coverage generated by
|
|
369
|
-
<a href="https://istanbul.js.org/" target="_blank" rel="noopener">istanbul</a>
|
|
370
|
-
at
|
|
282
|
+
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
283
|
+
at Sun Jan 09 2022 17:13:08 GMT+0000 (Coordinated Universal Time)
|
|
371
284
|
</div>
|
|
372
|
-
</div>
|
|
373
285
|
<script src="../../prettify.js"></script>
|
|
374
286
|
<script>
|
|
375
287
|
window.onload = function () {
|