Browse Source

20251114_tab

huning 1 month ago
parent
commit
05db0508c9

+ 90 - 1
new-react-admin-ui/package-lock.json

@@ -13,10 +13,13 @@
         "@mui/icons-material": "^6.1.9",
         "@mui/material": "^6.1.9",
         "@mui/x-tree-view": "^8.16.0",
+        "ag-grid-enterprise": "^34.3.1",
+        "ag-grid-react": "^34.3.1",
         "react": "^18.3.1",
         "react-admin": "^5.12.2",
         "react-dom": "^18.3.1",
-        "react-router-dom": "^7.9.5"
+        "react-router-dom": "^7.9.5",
+        "react-tabs": "^6.1.0"
       },
       "devDependencies": {
         "@types/node": "^24.10.0",
@@ -1674,6 +1677,80 @@
         "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
       }
     },
+    "node_modules/ag-charts-community": {
+      "version": "12.3.1",
+      "resolved": "https://registry.npmjs.org/ag-charts-community/-/ag-charts-community-12.3.1.tgz",
+      "integrity": "sha512-uRaUFmCl8e0Y3KxjaHUYlkCPS5OtwtfTChkdpoZuBKDXqerCPTjPu+uvlun3rYUSYxScwVf2LZCI0Hfw4Vc+WQ==",
+      "optional": true,
+      "dependencies": {
+        "ag-charts-core": "12.3.1",
+        "ag-charts-locale": "12.3.1",
+        "ag-charts-types": "12.3.1"
+      }
+    },
+    "node_modules/ag-charts-core": {
+      "version": "12.3.1",
+      "resolved": "https://registry.npmjs.org/ag-charts-core/-/ag-charts-core-12.3.1.tgz",
+      "integrity": "sha512-711UJ0fXengb8+4PEW4nlzWDowmbYymPcjW2eJWHRzzvttUf14hnh+wP/l/s3EGVgYkEHe9vkXFwmeOJUlkC0Q==",
+      "optional": true,
+      "dependencies": {
+        "ag-charts-types": "12.3.1"
+      }
+    },
+    "node_modules/ag-charts-enterprise": {
+      "version": "12.3.1",
+      "resolved": "https://registry.npmjs.org/ag-charts-enterprise/-/ag-charts-enterprise-12.3.1.tgz",
+      "integrity": "sha512-2sQIwLfksRTcI4JVRjgQkyGq6z68UVTO/I91HKmtpukrQLsW/o0TzzHmgTtVJOXd9yO9gx2KWa2DMg0+FKdXEQ==",
+      "optional": true,
+      "dependencies": {
+        "ag-charts-community": "12.3.1",
+        "ag-charts-core": "12.3.1"
+      }
+    },
+    "node_modules/ag-charts-locale": {
+      "version": "12.3.1",
+      "resolved": "https://registry.npmjs.org/ag-charts-locale/-/ag-charts-locale-12.3.1.tgz",
+      "integrity": "sha512-dCn7oHh3xLI576FT514aBedNQgtb5zwh/Gcj7jHvjOWYRnfH8kaekZzLzntITA6dF6E78okJfoI7CUCbYduQ4Q==",
+      "optional": true
+    },
+    "node_modules/ag-charts-types": {
+      "version": "12.3.1",
+      "resolved": "https://registry.npmjs.org/ag-charts-types/-/ag-charts-types-12.3.1.tgz",
+      "integrity": "sha512-5216xYoawnvMXDFI6kTpPku+mH0Csiwu/FE7lsAm8Z22HEN6ciSG/V7g+IrpLWncELqksgENebCTP75PZ3CsHA=="
+    },
+    "node_modules/ag-grid-community": {
+      "version": "34.3.1",
+      "resolved": "https://registry.npmjs.org/ag-grid-community/-/ag-grid-community-34.3.1.tgz",
+      "integrity": "sha512-PwlrPudsFOzGumphi2y9ihWeaUlIwKhOra/MXu2LjeV2U8DgLLcYS8CartE5Hszhn1poJHawwI9HWrxlKliwdw==",
+      "dependencies": {
+        "ag-charts-types": "12.3.1"
+      }
+    },
+    "node_modules/ag-grid-enterprise": {
+      "version": "34.3.1",
+      "resolved": "https://registry.npmjs.org/ag-grid-enterprise/-/ag-grid-enterprise-34.3.1.tgz",
+      "integrity": "sha512-pee4Zh0gLeQED+RM+ofxNun9JSrYrE0ZVw90BibuBkhBCLXrtXtjGPiwM+Ylntl+GwJUuCXrTcVLXRHpdXVYbQ==",
+      "dependencies": {
+        "ag-grid-community": "34.3.1"
+      },
+      "optionalDependencies": {
+        "ag-charts-community": "12.3.1",
+        "ag-charts-enterprise": "12.3.1"
+      }
+    },
+    "node_modules/ag-grid-react": {
+      "version": "34.3.1",
+      "resolved": "https://registry.npmjs.org/ag-grid-react/-/ag-grid-react-34.3.1.tgz",
+      "integrity": "sha512-1UTlBT+xJkjNZAuf7RxK61mgxKGTPB+6XR99oIHq7cYC89kJmLbWqhHt/1XqRWF5cAgSKk8u+HtOQaN8tAZStw==",
+      "dependencies": {
+        "ag-grid-community": "34.3.1",
+        "prop-types": "^15.8.1"
+      },
+      "peerDependencies": {
+        "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
+        "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
+      }
+    },
     "node_modules/ajv": {
       "version": "6.12.6",
       "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
@@ -3896,6 +3973,18 @@
         "react-dom": ">=18"
       }
     },
