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 TablePagination from "@saleor/components/TablePagination"; import { makeStyles } from "@saleor/macaw-ui"; import { maybe, renderCollection, transformOrderStatus, transformPaymentStatus } from "@saleor/misc"; import { OrderDraftListUrlSortField } from "@saleor/orders/urls"; import { ListActions, ListProps, SortPage } from "@saleor/types"; import { getArrowDirection } from "@saleor/utils/sort"; import React from "react"; import { FormattedMessage, useIntl } from "react-intl"; import { OrderDraftList_draftOrders_edges_node } from "../../types/OrderDraftList"; 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: OrderDraftList_draftOrders_edges_node[]; } export const OrderDraftList: React.FC = props => { const { disabled, settings, orders, pageInfo, onPreviousPage, onNextPage, onUpdateListSettings, onRowClick, 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;