Refactor order details props types
This commit is contained in:
parent
724df1939e
commit
a1624508eb
4 changed files with 16 additions and 14 deletions
|
@ -9,7 +9,6 @@ import Grid from "@saleor/components/Grid";
|
||||||
import PageHeader from "@saleor/components/PageHeader";
|
import PageHeader from "@saleor/components/PageHeader";
|
||||||
import Skeleton from "@saleor/components/Skeleton";
|
import Skeleton from "@saleor/components/Skeleton";
|
||||||
import { sectionNames } from "@saleor/intl";
|
import { sectionNames } from "@saleor/intl";
|
||||||
import { InvoiceFragment } from "@saleor/orders/types/InvoiceFragment";
|
|
||||||
import { UserPermissionProps } from "@saleor/types";
|
import { UserPermissionProps } from "@saleor/types";
|
||||||
import React from "react";
|
import React from "react";
|
||||||
import { useIntl } from "react-intl";
|
import { useIntl } from "react-intl";
|
||||||
|
@ -64,9 +63,9 @@ export interface OrderDetailsPageProps extends UserPermissionProps {
|
||||||
onOrderCancel();
|
onOrderCancel();
|
||||||
onNoteAdd(data: HistoryFormData);
|
onNoteAdd(data: HistoryFormData);
|
||||||
onProfileView();
|
onProfileView();
|
||||||
onInvoiceClick(invoice: InvoiceFragment);
|
onInvoiceClick(invoiceId: string);
|
||||||
onInvoiceGenerate();
|
onInvoiceGenerate();
|
||||||
onInvoiceSend(invoice: InvoiceFragment);
|
onInvoiceSend(invoiceId: string);
|
||||||
}
|
}
|
||||||
|
|
||||||
const OrderDetailsPage: React.FC<OrderDetailsPageProps> = props => {
|
const OrderDetailsPage: React.FC<OrderDetailsPageProps> = props => {
|
||||||
|
|
|
@ -11,16 +11,15 @@ import FormSpacer from "@saleor/components/FormSpacer";
|
||||||
import { buttonMessages } from "@saleor/intl";
|
import { buttonMessages } from "@saleor/intl";
|
||||||
import { InvoiceErrorFragment } from "@saleor/orders/types/InvoiceErrorFragment";
|
import { InvoiceErrorFragment } from "@saleor/orders/types/InvoiceErrorFragment";
|
||||||
import { InvoiceFragment } from "@saleor/orders/types/InvoiceFragment";
|
import { InvoiceFragment } from "@saleor/orders/types/InvoiceFragment";
|
||||||
|
import { DialogProps } from "@saleor/types";
|
||||||
import getInvoiceErrorMessage from "@saleor/utils/errors/invoice";
|
import getInvoiceErrorMessage from "@saleor/utils/errors/invoice";
|
||||||
import React from "react";
|
import React from "react";
|
||||||
import { FormattedMessage, useIntl } from "react-intl";
|
import { FormattedMessage, useIntl } from "react-intl";
|
||||||
|
|
||||||
export interface OrderInvoiceEmailSendDialogProps {
|
export interface OrderInvoiceEmailSendDialogProps extends DialogProps {
|
||||||
confirmButtonState: ConfirmButtonTransitionState;
|
confirmButtonState: ConfirmButtonTransitionState;
|
||||||
errors: InvoiceErrorFragment[];
|
errors: InvoiceErrorFragment[];
|
||||||
open: boolean;
|
|
||||||
invoice: InvoiceFragment;
|
invoice: InvoiceFragment;
|
||||||
onClose: () => void;
|
|
||||||
onSend: () => void;
|
onSend: () => void;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -38,8 +38,8 @@ const useStyles = makeStyles(
|
||||||
interface OrderInvoiceListProps {
|
interface OrderInvoiceListProps {
|
||||||
invoices: InvoiceFragment[];
|
invoices: InvoiceFragment[];
|
||||||
onInvoiceGenerate: () => void;
|
onInvoiceGenerate: () => void;
|
||||||
onInvoiceClick: (invoice: InvoiceFragment) => void;
|
onInvoiceClick: (invoiceId: string) => void;
|
||||||
onInvoiceSend: (invoice: InvoiceFragment) => void;
|
onInvoiceSend: (invoiceId: string) => void;
|
||||||
}
|
}
|
||||||
|
|
||||||
const OrderInvoiceList: React.FC<OrderInvoiceListProps> = props => {
|
const OrderInvoiceList: React.FC<OrderInvoiceListProps> = props => {
|
||||||
|
@ -109,7 +109,7 @@ const OrderInvoiceList: React.FC<OrderInvoiceListProps> = props => {
|
||||||
? classes.colNumberClickable
|
? classes.colNumberClickable
|
||||||
: classes.colNumber
|
: classes.colNumber
|
||||||
}
|
}
|
||||||
onClick={() => onInvoiceClick(invoice)}
|
onClick={() => onInvoiceClick(invoice.id)}
|
||||||
>
|
>
|
||||||
<FormattedMessage
|
<FormattedMessage
|
||||||
defaultMessage="Invoice"
|
defaultMessage="Invoice"
|
||||||
|
@ -127,7 +127,7 @@ const OrderInvoiceList: React.FC<OrderInvoiceListProps> = props => {
|
||||||
{onInvoiceSend && (
|
{onInvoiceSend && (
|
||||||
<TableCell
|
<TableCell
|
||||||
className={classes.colAction}
|
className={classes.colAction}
|
||||||
onClick={() => onInvoiceSend(invoice)}
|
onClick={() => onInvoiceSend(invoice.id)}
|
||||||
>
|
>
|
||||||
<Button color="primary">
|
<Button color="primary">
|
||||||
<FormattedMessage {...buttonMessages.send} />
|
<FormattedMessage {...buttonMessages.send} />
|
||||||
|
|
|
@ -256,16 +256,20 @@ export const OrderDetails: React.FC<OrderDetailsProps> = ({ id, params }) => {
|
||||||
onProfileView={() =>
|
onProfileView={() =>
|
||||||
navigate(customerUrl(order.user.id))
|
navigate(customerUrl(order.user.id))
|
||||||
}
|
}
|
||||||
onInvoiceClick={invoice =>
|
onInvoiceClick={id =>
|
||||||
window.open(invoice.url, "_blank")
|
window.open(
|
||||||
|
order.invoices.find(invoice => invoice.id === id)
|
||||||
|
?.url,
|
||||||
|
"_blank"
|
||||||
|
)
|
||||||
}
|
}
|
||||||
onInvoiceGenerate={() =>
|
onInvoiceGenerate={() =>
|
||||||
orderInvoiceRequest.mutate({
|
orderInvoiceRequest.mutate({
|
||||||
orderId: id
|
orderId: id
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
onInvoiceSend={invoice =>
|
onInvoiceSend={id =>
|
||||||
openModal("invoice-send", { id: invoice.id })
|
openModal("invoice-send", { id })
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
<OrderCannotCancelOrderDialog
|
<OrderCannotCancelOrderDialog
|
||||||
|
|
Loading…
Reference in a new issue