saleor-dashboard/src/components/Navigator/modes/index.ts
Krzysztof Wolski a82de30309
Add circleci config and enhance our linters (#519)
* Add circleci config

* Season linting config

* Apply code style
2020-05-14 11:30:32 +02:00

54 lines
1.6 KiB
TypeScript

import { UseNavigatorResult } from "@saleor/hooks/useNavigator";
import { OrderDraftCreate } from "@saleor/orders/types/OrderDraftCreate";
import { MutationFunction } from "react-apollo";
import { IntlShape } from "react-intl";
import { QuickSearchAction, QuickSearchMode } from "../types";
import getCatalogModeActions from "./catalog";
import getCommandModeActions from "./commands";
import getCustomersModeActions from "./customers";
import getDefaultModeActions from "./default";
import getHelpModeActions from "./help";
import getOrdersModeActions from "./orders";
import { ActionQueries } from "./types";
function getModeActions(
mode: QuickSearchMode,
query: string,
intl: IntlShape,
queries: ActionQueries,
cbs: {
createOrder: MutationFunction<OrderDraftCreate, {}>;
navigate: UseNavigatorResult;
setMode: (mode: QuickSearchMode) => void;
}
): QuickSearchAction[] {
switch (mode) {
case "catalog":
return getCatalogModeActions(query, intl, cbs.navigate, queries.catalog);
case "commands":
return getCommandModeActions(
query,
intl,
cbs.navigate,
cbs.createOrder,
cbs.setMode
);
case "customers":
return getCustomersModeActions(intl, cbs.navigate, queries.customers);
case "help":
return getHelpModeActions(query, intl, cbs.setMode);
case "orders":
return getOrdersModeActions(query, intl, cbs.navigate, queries.order);
default:
return getDefaultModeActions(
query,
intl,
cbs.navigate,
cbs.createOrder,
cbs.setMode
);
}
}
export default getModeActions;