/
githubmirror
/
ydb-embedded-ui
Обзор
Документация
Войти
/
githubmirror
/
ydb-embedded-ui
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/components/DateRange/utils.ts
46 строк
2 KB
Anton Standrik
feat: use date pickers from date-components (#1031)
22 июл 2024, 13:11
Не верифицирован
22 июл 2024, 13:11
dbb5ba7
Код
Авторство
О чём код?
import type {RelativeRangeDatePickerProps} from '@gravity-ui/date-components'; import {dateTimeParse, isLikeRelative} from '@gravity-ui/date-utils'; import type {DateRangeValues} from './DateRange'; export function fromDateRangeValues(value: DateRangeValues): RelativeRangeDatePickerProps['value'] { const isFromRelative = isLikeRelative(value.from ?? ''); const isToRelative = isLikeRelative(value.to ?? ''); return { start: value.from ? { type: isFromRelative ? 'relative' : 'absolute', value: isFromRelative ? value.from : dateTimeParse(Number(value.from)), } : null, end: value.to ? { type: isToRelative ? 'relative' : 'absolute', value: isToRelative ? value.to : dateTimeParse(Number(value.to)), } : null, } as RelativeRangeDatePickerProps['value']; } export function toDateRangeValues(value: RelativeRangeDatePickerProps['value']): DateRangeValues { return { from: value?.start?.type === 'relative' ? value.start.value.toString() : String(dateTimeParse(value?.start?.value)?.valueOf()), to: value?.end?.type === 'relative' ? value.end.value.toString() : String(dateTimeParse(value?.end?.value)?.valueOf()), }; } export function getdatePickerSize(value: RelativeRangeDatePickerProps['value']) { if (value?.start?.type === 'relative' && value?.end?.type === 'relative') { return 's'; } else if (value?.start?.type === 'relative' || value?.end?.type === 'relative') { return 'm'; } return 'l'; }