From 8483d8ba430703c4386405e2d55daa0281aab57b Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期二, 08 十月 2024 14:26:02 +0800
Subject: [PATCH] #
---
zy-acs-flow/src/map/MapPage.jsx | 66 +++++++++++++++++++--------------
1 files changed, 38 insertions(+), 28 deletions(-)
diff --git a/zy-acs-flow/src/map/MapPage.jsx b/zy-acs-flow/src/map/MapPage.jsx
index 155c827..3fd2412 100644
--- a/zy-acs-flow/src/map/MapPage.jsx
+++ b/zy-acs-flow/src/map/MapPage.jsx
@@ -7,6 +7,7 @@
Box,
SpeedDial,
SpeedDialAction,
+ useTheme,
} from '@mui/material';
import {
MoreVert as MoreVertIcon,
@@ -22,48 +23,55 @@
const MapPage = () => {
const mapRef = useRef();
- const contentRef = useRef();
-
+ const contentRef = React.useRef();
const [app, setApp] = useState(null);
const [mapContainer, setMapContainer] = React.useState(null);
- const [windowSize, setWindowSize] = useState({
+ const [mode, setMode] = useState('monitoring');
+
+ const [windowSize, setWindowSize] = React.useState({
width: window.innerWidth,
height: window.innerHeight,
});
- const [mode, setMode] = useState('monitoring');
+ const theme = useTheme();
+ const themeMode = theme.palette.mode;
useEffect(() => {
+ const parentElement = document.getElementById('main-content');
+ if (parentElement && parentElement.classList.contains('RaLayout-content')) {
+ parentElement.style.paddingLeft = '0px';
+ parentElement.style.paddingRight = '0px';
+ }
+
const initialize = async () => {
- player = new Player(mapRef.current);
+ player = new Player(mapRef.current, themeMode);
setApp(player.app);
setMapContainer(player.mapContainer);
- const handleResize = () => {
- setWindowSize({
- width: window.innerWidth,
- height: window.innerHeight,
- });
- };
- window.addEventListener('resize', handleResize);
}
-
initialize();
- return () => {
- player.app.destroy(true, { children: true });
- window.removeEventListener('resize', () => { });
- };
- }, [])
- // resize
- useEffect(() => {
- if (app && contentRef.current) {
- const width = contentRef.current.offsetWidth;
- const height = contentRef.current.offsetHeight;
- app.renderer.resize(width, height); // 鍔ㄦ�佽皟鏁� PIXI 澶у皬
- }
- }, [app, mapContainer]);
+ // windows resize
+ const handleResize = () => {
+ setWindowSize({
+ width: window.innerWidth,
+ height: window.innerHeight,
+ });
+ player.resize();
+ };
+ window.addEventListener('resize', handleResize);
+
+ return () => {
+ player.destroy();
+ window.removeEventListener('resize', handleResize);
+
+ if (parentElement && parentElement.classList.contains('RaLayout-content')) {
+ parentElement.style.paddingLeft = '';
+ parentElement.style.paddingRight = '';
+ }
+ };
+ }, [themeMode])
const handleModeChange = (event) => {
setMode(event.target.value);
@@ -80,7 +88,6 @@
return (
<Box
sx={{
- margin: '0 -8px',
height: '100%',
display: 'flex',
flexDirection: 'column',
@@ -149,7 +156,10 @@
backgroundColor: '#e0e0e0',
}}
>
- <div ref={mapRef} />
+ <div ref={mapRef} style={{
+ width: '100%',
+ height: '100%',
+ }} />
</Box>
<SpeedDial
--
Gitblit v1.9.1