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 ? "+" : ""} }