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 EditIcon from "@material-ui/icons/Edit"; import ResponsiveTable from "@saleor/components/ResponsiveTable"; import Skeleton from "@saleor/components/Skeleton"; import StatusLabel from "@saleor/components/StatusLabel"; import TableCellHeader from "@saleor/components/TableCellHeader"; import TablePagination from "@saleor/components/TablePagination"; import { translateBoolean } from "@saleor/intl"; import { maybe, renderCollection } from "@saleor/misc"; import { PluginListUrlSortField } from "@saleor/plugins/urls"; import { ListProps, SortPage } from "@saleor/types"; import { getArrowDirection } from "@saleor/utils/sort"; import React from "react"; import { useIntl } from "react-intl"; import { Plugins_plugins_edges_node } from "../../types/Plugins"; export interface PluginListProps extends ListProps, SortPage { plugins: Plugins_plugins_edges_node[]; } const useStyles = makeStyles( theme => ({ colAction: { "& svg": { color: theme.palette.primary.main }, textAlign: "right", width: 200 }, colActive: { width: 200 }, colName: {}, link: { cursor: "pointer" } }), { name: "PluginsList" } ); const numberOfColumns = 3; const PluginList: React.FC = props => { const { settings, plugins, disabled, onNextPage, pageInfo, sort, onRowClick, onSort, onUpdateListSettings, onPreviousPage } = props; const classes = useStyles(props); const intl = useIntl(); return ( onSort(PluginListUrlSortField.name)} className={classes.colName} > {intl.formatMessage({ defaultMessage: "Name", description: "plugin name" })} onSort(PluginListUrlSortField.active)} className={classes.colActive} > {intl.formatMessage({ defaultMessage: "Active", description: "plugin status" })} {intl.formatMessage({ defaultMessage: "Action", description: "user action bar" })} {renderCollection( plugins, plugin => ( {maybe(() => plugin.name, )} {maybe( () => ( ), )}
), () => ( {intl.formatMessage({ defaultMessage: "No plugins found" })} ) )}
); }; PluginList.displayName = "PluginList"; export default PluginList;