saleor-dashboard/src/channels/urls.ts
AlicjaSzu 2f9eddd9ee
Saleor 1659 use query params in channels picker (#886)
* use Query params in channels picker

* update urls
2020-12-04 18:09:28 +01:00

35 lines
1.2 KiB
TypeScript

import { stringify as stringifyQs } from "qs";
import urlJoin from "url-join";
import { Dialog, Filters, SingleAction, Sort } from "../types";
export enum ChannelsListUrlFiltersEnum {
query = "query"
}
export enum ChannelsListUrlSortField {
name = "name"
}
export type ChannelsListUrlSort = Sort<ChannelsListUrlSortField>;
export type ChannelsListUrlFilters = Filters<ChannelsListUrlFiltersEnum>;
export type ChannelsListUrlDialog = "remove";
export type ChannelsListUrlQueryParams = Dialog<ChannelsListUrlDialog> &
ChannelsListUrlFilters &
ChannelsListUrlSort &
SingleAction;
export type ChannelsAction = "open-channels-picker";
export const channelsSection = "/channels/";
export const channelsListPath = channelsSection;
export const channelsListUrl = (params?: ChannelsListUrlQueryParams) =>
channelsListPath + "?" + stringifyQs(params);
export const channelAddPath = urlJoin(channelsSection, "add");
export const channelAddUrl = channelAddPath;
export const channelPath = (id: string) => urlJoin(channelsSection, id);
export const channelUrl = (id: string, params?: ChannelsListUrlQueryParams) =>
channelPath(encodeURIComponent(id)) + "?" + stringifyQs(params);