@@ -54,7 +54,6 @@ import {
54
54
SelectMultipleIcon ,
55
55
VersionsIcon ,
56
56
} from "../../../../../../icons" ;
57
- import VirtualizedList from "../../../../Common/VirtualizedList/VirtualizedList" ;
58
57
import FileVersionItem from "./FileVersionItem" ;
59
58
import SelectWrapper from "../../../../Common/FormComponents/SelectWrapper/SelectWrapper" ;
60
59
import PreviewFileModal from "../Preview/PreviewFileModal" ;
@@ -77,6 +76,7 @@ import {
77
76
setSelectedVersion ,
78
77
updateProgress ,
79
78
} from "../../../../ObjectBrowser/objectBrowserSlice" ;
79
+ import { List , ListRowProps } from "react-virtualized" ;
80
80
81
81
const styles = ( theme : Theme ) =>
82
82
createStyles ( {
@@ -400,24 +400,32 @@ const VersionsNavigator = ({
400
400
setSelectedItems ( cloneState ) ;
401
401
} ;
402
402
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 ;
407
411
return (
408
412
< FileVersionItem
413
+ style = { style }
414
+ key = { key }
409
415
fileName = { actualInfo ?. name || "" }
410
- versionInfo = { item }
416
+ versionInfo = { filteredRecords [ index ] }
411
417
index = { versOrd }
412
418
onDownload = { onDownloadItem }
413
419
onRestore = { onRestoreItem }
414
420
onShare = { onShareItem }
415
421
onPreview = { onPreviewItem }
416
422
globalClick = { onGlobalClick }
417
- isSelected = { selectedVersion === item . version_id }
423
+ isSelected = { selectedVersion === filteredRecords [ index ] . version_id }
418
424
checkable = { selectEnabled }
419
425
onCheck = { onCheckVersion }
420
- isChecked = { selectedItems . includes ( item . version_id || "" ) }
426
+ isChecked = { selectedItems . includes (
427
+ filteredRecords [ index ] . version_id || ""
428
+ ) }
421
429
/>
422
430
) ;
423
431
} ;
@@ -590,10 +598,19 @@ const VersionsNavigator = ({
590
598
</ Grid >
591
599
< Grid item xs = { 12 } className = { classes . versionsVirtualPanel } >
592
600
{ 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 }
597
614
/>
598
615
) }
599
616
</ Grid >
0 commit comments