From d20c04c88f55e1581bb2054d99483aba95f04fee Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期四, 13 三月 2025 13:17:51 +0800
Subject: [PATCH] Merge branch 'front' into devlop

---
 rsf-admin/src/page/components/MyExportButton.jsx |  145 +++++++++++++++++++++++------------------------
 1 files changed, 71 insertions(+), 74 deletions(-)

diff --git a/rsf-admin/src/page/components/MyExportButton.jsx b/rsf-admin/src/page/components/MyExportButton.jsx
index 143bdc1..f70dced 100644
--- a/rsf-admin/src/page/components/MyExportButton.jsx
+++ b/rsf-admin/src/page/components/MyExportButton.jsx
@@ -1,87 +1,84 @@
-import * as React from 'react';
-import { useCallback } from 'react';
-import DownloadIcon from '@mui/icons-material/GetApp';
+import * as React from "react";
+import { useCallback } from "react";
+import DownloadIcon from "@mui/icons-material/GetApp";
 import {
-    Button, useDataProvider, useNotify, useListContext
-} from 'react-admin';
+  Button,
+  useDataProvider,
+  useNotify,
+  useListContext,
+} from "react-admin";
 
 const MyExportButton = (props) => {
-    const {
-        maxResults = 1000,
-        onClick,
-        label = 'ra.action.export',
-        icon = defaultIcon,
-        exporter: customExporter,
-        meta,
-        ...rest
-    } = props;
+  const {
+    maxResults = 1000,
+    onClick,
+    label = "ra.action.export",
+    icon = defaultIcon,
+    exporter: customExporter,
+    meta,
+    ...rest
+  } = props;
 
-    const {
-        filter,
-        filterValues,
-        resource,
-        sort,
-        total,
-    } = useListContext();
+  const { filter, filterValues, resource, sort, total } = useListContext();
 
-    const dataProvider = useDataProvider();
-    const notify = useNotify();
+  const dataProvider = useDataProvider();
+  const notify = useNotify();
 
-    const handleClick = useCallback(
-        event => {
-            dataProvider.export(resource, {
-                sort,
-                filter: filter
-                    ? { ...filterValues, ...filter }
-                    : filterValues,
-                pagination: { page: 1, perPage: maxResults },
-                meta,
-            }).then((res) => {
-                const url = window.URL.createObjectURL(new Blob([res.data], { type: res.headers['content-type'] }));
-                const link = document.createElement('a');
-                link.href = url;
-                link.setAttribute('download', `${resource}.xlsx`);
-                document.body.appendChild(link);
-                link.click();
-                link.remove();
-            }).catch(error => {
-                console.error(error);
-                notify('ra.notification.http_error', { type: 'error' });
-            });
-            if (typeof onClick === 'function') {
-                onClick(event);
-            }
-        },
-        [
-            dataProvider,
-            filter,
-            filterValues,
-            maxResults,
-            notify,
-            onClick,
-            resource,
-            sort,
-            meta,
-        ]
-    );
+  const handleClick = useCallback(
+    (event) => {
+      dataProvider
+        .export(resource, {
+          sort,
+          filter: filter ? { ...filterValues, ...filter } : filterValues,
+          pagination: { page: 1, perPage: maxResults },
+          meta,
+        })
+        .then((res) => {
+          const url = window.URL.createObjectURL(
+            new Blob([res.data], { type: res.headers["content-type"] }),
+          );
+          const link = document.createElement("a");
+          link.href = url;
+          link.setAttribute("download", `${resource}.xlsx`);
+          document.body.appendChild(link);
+          link.click();
+          link.remove();
+        })
+        .catch((error) => {
+          console.error(error);
+          notify("ra.notification.http_error", { type: "error" });
+        });
+      if (typeof onClick === "function") {
+        onClick(event);
+      }
+    },
+    [
+      dataProvider,
+      filter,
+      filterValues,
+      maxResults,
+      notify,
+      onClick,
+      resource,
+      sort,
+      meta,
+    ],
+  );
 
-    return (
-        <Button
-            onClick={handleClick}
-            label={label}
-            disabled={total === 0}
-            {...sanitizeRestProps(rest)}
-        >
-            {icon}
-        </Button>
-    );
+  return (
+    <Button
+      onClick={handleClick}
+      label={label}
+      disabled={total === 0}
+      {...sanitizeRestProps(rest)}
+    >
+      {icon}
+    </Button>
+  );
 };
 
 const defaultIcon = <DownloadIcon />;
 
-const sanitizeRestProps = ({
-    resource,
-    ...rest
-}) => rest;
+const sanitizeRestProps = ({ resource, ...rest }) => rest;
 
 export default MyExportButton;

--
Gitblit v1.9.1