import { TableBody, TableCell, TableFooter, TableRow } from "@material-ui/core"; import Checkbox from "@saleor/components/Checkbox"; import { DateTime } from "@saleor/components/Date"; import Money from "@saleor/components/Money"; import ResponsiveTable from "@saleor/components/ResponsiveTable"; import Skeleton from "@saleor/components/Skeleton"; import TableCellHeader from "@saleor/components/TableCellHeader"; import TableHead from "@saleor/components/TableHead"; import { TablePaginationWithContext } from "@saleor/components/TablePagination"; import TableRowLink from "@saleor/components/TableRowLink"; import { OrderDraftListQuery } from "@saleor/graphql"; import { makeStyles } from "@saleor/macaw-ui"; import { maybe, renderCollection, transformOrderStatus, transformPaymentStatus, } from "@saleor/misc"; import { OrderDraftListUrlSortField, orderUrl } from "@saleor/orders/urls"; import { ListActions, ListProps, RelayToFlat, SortPage } from "@saleor/types"; import { getArrowDirection } from "@saleor/utils/sort"; import React from "react"; import { FormattedMessage, useIntl } from "react-intl"; const useStyles = makeStyles( theme => ({ [theme.breakpoints.up("lg")]: { colCustomer: { width: 300, }, colDate: { width: 300, }, colNumber: { width: 160, }, colTotal: {}, }, colCustomer: {}, colDate: {}, colNumber: { paddingLeft: 0, }, colTotal: { textAlign: "right", }, link: { cursor: "pointer", }, }), { name: "OrderDraftList" }, ); interface OrderDraftListProps extends ListProps, ListActions, SortPage { orders: RelayToFlat; } export const OrderDraftList: React.FC = props => { const { disabled, settings, orders, onUpdateListSettings, onSort, isChecked, selected, sort, toggle, toggleAll, toolbar, } = props; const classes = useStyles(props); const intl = useIntl(); const orderDraftList = orders ? orders.map(order => ({ ...order, paymentStatus: transformPaymentStatus(order.paymentStatus, intl), status: transformOrderStatus(order.status, intl), })) : undefined; const numberOfColumns = orderDraftList?.length === 0 ? 4 : 5; return ( onSort(OrderDraftListUrlSortField.number)} className={classes.colNumber} > onSort(OrderDraftListUrlSortField.date)} className={classes.colDate} > onSort(OrderDraftListUrlSortField.customer)} className={classes.colCustomer} > {renderCollection( orderDraftList, order => { const isSelected = order ? isChecked(order.id) : false; return ( toggle(order.id)} /> {maybe(() => order.number) ? ( "#" + order.number ) : ( )} {maybe(() => order.created) ? ( ) : ( )} {maybe(() => order.billingAddress) ? ( <> {order.billingAddress.firstName}   {order.billingAddress.lastName} ) : maybe(() => order.userEmail) !== undefined ? ( order.userEmail ) : ( )} {maybe(() => order.total.gross) ? ( ) : ( )} ); }, () => ( ), )} ); }; OrderDraftList.displayName = "OrderDraftList"; export default OrderDraftList;