import React from "react";
import { FixedSizeList as List } from "react-window";
import InfiniteLoader from "react-window-infinite-loader";
import AutoSizer from "react-virtualized-auto-sizer";
import CustomScrollbarsVirtualList from "@appserver/components/scrollbar/custom-scrollbars-virtual-list";
import Option from "./Option";
const OptionList = ({
listOptionsRef,
loadingLabel,
options,
isOptionChecked,
isMultiSelect,
onOptionChange,
onLinkClick,
isItemLoaded,
itemCount,
loadMoreItems,
}) => {
const renderOption = React.useCallback(
({ index, style }) => {
const isLoaded = isItemLoaded(index);
if (!isLoaded) {
return ;
}
const option = options[index];
const isChecked = isOptionChecked(option);
return (
);
},
[
options,
loadingLabel,
isMultiSelect,
isItemLoaded,
isOptionChecked,
onOptionChange,
onLinkClick,
]
);
return (
{({ width, height }) => (
{({ onItemsRendered, ref }) => (
{renderOption}
)}
)}
);
};
export default React.memo(OptionList);