From c231de44b5e2cd70712f31001c3bcffa9f8e7276 Mon Sep 17 00:00:00 2001 From: dominik-zeglen Date: Fri, 13 Sep 2019 16:40:02 +0200 Subject: [PATCH] Code cleanup --- src/misc.ts | 10 ----- .../components/ProductList/ProductList.tsx | 3 +- .../views/ProductList/ProductList.tsx | 3 +- src/products/views/ProductList/sort.ts | 39 +------------------ src/utils/sort.ts | 28 +++++++++++++ 5 files changed, 33 insertions(+), 50 deletions(-) create mode 100644 src/utils/sort.ts diff --git a/src/misc.ts b/src/misc.ts index 154b1d246..74f410669 100644 --- a/src/misc.ts +++ b/src/misc.ts @@ -4,13 +4,11 @@ import urlJoin from "url-join"; import { defineMessages, IntlShape } from "react-intl"; import { ConfirmButtonTransitionState } from "./components/ConfirmButton/ConfirmButton"; -import { TableCellHeaderArrowDirection } from "./components/TableCellHeader"; import { APP_MOUNT_URI } from "./config"; import { AddressType } from "./customers/types"; import { PartialMutationProviderOutput, UserError } from "./types"; import { AuthorizationKeyType, - OrderDirection, OrderStatus, PaymentChargeStatusEnum, TaxRateType @@ -481,14 +479,6 @@ export function findInEnum( throw new Error(`Key ${needle} not found in enum`); } -export function getOrderDirection(asc: boolean): OrderDirection { - return asc ? OrderDirection.ASC : OrderDirection.DESC; -} - -export function getArrowDirection(asc: boolean): TableCellHeaderArrowDirection { - return asc ? "asc" : "desc"; -} - export function parseBoolean(a: string): boolean { return a === "true"; } diff --git a/src/products/components/ProductList/ProductList.tsx b/src/products/components/ProductList/ProductList.tsx index e3c3530e5..a69c7b877 100644 --- a/src/products/components/ProductList/ProductList.tsx +++ b/src/products/components/ProductList/ProductList.tsx @@ -24,7 +24,7 @@ import TableCellHeader from "@saleor/components/TableCellHeader"; import TableHead from "@saleor/components/TableHead"; import TablePagination from "@saleor/components/TablePagination"; import { ProductListColumns } from "@saleor/config"; -import { getArrowDirection, maybe, renderCollection } from "@saleor/misc"; +import { maybe, renderCollection } from "@saleor/misc"; import { getAttributeIdFromColumnValue, isAttributeColumnValue @@ -36,6 +36,7 @@ import { ListActions, ListProps, SortPage } from "@saleor/types"; import TDisplayColumn, { DisplayColumnProps } from "@saleor/utils/columns/DisplayColumn"; +import { getArrowDirection } from "@saleor/utils/sort"; const styles = (theme: Theme) => createStyles({ diff --git a/src/products/views/ProductList/ProductList.tsx b/src/products/views/ProductList/ProductList.tsx index b1bb62c87..366834bfc 100644 --- a/src/products/views/ProductList/ProductList.tsx +++ b/src/products/views/ProductList/ProductList.tsx @@ -24,6 +24,7 @@ import { commonMessages } from "@saleor/intl"; import { getMutationState, maybe } from "@saleor/misc"; import { ProductListVariables } from "@saleor/products/types/ProductList"; import { ListViews } from "@saleor/types"; +import { getSortUrlVariables } from "@saleor/utils/sort"; import ProductListPage from "../../components/ProductListPage"; import { TypedProductBulkDeleteMutation, @@ -53,7 +54,7 @@ import { getFilterVariables, saveFilterTab } from "./filters"; -import { getSortQueryVariables, getSortUrlVariables } from "./sort"; +import { getSortQueryVariables } from "./sort"; interface ProductListProps { params: ProductListUrlQueryParams; diff --git a/src/products/views/ProductList/sort.ts b/src/products/views/ProductList/sort.ts index 4c91b3321..e5cbbe905 100644 --- a/src/products/views/ProductList/sort.ts +++ b/src/products/views/ProductList/sort.ts @@ -1,10 +1,9 @@ -import { getOrderDirection } from "@saleor/misc"; import { ProductListUrlQueryParams, ProductListUrlSortField } from "@saleor/products/urls"; -import { Sort } from "@saleor/types"; import { ProductOrder, ProductOrderField } from "@saleor/types/globalTypes"; +import { getOrderDirection } from "@saleor/utils/sort"; export function getSortQueryField( sort: ProductListUrlSortField @@ -18,8 +17,6 @@ export function getSortQueryField( return ProductOrderField.TYPE; case ProductListUrlSortField.status: return ProductOrderField.PUBLISHED; - default: - return ProductOrderField.NAME; } } @@ -31,37 +28,3 @@ export function getSortQueryVariables( field: getSortQueryField(params.sort) }; } - -export function getSortUrlField( - sort: ProductOrderField -): ProductListUrlSortField { - switch (sort) { - case ProductOrderField.NAME: - return ProductListUrlSortField.name; - case ProductOrderField.PRICE: - return ProductListUrlSortField.price; - case ProductOrderField.TYPE: - return ProductListUrlSortField.productType; - case ProductOrderField.PUBLISHED: - return ProductListUrlSortField.status; - default: - return ProductListUrlSortField.name; - } -} - -export function getSortUrlVariables( - field: ProductListUrlSortField, - params: Sort -): Sort { - if (field === params.sort) { - return { - asc: !params.asc, - sort: field - }; - } - - return { - asc: true, - sort: field - }; -} diff --git a/src/utils/sort.ts b/src/utils/sort.ts new file mode 100644 index 000000000..f5eabbd33 --- /dev/null +++ b/src/utils/sort.ts @@ -0,0 +1,28 @@ +import { TableCellHeaderArrowDirection } from "../components/TableCellHeader"; +import { Sort } from "../types"; +import { OrderDirection } from "../types/globalTypes"; + +export function getSortUrlVariables( + field: TSortKey, + params: Sort +): Sort { + if (field === params.sort) { + return { + asc: !params.asc, + sort: field + }; + } + + return { + asc: true, + sort: field + }; +} + +export function getOrderDirection(asc: boolean): OrderDirection { + return asc ? OrderDirection.ASC : OrderDirection.DESC; +} + +export function getArrowDirection(asc: boolean): TableCellHeaderArrowDirection { + return asc ? "asc" : "desc"; +}