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/batch/index.jsx | 44 +++++++++++++++++++++ zy-acs-flow/src/map/MapPage.jsx | 18 ++++++++- 2 files changed, 59 insertions(+), 3 deletions(-) diff --git a/zy-acs-flow/src/map/MapPage.jsx b/zy-acs-flow/src/map/MapPage.jsx index 2d5e439..9d35888 100644 --- a/zy-acs-flow/src/map/MapPage.jsx +++ b/zy-acs-flow/src/map/MapPage.jsx @@ -136,7 +136,7 @@ player.hideStarryBackground(); player.activateMapMultiSelect((selectedSprites, restartFn) => { - console.log(selectedSprites); + setBatchSprites(selectedSprites); }); break @@ -159,7 +159,7 @@ player.showStarryBackground(); // 0x2f68ac player.activateMapMultiSelect((selectedSprites, restartFn) => { - console.log(selectedSprites); + setBatchSprites(selectedSprites); }); mapContainer.children.forEach(child => { @@ -205,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: '澶嶅埗' }, @@ -430,6 +443,7 @@ onCancel={() => { setBatchSelectionVisible(false); }} + width={570} /> </Box> diff --git a/zy-acs-flow/src/map/batch/index.jsx b/zy-acs-flow/src/map/batch/index.jsx index c05bf1c..26cb832 100644 --- a/zy-acs-flow/src/map/batch/index.jsx +++ b/zy-acs-flow/src/map/batch/index.jsx @@ -1,7 +1,49 @@ +import React, { useState, useRef, useEffect } from 'react'; +import { useTranslate } from "react-admin"; +import { Drawer, Box, Typography, Tabs, Tab, IconButton, Stack, useTheme, Card, CardContent, Divider } from '@mui/material'; +import CloseIcon from '@mui/icons-material/Close'; +import { PAGE_DRAWER_WIDTH } from '@/config/setting'; +const Batch = (props) => { + const { open, onCancel, sprite, width = PAGE_DRAWER_WIDTH, title } = props; + const theme = useTheme(); + const themeMode = theme.palette.mode; + const translate = useTranslate(); -const Batch = () => { + const handleClose = () => { + onCancel(); + } + useEffect(() => { + }, []) + + return ( + <> + <Drawer + variant="persistent" + open={open} + anchor="right" + onClose={handleClose} + sx={{ zIndex: 100, opacity: 1 }} + > + {open && ( + <Box pt={12} width={{ xs: '100vW', sm: width }} height={'calc(100vh - 200px);'} mt={{ xs: 2, sm: 1 }} sx={{ + }}> + <Stack direction="row" p={2}> + <Typography variant="h6" flex="1"> + {title || translate('page.map.settings.title')} + </Typography> + <IconButton onClick={handleClose} size="small"> + <CloseIcon /> + </IconButton> + </Stack> + <Box p={3}> + </Box> + </Box> + )} + </Drawer> + </> + ) } export default Batch; \ No newline at end of file -- Gitblit v1.9.1