import React from "react"; import { Popover, Classes, PopoverInteractionKind, Icon, Position, } from "@blueprintjs/core"; import { DropDownWrapper, OptionWrapper, IconOptionWrapper, } from "./TableStyledWrappers"; import { ColumnMenuSubOptionProps, ColumnMenuOptionProps, } from "./ReactTableComponent"; interface TableColumnMenuPopup { showMenu: (index: number) => void; columnIndex: number; columnMenuOptions: ColumnMenuOptionProps[]; } export const TableColumnMenuPopup = (props: TableColumnMenuPopup) => { return ( { props.showMenu(props.columnIndex); }} /> {props.columnMenuOptions.map( (option: ColumnMenuOptionProps, index: number) => ( { if (option.onClick) { option.onClick(!!option.isSelected); } }} className={ option.closeOnClick ? Classes.POPOVER_DISMISS : option.category ? "non-selectable" : "" } selected={!!option.isSelected} > {!option.options &&
{option.content}
} {option.options && ( {option.content} {option.options.map( (item: ColumnMenuSubOptionProps, itemIndex: number) => ( {item.content} ), )} )}
), )}
); };