From 29f7f570eeade36578ff513bf00c86f216cf5fc6 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期六, 16 三月 2024 13:40:02 +0800
Subject: [PATCH] #
---
zy-asrs-flow/src/pages/map/drawer/index.jsx | 4 +++-
zy-asrs-flow/src/pages/map/index.jsx | 32 +++++++++++++++++++-------------
2 files changed, 22 insertions(+), 14 deletions(-)
diff --git a/zy-asrs-flow/src/pages/map/drawer/index.jsx b/zy-asrs-flow/src/pages/map/drawer/index.jsx
index 66c9a25..824e54a 100644
--- a/zy-asrs-flow/src/pages/map/drawer/index.jsx
+++ b/zy-asrs-flow/src/pages/map/drawer/index.jsx
@@ -39,7 +39,9 @@
</Button>
</Space>
}
- />
+ >
+ {props.curSprite?.data?.uuid}
+ </Drawer>
</>
)
}
diff --git a/zy-asrs-flow/src/pages/map/index.jsx b/zy-asrs-flow/src/pages/map/index.jsx
index 7933169..986dc96 100644
--- a/zy-asrs-flow/src/pages/map/index.jsx
+++ b/zy-asrs-flow/src/pages/map/index.jsx
@@ -66,7 +66,7 @@
const mapRef = React.useRef();
const contentRef = React.useRef();
- const [model, setModel] = React.useState(() => MapModel.OBSERVER_MODEL);
+ const [model, setModel] = React.useState(null);
const [deviceVisible, setDeviceVisible] = React.useState(false);
const [settingsVisible, setSettingsVisible] = React.useState(false);
const [windowSize, setWindowSize] = React.useState({
@@ -78,9 +78,10 @@
const [didClickSprite, setDidClickSprite] = React.useState(false);
const [spriteBySettings, setSpriteBySettings] = React.useState(null);
const prevSpriteBySettingsRef = React.useRef();
- const [curSprite, setCurSPrite] = React.useState(null);
const [drawerVisible, setDrawerVisible] = React.useState(false);
const [dataFetched, setDataFetched] = React.useState(false);
+ const [curSprite, setCurSPrite] = React.useState(null);
+ const prevCurSpriteRef = React.useRef();
// init func
React.useEffect(async () => {
@@ -97,9 +98,9 @@
});
};
window.addEventListener('resize', handleResize);
-
await Utils.fetchMapData(intl);
setDataFetched(true);
+ setModel(MapModel.OBSERVER_MODEL)
setTimeout(() => {
player.adaptScreen();
}, 200)
@@ -121,12 +122,13 @@
// model
React.useEffect(() => {
- if (!mapContainer) {
+ if (!mapContainer && !dataFetched) {
return;
}
+
switch (model) {
case MapModel.OBSERVER_MODEL:
-
+
player.hideGridlines();
player.hideStarryBackground();
@@ -135,14 +137,7 @@
Utils.removeSelectedEffect();
setDeviceVisible(false);
setSettingsVisible(false);
-
- mapContainer.children.forEach(child => {
- child.off('pointerup');
- child.off('pointermove');
- child.off('pointerdown');
- child.off('click');
- })
-
+
mapContainer.children.forEach(child => {
Utils.viewFeature(child, setCurSPrite);
})
@@ -223,12 +218,22 @@
}
React.useEffect(() => {
+ prevCurSpriteRef.current = curSprite;
+
+ if (curSprite && prevCurSprite !== curSprite) {
+ Utils.removeSelectedEffect();
+ }
+
if (curSprite) {
if (model === MapModel.OBSERVER_MODEL) {
+ Utils.showSelectedEffect(curSprite)
setDrawerVisible(true)
}
+ } else {
+ Utils.removeSelectedEffect();
}
}, [curSprite]);
+ const prevCurSprite = prevCurSpriteRef.current;
return (
<>
@@ -362,6 +367,7 @@
<MapDrawer
open={drawerVisible}
+ curSprite={curSprite}
refCurr={mapRef.current}
onCancel={() => {
setCurSPrite(null);
--
Gitblit v1.9.1