From 204ffb1ca3b802197ac31fc7fe6f267ba1a5dc16 Mon Sep 17 00:00:00 2001 From: cp3hnu Date: Thu, 2 Jan 2025 10:40:44 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=AE=8C=E6=88=90=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E9=9B=86=E5=92=8C=E6=A8=A1=E5=9E=8B=E5=AF=B9=E6=AF=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- react-ui/src/assets/img/dataset-version.png | Bin 0 -> 5059 bytes .../components/AddCodeConfigModal/index.tsx | 2 +- .../Dataset/components/CategoryItem/index.tsx | 1 - .../Dataset/components/ResourceInfo/index.tsx | 34 ++- .../components/ResourceIntro/index.tsx | 10 +- .../components/VersionCompareModal/index.less | 120 +++++++++ .../components/VersionCompareModal/index.tsx | 236 ++++++++++++++++++ .../VersionSelectorModal/index.less | 59 +++++ .../components/VersionSelectorModal/index.tsx | 63 +++++ react-ui/src/pages/Dataset/config.tsx | 5 + .../Model/components/ModelMetrics/index.tsx | 13 +- .../components/VersionCompareModal/index.tsx | 9 +- react-ui/src/services/dataset/index.js | 16 ++ react-ui/tests/date.test.ts | 23 ++ 14 files changed, 571 insertions(+), 20 deletions(-) create mode 100644 react-ui/src/assets/img/dataset-version.png create mode 100644 react-ui/src/pages/Dataset/components/VersionCompareModal/index.less create mode 100644 react-ui/src/pages/Dataset/components/VersionCompareModal/index.tsx create mode 100644 react-ui/src/pages/Dataset/components/VersionSelectorModal/index.less create mode 100644 react-ui/src/pages/Dataset/components/VersionSelectorModal/index.tsx create mode 100644 react-ui/tests/date.test.ts diff --git a/react-ui/src/assets/img/dataset-version.png b/react-ui/src/assets/img/dataset-version.png new file mode 100644 index 0000000000000000000000000000000000000000..c17d46cf8eeda672cdc41b3d6796bd2280cf9dd9 GIT binary patch literal 5059 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 Z{{SyxGc+G_x%U77002ovPDHLkV1g|ltgQe5 literal 0 HcmV?d00001 diff --git a/react-ui/src/pages/CodeConfig/components/AddCodeConfigModal/index.tsx b/react-ui/src/pages/CodeConfig/components/AddCodeConfigModal/index.tsx index ce4deafd..6e621086 100644 --- a/react-ui/src/pages/CodeConfig/components/AddCodeConfigModal/index.tsx +++ b/react-ui/src/pages/CodeConfig/components/AddCodeConfigModal/index.tsx @@ -93,7 +93,7 @@ function AddCodeConfigModal({ opType, codeConfigData, onOk, ...rest }: AddCodeCo return ( {item.name} - {/* {item.name} */} ); } diff --git a/react-ui/src/pages/Dataset/components/ResourceInfo/index.tsx b/react-ui/src/pages/Dataset/components/ResourceInfo/index.tsx index 1037e1b9..c0bfdb33 100644 --- a/react-ui/src/pages/Dataset/components/ResourceInfo/index.tsx +++ b/react-ui/src/pages/Dataset/components/ResourceInfo/index.tsx @@ -22,6 +22,8 @@ import { useEffect, useState } from 'react'; import AddVersionModal from '../AddVersionModal'; import ResourceIntro from '../ResourceIntro'; import ResourceVersion from '../ResourceVersion'; +import VersionCompareModal from '../VersionCompareModal'; +import VersionSelectorModal from '../VersionSelectorModal'; import styles from './index.less'; // 这里值小写是因为值会写在 url 中 @@ -47,7 +49,7 @@ const ResourceInfo = ({ resourceType }: ResourceInfoProps) => { const name = searchParams.get('name') || ''; const owner = searchParams.get('owner') || ''; const identifier = searchParams.get('identifier') || ''; - const is_public = searchParams.get('is_public') || ''; + const is_public = (searchParams.get('is_public') || '') === 'true'; const [versionList, setVersionList] = useState([]); const [version, setVersion] = useState(undefined); const [activeTab, setActiveTab] = useState(defaultTab); @@ -67,7 +69,7 @@ const ResourceInfo = ({ resourceType }: ResourceInfoProps) => { name, identifier, version, - is_public: is_public === 'true', + is_public: is_public, }); } }, [version]); @@ -121,7 +123,7 @@ const ResourceInfo = ({ resourceType }: ResourceInfoProps) => { resoureName: info.name, owner: info.owner, identifier: info.identifier, - is_public: info.is_public, + is_public: is_public, onOk: () => { getVersionList(); close(); @@ -129,6 +131,29 @@ const ResourceInfo = ({ resourceType }: ResourceInfoProps) => { }); }; + // 选择版本 + const showVersionSelector = () => { + const { close } = openAntdModal(VersionSelectorModal, { + versions: versionList, + onOk: (version: string[]) => { + showVersionComparison(version); + close(); + }, + }); + }; + + // 版本对比 + const showVersionComparison = (versions: string[]) => { + openAntdModal(VersionCompareModal, { + versions: versions, + resourceType: resourceType, + repo_id: resourceId, + owner: info.owner, + identifier: info.identifier, + is_public: is_public, + }); + }; + // 版本变化 const handleVersionChange = (value: string) => { setVersion(value); @@ -237,6 +262,9 @@ const ResourceInfo = ({ resourceType }: ResourceInfoProps) => { +