From c4ffccd2536be747500e6ac7800200284dc7220f Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期一, 14 十月 2024 10:19:02 +0800 Subject: [PATCH] # --- zy-acs-flow/src/map/MapPage.jsx | 30 ++++++++++++++++++++++++++++-- 1 files changed, 28 insertions(+), 2 deletions(-) diff --git a/zy-acs-flow/src/map/MapPage.jsx b/zy-acs-flow/src/map/MapPage.jsx index 355217f..9d35888 100644 --- a/zy-acs-flow/src/map/MapPage.jsx +++ b/zy-acs-flow/src/map/MapPage.jsx @@ -25,6 +25,7 @@ import Insight from "./insight"; import Device from "./Device"; import Settings from "./settings"; +import Batch from "./batch"; import * as Http from './http'; import WebSocketClient from './websocket' import ConfirmButton from "../page/components/ConfirmButton"; @@ -50,9 +51,11 @@ const [insightVisible, setInsightVisible] = useState(false); const [deviceVisible, setDeviceVisible] = useState(false); const [settingsVisible, setSettingsVisible] = useState(false); + const [batchSelectionVisible, setBatchSelectionVisible] = useState(false); const [spriteSettings, setSpriteSettings] = useState(null); const prevSpriteSettingsRef = useRef(); + const [batchSprites, setBatchSprites] = useState([]); const [curZone, setCurZone] = useState(() => { const storedValue = localStorage.getItem('curZone'); @@ -122,8 +125,10 @@ setDeviceVisible(false); setSettingsVisible(false); + setBatchSelectionVisible(false); setSpriteSettings(null); + setBatchSprites([]); switch (mode) { case MapMode.OBSERVER_MODE: @@ -131,7 +136,7 @@ player.hideStarryBackground(); player.activateMapMultiSelect((selectedSprites, restartFn) => { - console.log(selectedSprites); + setBatchSprites(selectedSprites); }); break @@ -154,7 +159,7 @@ player.showStarryBackground(); // 0x2f68ac player.activateMapMultiSelect((selectedSprites, restartFn) => { - console.log(selectedSprites); + setBatchSprites(selectedSprites); }); mapContainer.children.forEach(child => { @@ -200,6 +205,19 @@ } }, [spriteSettings, mapContainer]) const prevSpriteSettings = prevSpriteSettingsRef.current; + + // watch batchSprites + React.useEffect(() => { + if (!mapContainer) { + return; + } + if (batchSprites?.length > 0) { + setBatchSelectionVisible(true) + } else { + player.clearSelectedSprites(); + setBatchSelectionVisible(false) + } + }, [batchSprites]) const actions = [ { icon: <FileCopyIcon />, name: '澶嶅埗' }, @@ -420,6 +438,14 @@ width={570} /> + <Batch + open={batchSelectionVisible} + onCancel={() => { + setBatchSelectionVisible(false); + }} + width={570} + /> + </Box> ); } -- Gitblit v1.9.1