From 391d38a3a5505ea3b8cb424544259eb4663570e3 Mon Sep 17 00:00:00 2001 From: Donkie Date: Thu, 6 Jul 2023 18:59:26 +0200 Subject: [PATCH] Client: Moved defaultSortOrder func to utils --- client/src/pages/filaments/list.tsx | 47 +++++++++++++++-------------- client/src/pages/spools/list.tsx | 39 ++++++++++++------------ client/src/pages/vendors/list.tsx | 20 +++--------- client/src/utils/sorting.ts | 15 +++++++++ 4 files changed, 64 insertions(+), 57 deletions(-) diff --git a/client/src/pages/filaments/list.tsx b/client/src/pages/filaments/list.tsx index b3687c3..928ed46 100644 --- a/client/src/pages/filaments/list.tsx +++ b/client/src/pages/filaments/list.tsx @@ -17,8 +17,10 @@ import { NumberFieldUnit } from "../../components/numberField"; import dayjs from "dayjs"; import utc from "dayjs/plugin/utc"; import { IFilament } from "./model"; -import { genericSorter } from "../../utils/sorting"; -import { SortOrder } from "antd/es/table/interface"; +import { + genericSorter, + getSortOrderForField, +} from "../../utils/sorting"; dayjs.extend(utc); @@ -69,14 +71,6 @@ export const FilamentList: React.FC = () => { // Sort dataSource by the sorters dataSource.sort(genericSorter(sorters)); - // Utility function to get the default sort order of a field based on the sorters_initial - const defaultSortOrder = (field: string): SortOrder | undefined => { - const sorter = sorters_initial.find((s) => s.field === field); - if (sorter) { - return sorter.order === "asc" ? "ascend" : "descend"; - } - return undefined; - }; return ( @@ -90,37 +84,40 @@ export const FilamentList: React.FC = () => { dataIndex="id" title="Id" sorter={true} - defaultSortOrder={defaultSortOrder("id")} + defaultSortOrder={getSortOrderForField(sorters_initial, "id")} /> ( = () => { dataIndex="diameter" title="Diameter" sorter={true} - defaultSortOrder={defaultSortOrder("diameter")} + defaultSortOrder={getSortOrderForField(sorters_initial, "diameter")} render={(value) => ( = () => { dataIndex="weight" title="Weight" sorter={true} - defaultSortOrder={defaultSortOrder("weight")} + defaultSortOrder={getSortOrderForField(sorters_initial, "weight")} render={(value) => { if (value === null || value === undefined) { return <>; @@ -170,7 +167,10 @@ export const FilamentList: React.FC = () => { dataIndex="spool_weight" title="Spool Weight" sorter={true} - defaultSortOrder={defaultSortOrder("spool_weight")} + defaultSortOrder={getSortOrderForField( + sorters_initial, + "spool_weight" + )} render={(value) => { if (value === null || value === undefined) { return <>; @@ -190,13 +190,16 @@ export const FilamentList: React.FC = () => { dataIndex="article_number" title="Article Number" sorter={true} - defaultSortOrder={defaultSortOrder("article_number")} + defaultSortOrder={getSortOrderForField( + sorters_initial, + "article_number" + )} /> ( = () => { dataIndex={["comment"]} title="Comment" sorter={true} - defaultSortOrder={defaultSortOrder("comment")} + defaultSortOrder={getSortOrderForField(sorters_initial, "comment")} /> = () => { } }); - // Utility function to get the default sort order of a field based on the sorters_initial - const defaultSortOrder = (field: string): SortOrder | undefined => { - const sorter = sorters_initial.find((s) => s.field === field); - if (sorter) { - return sorter.order === "asc" ? "ascend" : "descend"; - } - return undefined; - }; - return ( = () => { dataIndex="id" title="Id" sorter={true} - defaultSortOrder={defaultSortOrder("id")} + defaultSortOrder={getSortOrderForField(sorters_initial, "id")} /> { return ( = () => { dataIndex="remaining_weight" title="Estimated Remaining Weight" sorter={true} - defaultSortOrder={defaultSortOrder("remaining_weight")} + defaultSortOrder={getSortOrderForField( + sorters_initial, + "remaining_weight" + )} render={(value) => { if (value === null || value === undefined) { return ; @@ -140,19 +139,19 @@ export const SpoolList: React.FC = () => { dataIndex="location" title="Location" sorter={true} - defaultSortOrder={defaultSortOrder("location")} + defaultSortOrder={getSortOrderForField(sorters_initial, "location")} /> (
= () => { dataIndex="id" title="Id" sorter={true} - defaultSortOrder={defaultSortOrder("id")} + defaultSortOrder={getSortOrderForField(sorters_initial, "id")} /> ( = () => { dataIndex={["comment"]} title="Comment" sorter={true} - defaultSortOrder={defaultSortOrder("comment")} + defaultSortOrder={getSortOrderForField(sorters_initial, "comment")} /> s.field === field); + if (sorter) { + return sorter.order === "asc" ? "ascend" : "descend"; + } + return undefined; +}