From 87316374093738c0a96751195c5c32f95fd76f19 Mon Sep 17 00:00:00 2001 From: nicolus Date: Sat, 2 Aug 2025 10:38:42 +0200 Subject: [PATCH 1/2] Add a "+" sign to show there are more than 20 versions of an object --- .../Objects/ListObjects/ObjectDetailPanel.tsx | 10 ++++++++-- .../Objects/ObjectDetails/VersionsNavigator.tsx | 9 +++++++-- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/web-app/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/ObjectDetailPanel.tsx b/web-app/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/ObjectDetailPanel.tsx index 52b92fbb72..7dcd0a5d3a 100644 --- a/web-app/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/ObjectDetailPanel.tsx +++ b/web-app/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/ObjectDetailPanel.tsx @@ -114,6 +114,7 @@ const ObjectDetailPanel = ({ const [deleteOpen, setDeleteOpen] = useState(false); const [previewOpen, setPreviewOpen] = useState(false); const [totalVersionsSize, setTotalVersionsSize] = useState(0); + const [moreVersionsThanLimit, setMoreVersionsThanLimit] = useState(false); const [longFileOpen, setLongFileOpen] = useState(false); const [metaData, setMetaData] = useState(null); const [loadMetadata, setLoadingMetadata] = useState(false); @@ -154,10 +155,15 @@ const ObjectDetailPanel = ({ .listObjects(bucketName, { prefix: internalPaths, with_versions: distributedSetup, + limit: 21 }) .then((res) => { const result: BucketObject[] = res.data.objects || []; if (distributedSetup) { + + setMoreVersionsThanLimit(result.length > 20); + result.splice(20); + setAllInfoElements(result); setVersions(result); @@ -573,8 +579,8 @@ const ObjectDetailPanel = ({ Versions:
- {versions.length} version{versions.length !== 1 ? "s" : ""},{" "} - {niceBytesInt(totalVersionsSize)} + {versions.length}{moreVersionsThanLimit ? "+" : ""} version{versions.length !== 1 ? "s" : ""},{" "} + {niceBytesInt(totalVersionsSize)}{moreVersionsThanLimit ? "+" : ""}
)} {selectedVersion === "" && ( diff --git a/web-app/src/screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/VersionsNavigator.tsx b/web-app/src/screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/VersionsNavigator.tsx index b832967afc..d09fa05e00 100644 --- a/web-app/src/screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/VersionsNavigator.tsx +++ b/web-app/src/screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/VersionsNavigator.tsx @@ -94,6 +94,7 @@ const VersionsNavigator = ({ const [actualInfo, setActualInfo] = useState(null); const [objectToShare, setObjectToShare] = useState(null); const [versions, setVersions] = useState([]); + const [moreVersionsThanLimit, setMoreVersionsThanLimit] = useState(false); const [restoreVersionOpen, setRestoreVersionOpen] = useState(false); const [restoreVersion, setRestoreVersion] = useState( null, @@ -124,10 +125,14 @@ const VersionsNavigator = ({ .listObjects(bucketName, { prefix: internalPaths, with_versions: distributedSetup, + limit: 21, }) .then((res) => { const result = get(res.data, "objects", []); + setMoreVersionsThanLimit(result.length > 20); + result.splice(20); + // Filter the results prefixes as API can return more files than expected. const filteredPrefixes = result.filter( (item: BucketObject) => item.name === internalPaths, @@ -423,12 +428,12 @@ const VersionsNavigator = ({ - {versions.length} Version + {versions.length}{moreVersionsThanLimit ? "+" : ""} Version {versions.length === 1 ? "" : "s"}    - {niceBytesInt(totalSpace)} + {niceBytesInt(totalSpace)}{moreVersionsThanLimit ? "+" : ""} } From 5ca34e6695f6727bd20672c59f7e8f87c820250f Mon Sep 17 00:00:00 2001 From: Benjamin Perez Date: Fri, 5 Sep 2025 12:28:24 -0700 Subject: [PATCH 2/2] Lint files Signed-off-by: Benjamin Perez --- .../Objects/ListObjects/ObjectDetailPanel.tsx | 13 ++++++++----- .../Objects/ObjectDetails/VersionsNavigator.tsx | 11 ++++++++--- web-app/src/screens/Console/Menu/MenuWrapper.tsx | 4 +++- web-app/src/screens/LoginPage/Login.tsx | 3 ++- 4 files changed, 21 insertions(+), 10 deletions(-) diff --git a/web-app/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/ObjectDetailPanel.tsx b/web-app/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/ObjectDetailPanel.tsx index 7dcd0a5d3a..88beb0b1da 100644 --- a/web-app/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/ObjectDetailPanel.tsx +++ b/web-app/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/ObjectDetailPanel.tsx @@ -114,7 +114,8 @@ const ObjectDetailPanel = ({ const [deleteOpen, setDeleteOpen] = useState(false); const [previewOpen, setPreviewOpen] = useState(false); const [totalVersionsSize, setTotalVersionsSize] = useState(0); - const [moreVersionsThanLimit, setMoreVersionsThanLimit] = useState(false); + const [moreVersionsThanLimit, setMoreVersionsThanLimit] = + useState(false); const [longFileOpen, setLongFileOpen] = useState(false); const [metaData, setMetaData] = useState(null); const [loadMetadata, setLoadingMetadata] = useState(false); @@ -155,12 +156,11 @@ const ObjectDetailPanel = ({ .listObjects(bucketName, { prefix: internalPaths, with_versions: distributedSetup, - limit: 21 + limit: 21, }) .then((res) => { const result: BucketObject[] = res.data.objects || []; if (distributedSetup) { - setMoreVersionsThanLimit(result.length > 20); result.splice(20); @@ -579,8 +579,11 @@ const ObjectDetailPanel = ({ Versions:
- {versions.length}{moreVersionsThanLimit ? "+" : ""} version{versions.length !== 1 ? "s" : ""},{" "} - {niceBytesInt(totalVersionsSize)}{moreVersionsThanLimit ? "+" : ""} + {versions.length} + {moreVersionsThanLimit ? "+" : ""} version + {versions.length !== 1 ? "s" : ""},{" "} + {niceBytesInt(totalVersionsSize)} + {moreVersionsThanLimit ? "+" : ""}
)} {selectedVersion === "" && ( diff --git a/web-app/src/screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/VersionsNavigator.tsx b/web-app/src/screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/VersionsNavigator.tsx index d09fa05e00..7cf59cd594 100644 --- a/web-app/src/screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/VersionsNavigator.tsx +++ b/web-app/src/screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/VersionsNavigator.tsx @@ -94,7 +94,8 @@ const VersionsNavigator = ({ const [actualInfo, setActualInfo] = useState(null); const [objectToShare, setObjectToShare] = useState(null); const [versions, setVersions] = useState([]); - const [moreVersionsThanLimit, setMoreVersionsThanLimit] = useState(false); + const [moreVersionsThanLimit, setMoreVersionsThanLimit] = + useState(false); const [restoreVersionOpen, setRestoreVersionOpen] = useState(false); const [restoreVersion, setRestoreVersion] = useState( null, @@ -428,12 +429,16 @@ const VersionsNavigator = ({ - {versions.length}{moreVersionsThanLimit ? "+" : ""} Version + {versions.length} + {moreVersionsThanLimit ? "+" : ""} Version {versions.length === 1 ? "" : "s"}    - {niceBytesInt(totalSpace)}{moreVersionsThanLimit ? "+" : ""} + + {niceBytesInt(totalSpace)} + {moreVersionsThanLimit ? "+" : ""} + } diff --git a/web-app/src/screens/Console/Menu/MenuWrapper.tsx b/web-app/src/screens/Console/Menu/MenuWrapper.tsx index 644b890c20..d888458769 100644 --- a/web-app/src/screens/Console/Menu/MenuWrapper.tsx +++ b/web-app/src/screens/Console/Menu/MenuWrapper.tsx @@ -59,7 +59,9 @@ const MenuWrapper = () => { } - path={"https://docs.min.io/community/minio-object-store/index.html?ref=con"} + path={ + "https://docs.min.io/community/minio-object-store/index.html?ref=con" + } /> { ); } - let docsURL = "https://docs.min.io/community/minio-object-store/index.html?ref=con"; + let docsURL = + "https://docs.min.io/community/minio-object-store/index.html?ref=con"; useEffect(() => { dispatch(setHelpName("login"));