Sorting settings. Sort apps on change/add/update

This commit is contained in:
unknown
2021-06-18 10:38:05 +02:00
parent 8974fb3b49
commit 754dc3a7b9
9 changed files with 124 additions and 27 deletions

View File

@@ -0,0 +1,29 @@
interface Data {
name: string;
orderId: number;
createdAt: Date;
}
export const sortData = <T extends Data>(array: T[], field: string): T[] => {
const sortedData = array.slice();
if (field === 'name') {
sortedData.sort((a: T, b: T) => {
return a.name.localeCompare(b.name, 'en', { sensitivity: 'base' })
})
} else if (field === 'orderId') {
sortedData.sort((a: T, b: T) => {
if (a.orderId < b.orderId) { return -1 }
if (a.orderId > b.orderId) { return 1 }
return 0;
})
} else {
sortedData.sort((a: T, b: T) => {
if (a.createdAt < b.createdAt) { return -1 }
if (a.createdAt > b.createdAt) { return 1 }
return 0;
})
}
return sortedData;
}