From 135bf4ff416b0451eedb04fd0f42754c3a029aee Mon Sep 17 00:00:00 2001 From: 1708-huayu <57060237+1708-huayu@users.noreply.github.com> Date: Thu, 26 Jun 2025 18:59:31 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E5=8E=BB=E9=99=A4=E5=9B=9B=E8=B1=A1?= =?UTF-8?q?=E9=99=90=E6=BB=9A=E5=8A=A8=E6=9D=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 2 +- package-lock.json | 52 +++++ package.json | 2 + src/app/layout.tsx | 5 +- src/app/task/drag/layout.tsx | 18 +- src/app/task/dragtest/page.tsx | 3 - src/lib/task/project/data.tsx | 9 + src/ui/globals.css | 20 ++ src/ui/task/OperationButton.tsx | 2 +- src/ui/task/TitleOperation.tsx | 12 +- src/ui/task/drag/DroppableTable.tsx | 275 +++++++++++------------- src/ui/task/drag/index.modules.css | 39 +++- src/ui/task/project/DetailModelForm.tsx | 34 ++- 13 files changed, 293 insertions(+), 180 deletions(-) delete mode 100644 src/app/task/dragtest/page.tsx diff --git a/.gitignore b/.gitignore index dbfa41f..6d250a4 100644 --- a/.gitignore +++ b/.gitignore @@ -12,7 +12,7 @@ # next.js /.next/ /out/ - +/docker/out/ # production /build diff --git a/package-lock.json b/package-lock.json index 59be224..f233081 100644 --- a/package-lock.json +++ b/package-lock.json @@ -22,6 +22,7 @@ "react-big-calendar": "^1.12.2", "react-device-detect": "^2.2.3", "react-dom": "^18", + "react-virtualized": "^9.22.6", "sass": "^1.77.3", "tailwindcss": "3.3.3" }, @@ -31,6 +32,7 @@ "@types/react": "^18", "@types/react-big-calendar": "^1.8.9", "@types/react-dom": "^18", + "@types/react-virtualized": "^9.22.2", "@vercel/style-guide": "^5.0.1", "eslint": "^8", "eslint-config-next": "14.2.29", @@ -1647,6 +1649,16 @@ "redux": "^4.0.0" } }, + "node_modules/@types/react-virtualized": { + "version": "9.22.2", + "resolved": "https://registry.npmmirror.com/@types/react-virtualized/-/react-virtualized-9.22.2.tgz", + "integrity": "sha512-0Eg/ME3OHYWGxs+/n4VelfYrhXssireZaa1Uqj5SEkTpSaBu5ctFGOCVxcOqpGXRiEdrk/7uho9tlZaryCIjHA==", + "dev": true, + "dependencies": { + "@types/prop-types": "*", + "@types/react": "*" + } + }, "node_modules/@types/scheduler": { "version": "0.16.8", "resolved": "https://registry.npmmirror.com/@types/scheduler/-/scheduler-0.16.8.tgz", @@ -6318,6 +6330,23 @@ "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", "dev": true }, + "node_modules/react-virtualized": { + "version": "9.22.6", + "resolved": "https://registry.npmmirror.com/react-virtualized/-/react-virtualized-9.22.6.tgz", + "integrity": "sha512-U5j7KuUQt3AaMatlMJ0UJddqSiX+Km0YJxSqbAzIiGw5EmNz0khMyqP2hzgu4+QUtm+QPIrxzUX4raJxmVJnHg==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "clsx": "^1.0.4", + "dom-helpers": "^5.1.3", + "loose-envify": "^1.4.0", + "prop-types": "^15.7.2", + "react-lifecycles-compat": "^3.0.4" + }, + "peerDependencies": { + "react": "^16.3.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^16.3.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, "node_modules/reactcss": { "version": "1.2.3", "resolved": "https://registry.npmmirror.com/reactcss/-/reactcss-1.2.3.tgz", @@ -8919,6 +8948,16 @@ "redux": "^4.0.0" } }, + "@types/react-virtualized": { + "version": "9.22.2", + "resolved": "https://registry.npmmirror.com/@types/react-virtualized/-/react-virtualized-9.22.2.tgz", + "integrity": "sha512-0Eg/ME3OHYWGxs+/n4VelfYrhXssireZaa1Uqj5SEkTpSaBu5ctFGOCVxcOqpGXRiEdrk/7uho9tlZaryCIjHA==", + "dev": true, + "requires": { + "@types/prop-types": "*", + "@types/react": "*" + } + }, "@types/scheduler": { "version": "0.16.8", "resolved": "https://registry.npmmirror.com/@types/scheduler/-/scheduler-0.16.8.tgz", @@ -12437,6 +12476,19 @@ } } }, + "react-virtualized": { + "version": "9.22.6", + "resolved": "https://registry.npmmirror.com/react-virtualized/-/react-virtualized-9.22.6.tgz", + "integrity": "sha512-U5j7KuUQt3AaMatlMJ0UJddqSiX+Km0YJxSqbAzIiGw5EmNz0khMyqP2hzgu4+QUtm+QPIrxzUX4raJxmVJnHg==", + "requires": { + "@babel/runtime": "^7.7.2", + "clsx": "^1.0.4", + "dom-helpers": "^5.1.3", + "loose-envify": "^1.4.0", + "prop-types": "^15.7.2", + "react-lifecycles-compat": "^3.0.4" + } + }, "reactcss": { "version": "1.2.3", "resolved": "https://registry.npmmirror.com/reactcss/-/reactcss-1.2.3.tgz", diff --git a/package.json b/package.json index 54133b5..357f44d 100644 --- a/package.json +++ b/package.json @@ -23,6 +23,7 @@ "react-big-calendar": "^1.12.2", "react-device-detect": "^2.2.3", "react-dom": "^18", + "react-virtualized": "^9.22.6", "sass": "^1.77.3", "tailwindcss": "3.3.3" }, @@ -32,6 +33,7 @@ "@types/react": "^18", "@types/react-big-calendar": "^1.8.9", "@types/react-dom": "^18", + "@types/react-virtualized": "^9.22.2", "@vercel/style-guide": "^5.0.1", "eslint": "^8", "eslint-config-next": "14.2.29", diff --git a/src/app/layout.tsx b/src/app/layout.tsx index 863b8d6..cdf367c 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -21,8 +21,11 @@ export default function RootLayout({