saleor-dashboard/src/navigation/urls.ts
2019-08-09 13:14:35 +02:00

21 lines
876 B
TypeScript

import { stringify as stringifyQs } from "qs";
import urlJoin from "url-join";
import { BulkAction, Dialog, Pagination, SingleAction } from "../types";
export const navigationSection = "/navigation";
export const menuListPath = navigationSection;
export type MenuListUrlDialog = "add" | "remove" | "remove-many";
export type MenuListUrlQueryParams = BulkAction &
Dialog<MenuListUrlDialog> &
Pagination &
SingleAction;
export const menuListUrl = (params?: MenuListUrlQueryParams) =>
menuListPath + "?" + stringifyQs(params);
export const menuPath = (id: string) => urlJoin(navigationSection, id);
export type MenuUrlDialog = "add-item" | "edit-item" | "remove";
export type MenuUrlQueryParams = Dialog<MenuUrlDialog> & SingleAction;
export const menuUrl = (id: string, params?: MenuUrlQueryParams) =>
menuPath(encodeURIComponent(id)) + "?" + stringifyQs(params);