2021-08-16 13:44:00 +00:00
|
|
|
import { TableCell } from "@material-ui/core";
|
2021-09-14 13:57:02 +00:00
|
|
|
import DeleteIconButton from "@saleor/components/DeleteIconButton";
|
2021-08-16 13:44:00 +00:00
|
|
|
import TableCellHeader, {
|
|
|
|
TableCellHeaderProps
|
|
|
|
} from "@saleor/components/TableCellHeader";
|
|
|
|
import TableHead from "@saleor/components/TableHead";
|
|
|
|
import Label, {
|
|
|
|
LabelSizes
|
|
|
|
} from "@saleor/orders/components/OrderHistory/Label";
|
|
|
|
import React from "react";
|
|
|
|
import { MessageDescriptor, useIntl } from "react-intl";
|
|
|
|
|
2021-09-14 13:57:02 +00:00
|
|
|
import { giftCardsListTableMessages as messages } from "../../messages";
|
|
|
|
import useGiftCardListDialogs from "../../providers/GiftCardListDialogsProvider/hooks/useGiftCardListDialogs";
|
|
|
|
import useGiftCardList from "../../providers/GiftCardListProvider/hooks/useGiftCardList";
|
|
|
|
import useGiftCardListBulkActions from "../../providers/GiftCardListProvider/hooks/useGiftCardListBulkActions";
|
|
|
|
import { useTableStyles as useStyles } from "../../styles";
|
|
|
|
import BulkEnableDisableSection from "./BulkEnableDisableSection";
|
2021-08-16 13:44:00 +00:00
|
|
|
|
|
|
|
interface HeaderItem {
|
|
|
|
title?: MessageDescriptor;
|
|
|
|
options?: TableCellHeaderProps;
|
|
|
|
}
|
|
|
|
|
|
|
|
const GiftCardsListTableHeader: React.FC = () => {
|
|
|
|
const intl = useIntl();
|
|
|
|
const classes = useStyles({});
|
2021-09-14 13:57:02 +00:00
|
|
|
|
2021-08-16 13:44:00 +00:00
|
|
|
const { giftCards, numberOfColumns, loading } = useGiftCardList();
|
|
|
|
const { toggleAll, listElements } = useGiftCardListBulkActions();
|
2021-09-14 13:57:02 +00:00
|
|
|
const { openDeleteDialog } = useGiftCardListDialogs();
|
2021-08-16 13:44:00 +00:00
|
|
|
|
|
|
|
const headerItems: HeaderItem[] = [
|
|
|
|
{
|
|
|
|
title: messages.giftCardsTableColumnGiftCardTitle,
|
|
|
|
options: {
|
|
|
|
className: classes.colCardCode,
|
|
|
|
textAlign: "left"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
title: messages.giftCardsTableColumnTagTitle
|
|
|
|
},
|
|
|
|
{
|
|
|
|
title: messages.giftCardsTableColumnProductTitle
|
|
|
|
},
|
|
|
|
{
|
|
|
|
title: messages.giftCardsTableColumnCustomerTitle
|
|
|
|
},
|
|
|
|
{
|
|
|
|
title: messages.giftCardsTableColumnBalanceTitle,
|
|
|
|
options: {
|
|
|
|
className: classes.colBalance,
|
|
|
|
textAlign: "right"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
];
|
|
|
|
|
|
|
|
return (
|
|
|
|
<>
|
|
|
|
<colgroup>
|
|
|
|
<col />
|
|
|
|
<col className={classes.colCardCode} />
|
|
|
|
<col className={classes.colBase} />
|
|
|
|
<col className={classes.colBase} />
|
|
|
|
<col className={classes.colBase} />
|
|
|
|
<col className={classes.colBalance} />
|
|
|
|
<col className={classes.colDelete} />
|
|
|
|
</colgroup>
|
|
|
|
<TableHead
|
|
|
|
disabled={loading}
|
|
|
|
colSpan={numberOfColumns}
|
|
|
|
selected={listElements.length}
|
|
|
|
items={giftCards}
|
|
|
|
toggleAll={toggleAll}
|
2021-09-14 13:57:02 +00:00
|
|
|
toolbar={
|
|
|
|
<>
|
|
|
|
<BulkEnableDisableSection />
|
|
|
|
<DeleteIconButton onClick={openDeleteDialog} />
|
|
|
|
</>
|
|
|
|
}
|
2021-08-16 13:44:00 +00:00
|
|
|
>
|
|
|
|
{headerItems.map(({ title, options }) => (
|
|
|
|
<TableCellHeader {...options}>
|
|
|
|
<Label text={intl.formatMessage(title)} size={LabelSizes.md} />
|
|
|
|
</TableCellHeader>
|
|
|
|
))}
|
|
|
|
<TableCell className={classes.colDelete} />
|
|
|
|
</TableHead>
|
|
|
|
</>
|
|
|
|
);
|
|
|
|
};
|
|
|
|
|
|
|
|
export default GiftCardsListTableHeader;
|