-
-
-
= ({
);
};
-ChannelSettingsDialog.displayName = "ChannelSettingsDialog";
-export default ChannelSettingsDialog;
+ChannelPickerDialog.displayName = "ChannelPickerDialog";
+export default ChannelPickerDialog;
diff --git a/src/channels/components/ChannelPickerDialog/index.ts b/src/channels/components/ChannelPickerDialog/index.ts
new file mode 100644
index 000000000..01808f5fb
--- /dev/null
+++ b/src/channels/components/ChannelPickerDialog/index.ts
@@ -0,0 +1,2 @@
+export * from "./ChannelPickerDialog";
+export { default } from "./ChannelPickerDialog";
diff --git a/src/channels/components/ChannelSettingsDialog/index.ts b/src/channels/components/ChannelSettingsDialog/index.ts
deleted file mode 100644
index 2800c3c09..000000000
--- a/src/channels/components/ChannelSettingsDialog/index.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-export * from "./ChannelSettingsDialog";
-export { default } from "./ChannelSettingsDialog";
diff --git a/src/orders/urls.ts b/src/orders/urls.ts
index 0efa7ffde..4f5dc2128 100644
--- a/src/orders/urls.ts
+++ b/src/orders/urls.ts
@@ -15,6 +15,8 @@ import {
const orderSectionUrl = "/orders";
+type CreateOrderDialog = "create-order";
+
export const orderListPath = orderSectionUrl;
export enum OrderListUrlFiltersEnum {
createdFrom = "createdFrom",
@@ -28,7 +30,7 @@ export enum OrderListUrlFiltersWithMultipleValuesEnum {
}
export type OrderListUrlFilters = Filters &
FiltersWithMultipleValues;
-export type OrderListUrlDialog = "cancel" | TabActionDialog;
+export type OrderListUrlDialog = "cancel" | CreateOrderDialog | TabActionDialog;
export enum OrderListUrlSortField {
number = "number",
customer = "customer",
@@ -61,7 +63,10 @@ export enum OrderDraftListUrlFiltersEnum {
query = "query"
}
export type OrderDraftListUrlFilters = Filters;
-export type OrderDraftListUrlDialog = "remove" | TabActionDialog;
+export type OrderDraftListUrlDialog =
+ | "remove"
+ | CreateOrderDialog
+ | TabActionDialog;
export enum OrderDraftListUrlSortField {
number = "number",
customer = "customer",
diff --git a/src/orders/views/OrderDraftList/OrderDraftList.tsx b/src/orders/views/OrderDraftList/OrderDraftList.tsx
index cec17646c..2316c9d25 100644
--- a/src/orders/views/OrderDraftList/OrderDraftList.tsx
+++ b/src/orders/views/OrderDraftList/OrderDraftList.tsx
@@ -1,6 +1,7 @@
import DialogContentText from "@material-ui/core/DialogContentText";
import IconButton from "@material-ui/core/IconButton";
import DeleteIcon from "@material-ui/icons/Delete";
+import ChannelPickerDialog from "@saleor/channels/components/ChannelPickerDialog";
import ActionDialog from "@saleor/components/ActionDialog";
import useAppChannel from "@saleor/components/AppLayout/AppChannelContext";
import DeleteFilterTabDialog from "@saleor/components/DeleteFilterTabDialog";
@@ -79,7 +80,7 @@ export const OrderDraftList: React.FC = ({ params }) => {
onCompleted: handleCreateOrderCreateSuccess
});
- const { channel } = useAppChannel();
+ const { channel, availableChannels } = useAppChannel();
const tabs = getFilterTabs();
@@ -196,13 +197,7 @@ export const OrderDraftList: React.FC = ({ params }) => {
data.draftOrders.edges.map(edge => edge.node)
)}
pageInfo={pageInfo}
- onAdd={() =>
- createOrder({
- variables: {
- input: { channel: channel.id }
- }
- })
- }
+ onAdd={() => openModal("create-order")}
onNextPage={loadNextPage}
onPreviousPage={loadPreviousPage}
onRowClick={id => () => navigate(orderUrl(id))}
@@ -263,6 +258,23 @@ export const OrderDraftList: React.FC = ({ params }) => {
onSubmit={handleTabDelete}
tabName={maybe(() => tabs[currentTab - 1].name, "...")}
/>
+ ({
+ label: channel.name,
+ value: channel.id
+ }))}
+ confirmButtonState="success"
+ defaultChoice={channel.id}
+ open={params.action === "create-order"}
+ onClose={closeModal}
+ onConfirm={channel =>
+ createOrder({
+ variables: {
+ input: { channel }
+ }
+ })
+ }
+ />
>
);
}}
diff --git a/src/orders/views/OrderList/OrderList.tsx b/src/orders/views/OrderList/OrderList.tsx
index 7e437fa7d..4b8a5002f 100644
--- a/src/orders/views/OrderList/OrderList.tsx
+++ b/src/orders/views/OrderList/OrderList.tsx
@@ -1,3 +1,4 @@
+import ChannelPickerDialog from "@saleor/channels/components/ChannelPickerDialog";
import useAppChannel from "@saleor/components/AppLayout/AppChannelContext";
import DeleteFilterTabDialog from "@saleor/components/DeleteFilterTabDialog";
import SaveFilterTabDialog, {
@@ -67,7 +68,7 @@ export const OrderList: React.FC = ({ params }) => {
onCompleted: handleCreateOrderCreateSuccess
});
- const { channel } = useAppChannel();
+ const { channel, availableChannels } = useAppChannel();
const tabs = getFilterTabs();
@@ -145,13 +146,7 @@ export const OrderList: React.FC = ({ params }) => {
orders={maybe(() => data.orders.edges.map(edge => edge.node))}
pageInfo={pageInfo}
sort={getSortParams(params)}
- onAdd={() =>
- createOrder({
- variables: {
- input: { channel: channel.id }
- }
- })
- }
+ onAdd={() => openModal("create-order")}
onNextPage={loadNextPage}
onPreviousPage={loadPreviousPage}
onUpdateListSettings={updateListSettings}
@@ -179,6 +174,23 @@ export const OrderList: React.FC = ({ params }) => {
onSubmit={handleFilterTabDelete}
tabName={getStringOrPlaceholder(tabs[currentTab - 1]?.name)}
/>
+ ({
+ label: channel.name,
+ value: channel.id
+ }))}
+ confirmButtonState="success"
+ defaultChoice={channel.id}
+ open={params.action === "create-order"}
+ onClose={closeModal}
+ onConfirm={channel =>
+ createOrder({
+ variables: {
+ input: { channel }
+ }
+ })
+ }
+ />
>
);
};