Added sorting helper functions for Table Header
This commit is contained in:
parent
ec630ee39b
commit
ee8e168657
|
@ -0,0 +1,30 @@
|
|||
// @flow
|
||||
const desc = (a, b, orderBy) => {
|
||||
if (b[orderBy] < a[orderBy]) {
|
||||
return -1
|
||||
}
|
||||
if (b[orderBy] > a[orderBy]) {
|
||||
return 1
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
export const stableSort = (array: any, cmp: any) => {
|
||||
const stabilizedThis = array.map((el, index) => [el, index])
|
||||
|
||||
stabilizedThis.sort((a, b) => {
|
||||
const order = cmp(a[0], b[0])
|
||||
if (order !== 0) {
|
||||
return order
|
||||
}
|
||||
|
||||
return a[1] - b[1]
|
||||
})
|
||||
|
||||
return stabilizedThis.map(el => el[0])
|
||||
}
|
||||
|
||||
export type Order = 'asc' | 'desc'
|
||||
|
||||
export const getSorting = (order: Order, orderBy: string) =>
|
||||
(order === 'desc' ? (a: any, b: any) => desc(a, b, orderBy) : (a: any, b: any) => -desc(a, b, orderBy))
|
Loading…
Reference in New Issue