+    "node_modules/react-tabs": {
+      "version": "6.1.0",
+      "resolved": "https://registry.npmjs.org/react-tabs/-/react-tabs-6.1.0.tgz",
+      "integrity": "sha512-6QtbTRDKM+jA/MZTTefvigNxo0zz+gnBTVFw2CFVvq+f2BuH0nF0vDLNClL045nuTAdOoK/IL1vTP0ZLX0DAyQ==",
+      "dependencies": {
+        "clsx": "^2.0.0",
+        "prop-types": "^15.5.0"
+      },
+      "peerDependencies": {
+        "react": "^18.0.0 || ^19.0.0"
+      }
+    },
     "node_modules/react-transition-group": {
       "version": "4.4.5",
       "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz",

+ 4 - 1
new-react-admin-ui/package.json

@@ -16,10 +16,13 @@
     "@mui/icons-material": "^6.1.9",
     "@mui/material": "^6.1.9",
     "@mui/x-tree-view": "^8.16.0",
+    "ag-grid-enterprise": "^34.3.1",
+    "ag-grid-react": "^34.3.1",
     "react": "^18.3.1",
     "react-admin": "^5.12.2",
     "react-dom": "^18.3.1",
-    "react-router-dom": "^7.9.5"
+    "react-router-dom": "^7.9.5",
+    "react-tabs": "^6.1.0"
   },
   "devDependencies": {
     "@types/node": "^24.10.0",

+ 6 - 0
new-react-admin-ui/src/App.tsx

@@ -14,6 +14,7 @@ import { MenuList } from '@/pages/menus/MenuList';
 import { MenuEdit } from '@/pages/menus/MenuEdit';
 import { MenuCreate } from '@/pages/menus/MenuCreate';
 import { Dashboard } from '@/pages/Dashboard';
+import DashboardList from '@/pages/dashboard/DashboardList';
 import { Layout } from '@/components/Layout';
 import ErrorPage from '@/pages/ErrorPage';
 
@@ -64,6 +65,11 @@ export const App = () => {
           edit={MenuEdit}
           create={MenuCreate}
         />
+
+       <Resource
+          name="system/dashboards"
+          list={DashboardList}
+        />
         
         <CustomRoutes noLayout>
           <Route path="/error" element={<ErrorPage />} />

+ 70 - 3
new-react-admin-ui/yarn.lock

@@ -882,6 +882,65 @@ acorn-jsx@^5.3.2:
   resolved "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz"
   integrity sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==
 
+ag-charts-community@12.3.1:
+  version "12.3.1"
+  resolved "https://registry.npmjs.org/ag-charts-community/-/ag-charts-community-12.3.1.tgz"
+  integrity sha512-uRaUFmCl8e0Y3KxjaHUYlkCPS5OtwtfTChkdpoZuBKDXqerCPTjPu+uvlun3rYUSYxScwVf2LZCI0Hfw4Vc+WQ==
+  dependencies:
+    ag-charts-core "12.3.1"
+    ag-charts-locale "12.3.1"
+    ag-charts-types "12.3.1"
+
+ag-charts-core@12.3.1:
+  version "12.3.1"
+  resolved "https://registry.npmjs.org/ag-charts-core/-/ag-charts-core-12.3.1.tgz"
+  integrity sha512-711UJ0fXengb8+4PEW4nlzWDowmbYymPcjW2eJWHRzzvttUf14hnh+wP/l/s3EGVgYkEHe9vkXFwmeOJUlkC0Q==
+  dependencies:
+    ag-charts-types "12.3.1"
+
+ag-charts-enterprise@12.3.1:
+  version "12.3.1"
+  resolved "https://registry.npmjs.org/ag-charts-enterprise/-/ag-charts-enterprise-12.3.1.tgz"
+  integrity sha512-2sQIwLfksRTcI4JVRjgQkyGq6z68UVTO/I91HKmtpukrQLsW/o0TzzHmgTtVJOXd9yO9gx2KWa2DMg0+FKdXEQ==
+  dependencies:
+    ag-charts-community "12.3.1"
+    ag-charts-core "12.3.1"
+
+ag-charts-locale@12.3.1:
+  version "12.3.1"
+  resolved "https://registry.npmjs.org/ag-charts-locale/-/ag-charts-locale-12.3.1.tgz"
+  integrity sha512-dCn7oHh3xLI576FT514aBedNQgtb5zwh/Gcj7jHvjOWYRnfH8kaekZzLzntITA6dF6E78okJfoI7CUCbYduQ4Q==
+
+ag-charts-types@12.3.1:
+  version "12.3.1"
+  resolved "https://registry.npmjs.org/ag-charts-types/-/ag-charts-types-12.3.1.tgz"
+  integrity sha512-5216xYoawnvMXDFI6kTpPku+mH0Csiwu/FE7lsAm8Z22HEN6ciSG/V7g+IrpLWncELqksgENebCTP75PZ3CsHA==
+
+ag-grid-community@34.3.1:
+  version "34.3.1"
+  resolved "https://registry.npmjs.org/ag-grid-community/-/ag-grid-community-34.3.1.tgz"
+  integrity sha512-PwlrPudsFOzGumphi2y9ihWeaUlIwKhOra/MXu2LjeV2U8DgLLcYS8CartE5Hszhn1poJHawwI9HWrxlKliwdw==
+  dependencies:
+    ag-charts-types "12.3.1"
+
+ag-grid-enterprise@^34.3.1:
+  version "34.3.1"
+  resolved "https://registry.npmjs.org/ag-grid-enterprise/-/ag-grid-enterprise-34.3.1.tgz"
+  integrity sha512-pee4Zh0gLeQED+RM+ofxNun9JSrYrE0ZVw90BibuBkhBCLXrtXtjGPiwM+Ylntl+GwJUuCXrTcVLXRHpdXVYbQ==
+  dependencies:
+    ag-grid-community "34.3.1"
+  optionalDependencies:
+    ag-charts-community "12.3.1"
+    ag-charts-enterprise "12.3.1"
+
+ag-grid-react@^34.3.1:
+  version "34.3.1"
+  resolved "https://registry.npmjs.org/ag-grid-react/-/ag-grid-react-34.3.1.tgz"
+  integrity sha512-1UTlBT+xJkjNZAuf7RxK61mgxKGTPB+6XR99oIHq7cYC89kJmLbWqhHt/1XqRWF5cAgSKk8u+HtOQaN8tAZStw==
+  dependencies:
+    ag-grid-community "34.3.1"
+    prop-types "^15.8.1"
+
 ajv@^6.12.4:
   version "6.12.6"
   resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz"
@@ -1012,7 +1071,7 @@ chalk@^4.0.0:
     ansi-styles "^4.1.0"
     supports-color "^7.1.0"
 
-clsx@^2.1.1:
+clsx@^2.0.0, clsx@^2.1.1:
   version "2.1.1"
   resolved "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz"
   integrity sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==
@@ -1842,7 +1901,7 @@ prelude-ls@^1.2.1:
   resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz"
   integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==
 
-prop-types@^15.6.2, prop-types@^15.8.1:
+prop-types@^15.5.0, prop-types@^15.6.2, prop-types@^15.8.1:
   version "15.8.1"
   resolved "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz"
   integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==
@@ -1939,7 +1998,7 @@ react-admin@^5.12.2:
     react-router "^6.28.1 || ^7.1.1"
     react-router-dom "^6.28.1 || ^7.1.1"
 
-"react-dom@^17 || ^18 || ^19", "react-dom@^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom@^18.0.0 || ^19.0.0", react-dom@^18.3.1, react-dom@>=16.6.0, react-dom@>=16.8.0, react-dom@>=18:
+"react-dom@^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom@^17 || ^18 || ^19", "react-dom@^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom@^18.0.0 || ^19.0.0", react-dom@^18.3.1, react-dom@>=16.6.0, react-dom@>=16.8.0, react-dom@>=18:
   version "18.3.1"
   resolved "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz"
   integrity sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==
@@ -2008,6 +2067,14 @@ react-refresh@^0.17.0:
     cookie "^1.0.1"
     set-cookie-parser "^2.6.0"
 
+react-tabs@^6.1.0:
+  version "6.1.0"
+  resolved "https://registry.npmjs.org/react-tabs/-/react-tabs-6.1.0.tgz"
+  integrity sha512-6QtbTRDKM+jA/MZTTefvigNxo0zz+gnBTVFw2CFVvq+f2BuH0nF0vDLNClL045nuTAdOoK/IL1vTP0ZLX0DAyQ==
+  dependencies:
+    clsx "^2.0.0"
+    prop-types "^15.5.0"
+
 react-transition-group@^4.4.5:
   version "4.4.5"
   resolved "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz"