From 9153cfe458ab45c8e5b3594982edf346eddaba22 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期六, 07 六月 2025 08:50:38 +0800
Subject: [PATCH] 新增编辑页

---
 rsf-admin/src/page/components/PageEditDrawer.jsx |   56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 56 insertions(+), 0 deletions(-)

diff --git a/rsf-admin/src/page/components/PageEditDrawer.jsx b/rsf-admin/src/page/components/PageEditDrawer.jsx
new file mode 100644
index 0000000..26b3d49
--- /dev/null
+++ b/rsf-admin/src/page/components/PageEditDrawer.jsx
@@ -0,0 +1,56 @@
+import React, { useState, useRef, useEffect, useMemo, useCallback, useTransition } from "react";
+import { useTranslate } from 'react-admin';
+import { Drawer, Box, Typography, Card, IconButton, Stack } from '@mui/material';
+import CloseIcon from '@mui/icons-material/Close';
+
+const PageEditDrawer = (props) => {
+    const translate = useTranslate();
+    const {
+        title = 'Drawer',
+        drawerVal,
+        setDrawerVal,
+        closeCallback,
+        children
+    } = props;
+
+    const handleClose = () => {
+        setDrawerVal(null);
+        if (closeCallback) {
+            closeCallback();
+        }
+    }
+
+    return (
+        <Drawer
+            variant="persistent"
+            open={!!drawerVal}
+            anchor="right"
+            onClose={handleClose}
+            PaperProps={{ sx: { width: '90%' } }}
+        >
+            {!!drawerVal && (
+                <>
+                    <Card>
+                        <Box pt={5}>
+                            <Stack direction="row" p={2}>
+                                <Typography variant="h6" flex="1">
+                                    {translate(title)}
+                                </Typography>
+                                <IconButton onClick={handleClose} size="small">
+                                    <CloseIcon />
+                                </IconButton>
+                            </Stack>
+                        </Box>
+                    </Card>
+                    <Card sx={{mt: '1em'}}>
+                        <Box>
+                            {children}
+                        </Box>
+                    </Card>
+                </>
+            )}
+        </Drawer>
+    )
+}
+
+export default PageEditDrawer;
\ No newline at end of file

--
Gitblit v1.9.1