2019-11-22 15:39:20 +00:00
|
|
|
import { UseNavigatorResult } from "@saleor/hooks/useNavigator";
|
|
|
|
import { OrderDraftCreate } from "@saleor/orders/types/OrderDraftCreate";
|
|
|
|
import { MutationFunction } from "react-apollo";
|
2020-05-14 09:30:32 +00:00
|
|
|
import { IntlShape } from "react-intl";
|
|
|
|
|
2019-11-21 12:13:41 +00:00
|
|
|
import { QuickSearchAction, QuickSearchMode } from "../types";
|
2019-11-25 14:32:10 +00:00
|
|
|
import getCatalogModeActions from "./catalog";
|
2019-11-22 15:39:20 +00:00
|
|
|
import getCommandModeActions from "./commands";
|
2019-11-25 11:29:07 +00:00
|
|
|
import getCustomersModeActions from "./customers";
|
2019-11-21 12:13:41 +00:00
|
|
|
import getDefaultModeActions from "./default";
|
2019-11-26 14:14:21 +00:00
|
|
|
import getHelpModeActions from "./help";
|
2019-11-21 12:13:41 +00:00
|
|
|
import getOrdersModeActions from "./orders";
|
2019-11-21 17:47:06 +00:00
|
|
|
import { ActionQueries } from "./types";
|
2019-11-21 12:13:41 +00:00
|
|
|
|
|
|
|
function getModeActions(
|
|
|
|
mode: QuickSearchMode,
|
|
|
|
query: string,
|
2019-11-21 17:47:06 +00:00
|
|
|
intl: IntlShape,
|
2019-11-22 15:39:20 +00:00
|
|
|
queries: ActionQueries,
|
|
|
|
cbs: {
|
|
|
|
createOrder: MutationFunction<OrderDraftCreate, {}>;
|
2019-11-26 14:14:21 +00:00
|
|
|
navigate: UseNavigatorResult;
|
|
|
|
setMode: (mode: QuickSearchMode) => void;
|
2019-11-22 15:39:20 +00:00
|
|
|
}
|
2019-11-21 12:13:41 +00:00
|
|
|
): QuickSearchAction[] {
|
|
|
|
switch (mode) {
|
2019-11-25 14:32:10 +00:00
|
|
|
case "catalog":
|
|
|
|
return getCatalogModeActions(query, intl, cbs.navigate, queries.catalog);
|
2019-11-22 15:39:20 +00:00
|
|
|
case "commands":
|
2019-11-26 14:14:21 +00:00
|
|
|
return getCommandModeActions(
|
|
|
|
query,
|
|
|
|
intl,
|
|
|
|
cbs.navigate,
|
|
|
|
cbs.createOrder,
|
|
|
|
cbs.setMode
|
|
|
|
);
|
2019-11-25 11:29:07 +00:00
|
|
|
case "customers":
|
|
|
|
return getCustomersModeActions(intl, cbs.navigate, queries.customers);
|
2019-11-26 14:14:21 +00:00
|
|
|
case "help":
|
|
|
|
return getHelpModeActions(query, intl, cbs.setMode);
|
2019-11-21 12:13:41 +00:00
|
|
|
case "orders":
|
2019-11-22 15:39:20 +00:00
|
|
|
return getOrdersModeActions(query, intl, cbs.navigate, queries.order);
|
2019-11-21 12:13:41 +00:00
|
|
|
default:
|
2019-11-26 14:14:21 +00:00
|
|
|
return getDefaultModeActions(
|
|
|
|
query,
|
|
|
|
intl,
|
|
|
|
cbs.navigate,
|
|
|
|
cbs.createOrder,
|
|
|
|
cbs.setMode
|
|
|
|
);
|
2019-11-21 12:13:41 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
export default getModeActions;
|