Подправлен code style

makeActionHandler экспортирован из components/Table
This commit is contained in:
goodmice 2021-12-07 19:42:42 +05:00
parent 91a9bf9c9f
commit 741449fb99
3 changed files with 29 additions and 35 deletions

View File

@ -4,7 +4,7 @@ import { OptionsType } from 'rc-select/lib/interface'
import { tryAddKeys } from './EditableTable' import { tryAddKeys } from './EditableTable'
import { makeNumericSorter, makeStringSorter} from './sorters' import { makeNumericSorter, makeStringSorter} from './sorters'
export { makeDateSorter, makeNumericSorter, makeStringSorter} from './sorters' export { makeDateSorter, makeNumericSorter, makeStringSorter} from './sorters'
export { EditableTable } from './EditableTable' export { EditableTable, makeActionHandler } from './EditableTable'
export { DatePickerWrapper } from './DatePickerWrapper' export { DatePickerWrapper } from './DatePickerWrapper'
export { SelectFromDictionary } from './SelectFromDictionary' export { SelectFromDictionary } from './SelectFromDictionary'

View File

@ -1,33 +1,27 @@
export const makeNumericSorter = (key: string) => (a: any, b: any) => a[key] - b[key]; export const makeNumericSorter = (key: string) => (a: any, b: any) => Number(a[key]) - Number(b[key])
export const makeStringSorter = (key: string) => (a: any, b: any) => { export const makeStringSorter = (key: string) => (a: any, b: any) => {
if (a == null && b == null) if (a == null) return 1
return 1; if (b == null) return -1
if (a == null) const aValue = a[key]
return 1; const bValue = b[key]
if (b == null)
return -1;
let aValue = a[key];
let bValue = b[key];
for (let i = 0; i < a.length; i++) { for (let i = 0; i < a.length; i++) {
if (isNaN(aValue.charCodeAt(i)) || (aValue.charCodeAt(i) > bValue.charCodeAt(i))) if (isNaN(aValue.charCodeAt(i)) || (aValue.charCodeAt(i) > bValue.charCodeAt(i)))
return 1; return 1
if (aValue.charCodeAt(i) > bValue.charCodeAt(i)) if (aValue.charCodeAt(i) > bValue.charCodeAt(i))
return -1; return -1
} }
return 0; return 0
}; }
export const makeDateSorter = (key: string) => (a: any, b: any) => { export const makeDateSorter = (key: string) => (a: any, b: any) => {
const date = new Date(a[key]); const date = new Date(a[key])
if (Number.isNaN(date.getTime())) if (Number.isNaN(date.getTime()))
throw new Error('Date column contains not date formatted string(s)'); throw new Error('Date column contains not date formatted string(s)')
return date.getTime() - new Date(b[key]).getTime(); return date.getTime() - new Date(b[key]).getTime()
}; }