import { createStyles, Theme, WithStyles, withStyles } from "@material-ui/core/styles"; import Table from "@material-ui/core/Table"; 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 React from "react"; import { FormattedMessage } from "react-intl"; import Checkbox from "@saleor/components/Checkbox"; import Date from "@saleor/components/Date"; import Money from "@saleor/components/Money"; import Percent from "@saleor/components/Percent"; 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 } from "@saleor/types"; import { DiscountValueTypeEnum } from "@saleor/types/globalTypes"; import { VoucherList_vouchers_edges_node } from "../../types/VoucherList"; export interface VoucherListProps extends ListProps, ListActions { defaultCurrency: string; vouchers: VoucherList_vouchers_edges_node[]; } const styles = theme => createStyles({ [theme.breakpoints.up("lg")]: { colEnd: { width: 180 }, colMinSpent: { width: 150 }, colName: {}, colStart: { width: 180 }, colUses: { width: 150 }, colValue: { width: 150 } }, colEnd: { textAlign: "right" }, colMinSpent: { textAlign: "right" }, colName: { paddingLeft: 0 }, colStart: { textAlign: "right" }, colUses: { textAlign: "right" }, colValue: { textAlign: "right" }, tableRow: { cursor: "pointer" }, textRight: { textAlign: "right" } }); const numberOfColumns = 7; const VoucherList = withStyles(styles, { name: "VoucherList" })( ({ classes, settings, defaultCurrency, disabled, onNextPage, onPreviousPage, onUpdateListSettings, onRowClick, pageInfo, vouchers, isChecked, selected, toggle, toggleAll, toolbar }: VoucherListProps & WithStyles) => ( {renderCollection( vouchers, voucher => { const isSelected = voucher ? isChecked(voucher.id) : false; return ( toggle(voucher.id)} /> {maybe(() => voucher.code, )} {voucher && voucher.minAmountSpent ? ( ) : voucher && voucher.minAmountSpent === null ? ( "-" ) : ( )} {voucher && voucher.startDate ? ( ) : ( )} {voucher && voucher.endDate ? ( ) : voucher && voucher.endDate === null ? ( "-" ) : ( )} {voucher && voucher.discountValueType && voucher.discountValue ? ( voucher.discountValueType === DiscountValueTypeEnum.FIXED ? ( ) : ( ) ) : ( )} {voucher && voucher.usageLimit ? ( voucher.usageLimit ) : voucher && voucher.usageLimit === null ? ( "-" ) : ( )} ); }, () => ( ) )}
) ); VoucherList.displayName = "VoucherList"; export default VoucherList;