saleor-dashboard/src/collections/urls.ts
Dominik Żegleń a175fb9497
Add global channel picker (#841)
* Move theme switch to user menu

* Add global channel picker

* Fix picker styles

* Use app channel state

* Improve prop naming to indicate id vs slug

* Disable picker if no reason to pick channel

* Remove settings modal leftovers

* Remove channel settings dialog

* Remove unused props

* Skip channel fetching if user is not authenticated

* Remove channel selection from components

* Update messages

* Fix e2e tests

* Remove channel picker leftover

* Revert ChannelSettingsDialog deletion

* Update snapshots

* Update messages
2020-11-23 10:39:24 +01:00

51 lines
1.5 KiB
TypeScript

import { stringify as stringifyQs } from "qs";
import urlJoin from "url-join";
import {
ActiveTab,
BulkAction,
Dialog,
Filters,
Pagination,
Sort,
TabActionDialog
} from "../types";
const collectionSectionUrl = "/collections/";
export const collectionListPath = collectionSectionUrl;
export enum CollectionListUrlFiltersEnum {
status = "status",
query = "query"
}
export type CollectionListUrlFilters = Filters<CollectionListUrlFiltersEnum>;
export type CollectionListUrlDialog = "remove" | TabActionDialog;
export enum CollectionListUrlSortField {
name = "name",
available = "available",
productCount = "products"
}
export type CollectionListUrlSort = Sort<CollectionListUrlSortField>;
export type CollectionListUrlQueryParams = ActiveTab &
BulkAction &
CollectionListUrlFilters &
CollectionListUrlSort &
Dialog<CollectionListUrlDialog> &
Pagination;
export const collectionListUrl = (params?: CollectionListUrlQueryParams) =>
collectionSectionUrl + "?" + stringifyQs(params);
export const collectionPath = (id: string) => urlJoin(collectionSectionUrl, id);
export type CollectionUrlDialog =
| "remove"
| "removeImage"
| "assign"
| "unassign";
export type CollectionUrlQueryParams = BulkAction &
Pagination &
Dialog<CollectionUrlDialog>;
export const collectionUrl = (id: string, params?: CollectionUrlQueryParams) =>
collectionPath(encodeURIComponent(id)) + "?" + stringifyQs(params);
export const collectionAddPath = urlJoin(collectionSectionUrl, "add");
export const collectionAddUrl = collectionAddPath;