Refactor order details props types

This commit is contained in:
Dawid Tarasiuk 2020-07-02 13:58:44 +02:00
parent 724df1939e
commit a1624508eb
4 changed files with 16 additions and 14 deletions

View file

@ -9,7 +9,6 @@ import Grid from "@saleor/components/Grid";
import PageHeader from "@saleor/components/PageHeader";
import Skeleton from "@saleor/components/Skeleton";
import { sectionNames } from "@saleor/intl";
import { InvoiceFragment } from "@saleor/orders/types/InvoiceFragment";
import { UserPermissionProps } from "@saleor/types";
import React from "react";
import { useIntl } from "react-intl";
@ -64,9 +63,9 @@ export interface OrderDetailsPageProps extends UserPermissionProps {
onOrderCancel();
onNoteAdd(data: HistoryFormData);
onProfileView();
onInvoiceClick(invoice: InvoiceFragment);
onInvoiceClick(invoiceId: string);
onInvoiceGenerate();
onInvoiceSend(invoice: InvoiceFragment);
onInvoiceSend(invoiceId: string);
}
const OrderDetailsPage: React.FC<OrderDetailsPageProps> = props => {

View file

@ -11,16 +11,15 @@ import FormSpacer from "@saleor/components/FormSpacer";
import { buttonMessages } from "@saleor/intl";
import { InvoiceErrorFragment } from "@saleor/orders/types/InvoiceErrorFragment";
import { InvoiceFragment } from "@saleor/orders/types/InvoiceFragment";
import { DialogProps } from "@saleor/types";
import getInvoiceErrorMessage from "@saleor/utils/errors/invoice";
import React from "react";
import { FormattedMessage, useIntl } from "react-intl";
export interface OrderInvoiceEmailSendDialogProps {
export interface OrderInvoiceEmailSendDialogProps extends DialogProps {
confirmButtonState: ConfirmButtonTransitionState;
errors: InvoiceErrorFragment[];
open: boolean;
invoice: InvoiceFragment;
onClose: () => void;
onSend: () => void;
}

View file

@ -38,8 +38,8 @@ const useStyles = makeStyles(
interface OrderInvoiceListProps {
invoices: InvoiceFragment[];
onInvoiceGenerate: () => void;
onInvoiceClick: (invoice: InvoiceFragment) => void;
onInvoiceSend: (invoice: InvoiceFragment) => void;
onInvoiceClick: (invoiceId: string) => void;
onInvoiceSend: (invoiceId: string) => void;
}
const OrderInvoiceList: React.FC<OrderInvoiceListProps> = props => {
@ -109,7 +109,7 @@ const OrderInvoiceList: React.FC<OrderInvoiceListProps> = props => {
? classes.colNumberClickable
: classes.colNumber
}
onClick={() => onInvoiceClick(invoice)}
onClick={() => onInvoiceClick(invoice.id)}
>
<FormattedMessage
defaultMessage="Invoice"
@ -127,7 +127,7 @@ const OrderInvoiceList: React.FC<OrderInvoiceListProps> = props => {
{onInvoiceSend && (
<TableCell
className={classes.colAction}
onClick={() => onInvoiceSend(invoice)}
onClick={() => onInvoiceSend(invoice.id)}
>
<Button color="primary">
<FormattedMessage {...buttonMessages.send} />

View file

@ -256,16 +256,20 @@ export const OrderDetails: React.FC<OrderDetailsProps> = ({ id, params }) => {
onProfileView={() =>
navigate(customerUrl(order.user.id))
}
onInvoiceClick={invoice =>
window.open(invoice.url, "_blank")
onInvoiceClick={id =>
window.open(
order.invoices.find(invoice => invoice.id === id)
?.url,
"_blank"
)
}
onInvoiceGenerate={() =>
orderInvoiceRequest.mutate({
orderId: id
})
}
onInvoiceSend={invoice =>
openModal("invoice-send", { id: invoice.id })
onInvoiceSend={id =>
openModal("invoice-send", { id })
}
/>
<OrderCannotCancelOrderDialog