Skip to content

Commit dc3e7f5

Browse files
authored
Fix Versions Browsing Clicking on Chrome (#2013)
Signed-off-by: Daniel Valdivia <18384552+dvaldivia@users.noreply.github.com>
1 parent 30d23d8 commit dc3e7f5

File tree

2 files changed

+35
-12
lines changed

2 files changed

+35
-12
lines changed

portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/FileVersionItem.tsx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,8 @@ interface IFileVersionItem {
4747
onPreview: (versionInfo: IFileInfo) => void;
4848
globalClick: (versionInfo: IFileInfo) => void;
4949
classes: any;
50+
key: any;
51+
style: any;
5052
}
5153

5254
const styles = (theme: Theme) =>
@@ -175,6 +177,8 @@ const FileVersionItem = ({
175177
onPreview,
176178
globalClick,
177179
index,
180+
key,
181+
style,
178182
}: IFileVersionItem) => {
179183
const disableButtons = versionInfo.is_delete_marker;
180184

@@ -219,6 +223,8 @@ const FileVersionItem = ({
219223
onClick={() => {
220224
globalClick(versionInfo);
221225
}}
226+
key={key}
227+
style={style}
222228
>
223229
<Grid
224230
item

portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/VersionsNavigator.tsx

Lines changed: 29 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,6 @@ import {
5454
SelectMultipleIcon,
5555
VersionsIcon,
5656
} from "../../../../../../icons";
57-
import VirtualizedList from "../../../../Common/VirtualizedList/VirtualizedList";
5857
import FileVersionItem from "./FileVersionItem";
5958
import SelectWrapper from "../../../../Common/FormComponents/SelectWrapper/SelectWrapper";
6059
import PreviewFileModal from "../Preview/PreviewFileModal";
@@ -77,6 +76,7 @@ import {
7776
setSelectedVersion,
7877
updateProgress,
7978
} from "../../../../ObjectBrowser/objectBrowserSlice";
79+
import { List, ListRowProps } from "react-virtualized";
8080

8181
const styles = (theme: Theme) =>
8282
createStyles({
@@ -400,24 +400,32 @@ const VersionsNavigator = ({
400400
setSelectedItems(cloneState);
401401
};
402402

403-
const renderVersion = (elementIndex: number) => {
404-
const item = filteredRecords[elementIndex];
405-
const versOrd = versions.length - versions.indexOf(item);
406-
403+
const rowRenderer = ({
404+
key, // Unique key within array of rows
405+
index, // Index of row within collection
406+
isScrolling, // The List is currently being scrolled
407+
isVisible, // This row is visible within the List (eg it is not an overscanned row)
408+
style, // Style object to be applied to row (to position it)
409+
}: ListRowProps) => {
410+
const versOrd = versions.length - index;
407411
return (
408412
<FileVersionItem
413+
style={style}
414+
key={key}
409415
fileName={actualInfo?.name || ""}
410-
versionInfo={item}
416+
versionInfo={filteredRecords[index]}
411417
index={versOrd}
412418
onDownload={onDownloadItem}
413419
onRestore={onRestoreItem}
414420
onShare={onShareItem}
415421
onPreview={onPreviewItem}
416422
globalClick={onGlobalClick}
417-
isSelected={selectedVersion === item.version_id}
423+
isSelected={selectedVersion === filteredRecords[index].version_id}
418424
checkable={selectEnabled}
419425
onCheck={onCheckVersion}
420-
isChecked={selectedItems.includes(item.version_id || "")}
426+
isChecked={selectedItems.includes(
427+
filteredRecords[index].version_id || ""
428+
)}
421429
/>
422430
);
423431
};
@@ -590,10 +598,19 @@ const VersionsNavigator = ({
590598
</Grid>
591599
<Grid item xs={12} className={classes.versionsVirtualPanel}>
592600
{actualInfo.version_id && actualInfo.version_id !== "null" && (
593-
<VirtualizedList
594-
rowRenderFunction={renderVersion}
595-
totalItems={filteredRecords.length}
596-
defaultHeight={108}
601+
<List
602+
style={{
603+
width: "100%",
604+
}}
605+
containerStyle={{
606+
width: "100%",
607+
maxWidth: "100%",
608+
}}
609+
width={1}
610+
height={800}
611+
rowCount={filteredRecords.length}
612+
rowHeight={108}
613+
rowRenderer={rowRenderer}
597614
/>
598615
)}
599616
</Grid>

0 commit comments

Comments
 (0)