From 1388300b206c6f918b2ea10e864e4ea6e4edffdc Mon Sep 17 00:00:00 2001 From: "Collin M. Barrett" Date: Sat, 31 Aug 2019 10:02:49 -0500 Subject: [PATCH] mv arraySorter to separate file --- .../src/components/listsTable/ListsTable.tsx | 22 ++----------------- .../src/components/listsTable/arraySorter.ts | 17 ++++++++++++++ 2 files changed, 19 insertions(+), 20 deletions(-) create mode 100644 src/FilterLists.Web.V2/src/components/listsTable/arraySorter.ts diff --git a/src/FilterLists.Web.V2/src/components/listsTable/ListsTable.tsx b/src/FilterLists.Web.V2/src/components/listsTable/ListsTable.tsx index 8ecf154f0..c15325d5b 100644 --- a/src/FilterLists.Web.V2/src/components/listsTable/ListsTable.tsx +++ b/src/FilterLists.Web.V2/src/components/listsTable/ListsTable.tsx @@ -13,6 +13,7 @@ import { LanguageCloud } from '../languageCloud'; import { ListInfoButton } from '../ListInfoButton'; import { ListInfoDrawer } from '../ListInfoDrawer'; import { TagCloud } from '../tagCloud'; +import { arraySorter } from './arraySorter'; import styles from './ListsTable.module.css'; export const ListsTable = (props: RouteComponentProps) => { @@ -92,23 +93,4 @@ export const ListsTable = (props: RouteComponentProps) => { }} /> ); -} - -interface ArraySortableEntity { - id: number; - name: string; -} - -const arraySorter = (a: number[], b: number[], entities: ArraySortableEntity[]): number => - a && a.length - ? b && b.length - ? a.length === b.length - ? entities.filter((e: ArraySortableEntity) => a.indexOf(e.id) > -1).map((e: ArraySortableEntity) => e.name).join().toLowerCase() - > entities.filter((e: ArraySortableEntity) => b.indexOf(e.id) > -1).map((e: ArraySortableEntity) => e.name).join().toLowerCase() - ? 1 - : -1 - : a.length > b.length - ? -1 - : 1 - : -1 - : 1; \ No newline at end of file +} \ No newline at end of file diff --git a/src/FilterLists.Web.V2/src/components/listsTable/arraySorter.ts b/src/FilterLists.Web.V2/src/components/listsTable/arraySorter.ts new file mode 100644 index 000000000..f6dfb8aee --- /dev/null +++ b/src/FilterLists.Web.V2/src/components/listsTable/arraySorter.ts @@ -0,0 +1,17 @@ +interface ArraySortableEntity { + id: number; + name: string; +} + +export const arraySorter = (a: number[], b: number[], entities: ArraySortableEntity[]): number => a && a.length + ? b && b.length + ? a.length === b.length + ? entities.filter((e: ArraySortableEntity) => a.indexOf(e.id) > -1).map((e: ArraySortableEntity) => e.name).join().toLowerCase() + > entities.filter((e: ArraySortableEntity) => b.indexOf(e.id) > -1).map((e: ArraySortableEntity) => e.name).join().toLowerCase() + ? 1 + : -1 + : a.length > b.length + ? -1 + : 1 + : -1 + : 1; \ No newline at end of file