import * as React from 'react'; import noop from 'lodash/noop'; import { Table, Column } from '@box/react-virtualized/dist/es/Table'; import AutoSizer from '@box/react-virtualized/dist/es/AutoSizer'; import nameCellRenderer from './nameCellRenderer'; import progressCellRenderer from './progressCellRenderer'; import actionCellRenderer from './actionCellRenderer'; import removeCellRenderer from './removeCellRenderer'; import type { UploadItem } from '../../common/types/upload'; import '@box/react-virtualized/styles.css'; import './ItemList.scss'; type Props = { isResumableUploadsEnabled?: boolean, items: UploadItem[], onClick: any, onRemoveClick?: (item: UploadItem) => void, onUpgradeCTAClick?: any }; const ItemList = ({ isResumableUploadsEnabled = false, items, onClick, onRemoveClick = noop, onUpgradeCTAClick, }: Props) => ( {({ width, height }) => { const nameCell = nameCellRenderer(isResumableUploadsEnabled); const progressCell = progressCellRenderer(!!onUpgradeCTAClick); const actionCell = actionCellRenderer(isResumableUploadsEnabled, onClick, onUpgradeCTAClick); const removeCell = removeCellRenderer(onRemoveClick); const baseIconWidth = 32; return ( items[index]} rowHeight={50} width={width} > {isResumableUploadsEnabled && ( )}
); }}
); export default ItemList;