UNPKG

zent

Version:

一套前端设计语言和基于React的实现

80 lines (74 loc) 1.71 kB
import { formatDate } from './index'; import { IValueType, IGenerateDateConfig, IWeekOption, SingleDate, RangeDate, DateNullTuple, } from '../types'; import { getRangeValuesWithValueType } from './getValueInRangePicker'; /** * 根据选择日期获取可用的选中日期 * 主要用于周组件 * @param value * @param dateConfig * @param options */ export function getSelectedValueWithDate( value: Date, dateConfig: IGenerateDateConfig, options: IWeekOption ): Date | null { const onChangeValue = null; if (!value) return onChangeValue; const { startDate } = dateConfig; return startDate(value, options); } /** * 处理回调函数日期值 * @param value * @param valueType * @param format */ export function getCallbackValueWithDate( value: Date, valueType: IValueType, format: string ): SingleDate { switch (valueType) { case 'string': { return formatDate(format, value); } case 'number': { return value.getTime(); } default: return value; } } /** * 处理回调函数日期范围 * 主要用于周、月、季度、年 * @param value * @param valueType * @param format * @param dateConfig * @param options */ export function getCallbackValueRangeWithDate( value: Date, valueType: IValueType, format: string, dateConfig: IGenerateDateConfig, options?: IWeekOption ): RangeDate { let onChangeValue: DateNullTuple; const { startDate, endDate } = dateConfig; if (options) { onChangeValue = [startDate(value, options), endDate(value, options)]; } else { onChangeValue = [startDate(value), endDate(value)]; } return getRangeValuesWithValueType(valueType, format, onChangeValue); }