import Card from "@material-ui/core/Card"; import { makeStyles } from "@material-ui/core/styles"; import TableBody from "@material-ui/core/TableBody"; import TableCell from "@material-ui/core/TableCell"; import TableFooter from "@material-ui/core/TableFooter"; import TableRow from "@material-ui/core/TableRow"; import DeleteIcon from "@material-ui/icons/Delete"; import React from "react"; import { FormattedMessage } from "react-intl"; import Checkbox from "@saleor/components/Checkbox"; import IconButtonTableCell from "@saleor/components/IconButtonTableCell"; import ResponsiveTable from "@saleor/components/ResponsiveTable"; import Skeleton from "@saleor/components/Skeleton"; import TableHead from "@saleor/components/TableHead"; import TablePagination from "@saleor/components/TablePagination"; import { maybe, renderCollection } from "@saleor/misc"; import { ListActions, ListProps, SortPage } from "@saleor/types"; import { MenuListUrlSortField } from "@saleor/navigation/urls"; import TableCellHeader from "@saleor/components/TableCellHeader"; import { getArrowDirection } from "@saleor/utils/sort"; import { MenuList_menus_edges_node } from "../../types/MenuList"; export interface MenuListProps extends ListProps, ListActions, SortPage { menus: MenuList_menus_edges_node[]; onDelete: (id: string) => void; } const useStyles = makeStyles( theme => ({ [theme.breakpoints.up("lg")]: { colItems: { width: 200 }, colTitle: {} }, colItems: { textAlign: "right" }, colTitle: { paddingLeft: 0 }, row: { cursor: "pointer" } }), { name: "MenuList" } ); const numberOfColumns = 4; const MenuList: React.FC = props => { const { settings, disabled, isChecked, menus, onDelete, onNextPage, onPreviousPage, onUpdateListSettings, onRowClick, onSort, pageInfo, selected, sort, toggle, toggleAll, toolbar } = props; const classes = useStyles(props); return ( onSort(MenuListUrlSortField.name)} className={classes.colTitle} > onSort(MenuListUrlSortField.items)} className={classes.colItems} > {renderCollection( menus, menu => { const isSelected = menu ? isChecked(menu.id) : false; return ( toggle(menu.id)} /> {maybe(() => menu.name, )} {maybe( () => menu.items.length, )} onDelete(menu.id)} > ); }, () => ( ) )} ); }; MenuList.displayName = "MenuList"; export default MenuList;