saleor-dashboard/src/components/Navigator/modes/index.ts

33 lines
1 KiB
TypeScript
Raw Normal View History

2019-11-21 12:13:41 +00:00
import { IntlShape } from "react-intl";
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";
2019-11-21 12:13:41 +00:00
import { QuickSearchAction, QuickSearchMode } from "../types";
2019-11-22 15:39:20 +00:00
import getCommandModeActions from "./commands";
2019-11-21 12:13:41 +00:00
import getDefaultModeActions from "./default";
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: {
navigate: UseNavigatorResult;
createOrder: MutationFunction<OrderDraftCreate, {}>;
}
2019-11-21 12:13:41 +00:00
): QuickSearchAction[] {
switch (mode) {
2019-11-22 15:39:20 +00:00
case "commands":
return getCommandModeActions(query, intl, cbs.navigate, cbs.createOrder);
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-22 15:39:20 +00:00
return getDefaultModeActions(query, intl, cbs.navigate, cbs.createOrder);
2019-11-21 12:13:41 +00:00
}
}
export default getModeActions;