Добавлен компонент для обработки диапозона дат

This commit is contained in:
Александр Сироткин 2022-03-01 11:34:15 +05:00
parent b40ad4921e
commit 45418da791

View File

@ -0,0 +1,34 @@
import { memo } from 'react'
import { DatePicker, } from 'antd'
import moment, { Moment } from 'moment'
import { RangeValue } from 'rc-picker/lib/interface'
import { RangePickerSharedProps } from 'rc-picker/lib/RangePicker'
import { defaultFormat } from '@utils'
const { RangePicker } = DatePicker
export type DateRangeWrapperProps = RangePickerSharedProps<Moment> & {
value: RangeValue<Moment>,
onChange: (date: RangeValue<Moment>) => any
isUTC?: boolean
}
const normalizeDates = (value: RangeValue<Moment>, isUTC?: boolean): RangeValue<Moment> => value && [
value[0] ? (isUTC ? moment.utc(value[0]).local() : moment(value[0])) : null,
value[1] ? (isUTC ? moment.utc(value[1]).local() : moment(value[1])) : null,
]
export const DateRangeWrapper = memo<DateRangeWrapperProps>(({ value, onChange, isUTC, ...other }) => (
<RangePicker
showTime
allowClear={false}
format={defaultFormat}
defaultValue={[moment().subtract(60000), moment()]}
onChange={(date) => onChange(date)}
value={normalizeDates(value)}
{...other}
/>
))
export default DateRangeWrapper