import IconButton from "@material-ui/core/IconButton"; 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 TableHead from "@material-ui/core/TableHead"; import TableRow from "@material-ui/core/TableRow"; import Typography from "@material-ui/core/Typography"; import DeleteIcon from "@material-ui/icons/Delete"; import EditIcon from "@material-ui/icons/Edit"; import ResponsiveTable from "@saleor/components/ResponsiveTable"; import Skeleton from "@saleor/components/Skeleton"; import TableCellHeader from "@saleor/components/TableCellHeader"; import TablePagination from "@saleor/components/TablePagination"; import { maybe, renderCollection, stopPropagation } from "@saleor/misc"; import { ServiceListUrlSortField } from "@saleor/services/urls"; import { ListProps, SortPage } from "@saleor/types"; import { getArrowDirection } from "@saleor/utils/sort"; import React from "react"; import { FormattedMessage } from "react-intl"; import { ServiceList_serviceAccounts_edges_node } from "../../types/ServiceList"; export interface ServiceListProps extends ListProps, SortPage { services: ServiceList_serviceAccounts_edges_node[]; onRemove: (id: string) => void; } const useStyles = makeStyles( theme => ({ [theme.breakpoints.up("lg")]: { colName: { "&&": { width: "auto" } } }, colAction: { "&&": { paddingRight: theme.spacing(1) }, textAlign: "right", width: 140 }, colName: { paddingLeft: 0, width: 250 }, table: { tableLayout: "fixed" }, tableRow: { cursor: "pointer" } }), { name: "ServiceList" } ); const numberOfColumns = 2; const ServiceList: React.FC = props => { const { settings, disabled, onNextPage, onPreviousPage, onUpdateListSettings, onRemove, onRowClick, onSort, pageInfo, services, sort } = props; const classes = useStyles(props); return ( onSort(ServiceListUrlSortField.name)} className={classes.colName} > {renderCollection( services, service => ( {maybe(() => service.name, )} {maybe(() => service.isActive ? ( ) : ( ) )} onRemove(service.id)) : undefined } > ), () => ( ) )} ); }; ServiceList.displayName = "ServiceList"; export default ServiceList;