import React, { useRef, useState } from "react"; import PropTypes from "prop-types"; import IconButton from "../icon-button"; import DropDown from "../drop-down"; import { StyledTableSettings } from "./StyledTableContainer"; import Checkbox from "../checkbox"; const TableSettings = ({ columns, infoPanelVisible }) => { const [isOpen, setIsOpen] = useState(false); const ref = useRef(); const onClick = () => { !infoPanelVisible && setIsOpen(!isOpen); }; const clickOutsideAction = (e) => { const path = e.path || (e.composedPath && e.composedPath()); const dropDownItem = path ? path.find((x) => x === ref.current) : null; if (dropDownItem) return; setIsOpen(false); }; return ( {columns.map((column) => { if (column.isDisabled) return; const onChange = (e) => column.onChange && column.onChange(column.key, e); return ( column.onChange && ( ) ); })} ); }; TableSettings.propTypes = { columns: PropTypes.array.isRequired, }; export default TableSettings;