DocSpace-client/packages/components/table-container/TableBody.js

53 lines
1.2 KiB
JavaScript
Raw Normal View History

import React from "react";
import { StyledTableBody } from "./StyledTableContainer";
import InfiniteLoaderComponent from "../infinite-loader";
2021-07-13 08:07:50 +00:00
const TableBody = (props) => {
const {
columnStorageName,
2022-08-12 12:28:57 +00:00
columnInfoPanelStorageName,
fetchMoreFiles,
children,
filesLength,
hasMoreFiles,
itemCount,
itemHeight,
useReactWindow,
onScroll,
2022-08-12 12:28:57 +00:00
infoPanelVisible,
} = props;
return useReactWindow ? (
<StyledTableBody
useReactWindow={useReactWindow}
className="table-container_body"
>
<InfiniteLoaderComponent
className="TableList"
viewAs="table"
hasMoreFiles={hasMoreFiles}
filesLength={filesLength}
itemCount={itemCount}
loadMoreItems={fetchMoreFiles}
columnStorageName={columnStorageName}
2022-08-12 12:28:57 +00:00
columnInfoPanelStorageName={columnInfoPanelStorageName}
itemSize={itemHeight}
onScroll={onScroll}
2022-08-12 12:28:57 +00:00
infoPanelVisible={infoPanelVisible}
>
{children}
</InfiniteLoaderComponent>
</StyledTableBody>
) : (
<StyledTableBody className="table-container_body" {...props} />
);
2021-07-13 08:07:50 +00:00
};
TableBody.defaultProps = {
itemHeight: 41,
useReactWindow: false,
2022-08-12 12:28:57 +00:00
infoPanelVisible: false,
};
2021-07-13 08:07:50 +00:00
export default TableBody;