mirror of
https://github.com/pawelmalak/flame.git
synced 2026-03-08 05:23:11 +08:00
Sorting settings. Sort apps on change/add/update
This commit is contained in:
29
client/src/utility/sortData.ts
Normal file
29
client/src/utility/sortData.ts
Normal 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;
|
||||
}
|
||||
Reference in New Issue
Block a user