@reearth/core 0.0.7-alpha.55 → 0.0.7-alpha.56
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/dist/core.js +3776 -3770
- package/dist/core.umd.cjs +39 -39
- package/package.json +1 -1
- package/src/Map/Layers/hooks.ts +16 -6
package/package.json
CHANGED
package/src/Map/Layers/hooks.ts
CHANGED
|
@@ -153,11 +153,21 @@ export default function useHooks({
|
|
|
153
153
|
[hiddenLayerIds, hiddenLayers],
|
|
154
154
|
);
|
|
155
155
|
|
|
156
|
-
const
|
|
156
|
+
const derivedLayers = useMemo(() => {
|
|
157
|
+
return layers?.map(l => {
|
|
158
|
+
const hidden = isHidden?.(l.id);
|
|
159
|
+
return {
|
|
160
|
+
...l,
|
|
161
|
+
visible: hidden ? !hidden : l.visible,
|
|
162
|
+
};
|
|
163
|
+
});
|
|
164
|
+
}, [isHidden, layers]);
|
|
165
|
+
|
|
166
|
+
const layersRef = useGet(derivedLayers);
|
|
157
167
|
const [tempLayers, setTempLayers] = useState<Layer[]>([]);
|
|
158
168
|
const tempLayersRef = useRef<Layer[]>([]);
|
|
159
169
|
const flattenedLayers = useMemo((): Layer[] => {
|
|
160
|
-
const newLayers = [...flattenLayers(
|
|
170
|
+
const newLayers = [...flattenLayers(derivedLayers ?? []), ...flattenLayers(tempLayers)];
|
|
161
171
|
// apply overrides
|
|
162
172
|
return newLayers.map(l => {
|
|
163
173
|
const ol: any = overriddenLayers.find(ll => ll.id === l.id);
|
|
@@ -179,7 +189,7 @@ export default function useHooks({
|
|
|
179
189
|
|
|
180
190
|
return res;
|
|
181
191
|
});
|
|
182
|
-
}, [
|
|
192
|
+
}, [derivedLayers, tempLayers, overriddenLayers]);
|
|
183
193
|
|
|
184
194
|
const getComputedLayer = useAtomValue(
|
|
185
195
|
useMemo(
|
|
@@ -623,7 +633,7 @@ export default function useHooks({
|
|
|
623
633
|
useLayoutEffect(() => {
|
|
624
634
|
const ids = new Set<string>();
|
|
625
635
|
|
|
626
|
-
walkLayers(
|
|
636
|
+
walkLayers(derivedLayers ?? [], l => {
|
|
627
637
|
ids.add(l.id);
|
|
628
638
|
if (!atomMap.has(l.id)) {
|
|
629
639
|
atomMap.set(l.id, computeAtom());
|
|
@@ -643,8 +653,8 @@ export default function useHooks({
|
|
|
643
653
|
overriddenLayersRef.current = updated;
|
|
644
654
|
setOverridenLayers(updated);
|
|
645
655
|
|
|
646
|
-
prevLayers.current =
|
|
647
|
-
}, [atomMap,
|
|
656
|
+
prevLayers.current = derivedLayers;
|
|
657
|
+
}, [atomMap, layerMap, lazyLayerMap, setOverridenLayers, showLayer, derivedLayers]);
|
|
648
658
|
|
|
649
659
|
useEffect(() => {
|
|
650
660
|
if (!requestingRenderMode || requestingRenderMode.current === FORCE_REQUEST_RENDER) return;
|