[1611] Use modal action query params

This commit is contained in:
Jakub Majorek 2020-11-23 11:56:08 +01:00
parent da7add51b0
commit 4eb628018d
3 changed files with 13 additions and 14 deletions

View file

@ -15,6 +15,8 @@ import {
const orderSectionUrl = "/orders"; const orderSectionUrl = "/orders";
type CreateOrderDialog = "create-order";
export const orderListPath = orderSectionUrl; export const orderListPath = orderSectionUrl;
export enum OrderListUrlFiltersEnum { export enum OrderListUrlFiltersEnum {
createdFrom = "createdFrom", createdFrom = "createdFrom",
@ -28,7 +30,7 @@ export enum OrderListUrlFiltersWithMultipleValuesEnum {
} }
export type OrderListUrlFilters = Filters<OrderListUrlFiltersEnum> & export type OrderListUrlFilters = Filters<OrderListUrlFiltersEnum> &
FiltersWithMultipleValues<OrderListUrlFiltersWithMultipleValuesEnum>; FiltersWithMultipleValues<OrderListUrlFiltersWithMultipleValuesEnum>;
export type OrderListUrlDialog = "cancel" | TabActionDialog; export type OrderListUrlDialog = "cancel" | CreateOrderDialog | TabActionDialog;
export enum OrderListUrlSortField { export enum OrderListUrlSortField {
number = "number", number = "number",
customer = "customer", customer = "customer",
@ -61,7 +63,10 @@ export enum OrderDraftListUrlFiltersEnum {
query = "query" query = "query"
} }
export type OrderDraftListUrlFilters = Filters<OrderDraftListUrlFiltersEnum>; export type OrderDraftListUrlFilters = Filters<OrderDraftListUrlFiltersEnum>;
export type OrderDraftListUrlDialog = "remove" | TabActionDialog; export type OrderDraftListUrlDialog =
| "remove"
| CreateOrderDialog
| TabActionDialog;
export enum OrderDraftListUrlSortField { export enum OrderDraftListUrlSortField {
number = "number", number = "number",
customer = "customer", customer = "customer",

View file

@ -81,9 +81,6 @@ export const OrderDraftList: React.FC<OrderDraftListProps> = ({ params }) => {
}); });
const { channel, availableChannels } = useAppChannel(); const { channel, availableChannels } = useAppChannel();
const [channelPickerDialogOpen, setChannelPickerDialogOpen] = React.useState(
false
);
const tabs = getFilterTabs(); const tabs = getFilterTabs();
@ -200,7 +197,7 @@ export const OrderDraftList: React.FC<OrderDraftListProps> = ({ params }) => {
data.draftOrders.edges.map(edge => edge.node) data.draftOrders.edges.map(edge => edge.node)
)} )}
pageInfo={pageInfo} pageInfo={pageInfo}
onAdd={() => setChannelPickerDialogOpen(true)} onAdd={() => openModal("create-order")}
onNextPage={loadNextPage} onNextPage={loadNextPage}
onPreviousPage={loadPreviousPage} onPreviousPage={loadPreviousPage}
onRowClick={id => () => navigate(orderUrl(id))} onRowClick={id => () => navigate(orderUrl(id))}
@ -268,8 +265,8 @@ export const OrderDraftList: React.FC<OrderDraftListProps> = ({ params }) => {
}))} }))}
confirmButtonState="success" confirmButtonState="success"
defaultChoice={channel.id} defaultChoice={channel.id}
open={channelPickerDialogOpen} open={params.action === "create-order"}
onClose={() => setChannelPickerDialogOpen(false)} onClose={closeModal}
onConfirm={channel => onConfirm={channel =>
createOrder({ createOrder({
variables: { variables: {

View file

@ -69,9 +69,6 @@ export const OrderList: React.FC<OrderListProps> = ({ params }) => {
}); });
const { channel, availableChannels } = useAppChannel(); const { channel, availableChannels } = useAppChannel();
const [channelPickerDialogOpen, setChannelPickerDialogOpen] = React.useState(
false
);
const tabs = getFilterTabs(); const tabs = getFilterTabs();
@ -149,7 +146,7 @@ export const OrderList: React.FC<OrderListProps> = ({ params }) => {
orders={maybe(() => data.orders.edges.map(edge => edge.node))} orders={maybe(() => data.orders.edges.map(edge => edge.node))}
pageInfo={pageInfo} pageInfo={pageInfo}
sort={getSortParams(params)} sort={getSortParams(params)}
onAdd={() => setChannelPickerDialogOpen(true)} onAdd={() => openModal("create-order")}
onNextPage={loadNextPage} onNextPage={loadNextPage}
onPreviousPage={loadPreviousPage} onPreviousPage={loadPreviousPage}
onUpdateListSettings={updateListSettings} onUpdateListSettings={updateListSettings}
@ -184,8 +181,8 @@ export const OrderList: React.FC<OrderListProps> = ({ params }) => {
}))} }))}
confirmButtonState="success" confirmButtonState="success"
defaultChoice={channel.id} defaultChoice={channel.id}
open={channelPickerDialogOpen} open={params.action === "create-order"}
onClose={() => setChannelPickerDialogOpen(false)} onClose={closeModal}
onConfirm={channel => onConfirm={channel =>
createOrder({ createOrder({
variables: { variables: {