UNPKG

tdesign-vue-next

Version:
1 lines 19.1 kB
{"version":3,"file":"time-range-picker.mjs","sources":["../../../components/time-picker/time-range-picker.tsx"],"sourcesContent":["import { defineComponent, ref, toRefs, watch, computed } from 'vue';\nimport dayjs from 'dayjs';\nimport { isArray } from 'lodash-es';\nimport customParseFormat from 'dayjs/plugin/customParseFormat';\nimport { TimeIcon as TdTimeIcon } from 'tdesign-icons-vue-next';\n\nimport { RangeInputPopup, RangeInputPosition } from '../range-input';\nimport TimePickerPanel from './panel/time-picker-panel';\n\nimport { TIME_PICKER_EMPTY } from '@tdesign/common-js/time-picker/const';\nimport { formatInputValue, validateInputValue } from '@tdesign/common-js/time-picker/utils';\n\n// interfaces\nimport props from './time-range-picker-props';\nimport { TimeRangeValue } from './types';\nimport { TimeRangePickerPartial } from './type';\n// hooks\nimport useVModel from '../hooks/useVModel';\nimport { useCommonClassName, useConfig, usePrefixClass } from '../hooks/useConfig';\nimport { useGlobalIcon } from '../hooks/useGlobalIcon';\nimport { useDisabled } from '../hooks/useDisabled';\nimport { useReadonly } from '../hooks/useReadonly';\n\ndayjs.extend(customParseFormat);\n\nexport default defineComponent({\n name: 'TTimeRangePicker',\n props: { ...props, rangeInputProps: Object, popupProps: Object },\n setup(props) {\n const COMPONENT_NAME = usePrefixClass('time-range-picker');\n const { globalConfig } = useConfig('timePicker');\n const { STATUS } = useCommonClassName();\n const { TimeIcon } = useGlobalIcon({ TimeIcon: TdTimeIcon });\n\n const disabled = useDisabled();\n const currentPanelIdx = ref(undefined);\n const currentValue = ref<Array<string>>(TIME_PICKER_EMPTY);\n const isShowPanel = ref(false);\n const isReadOnly = useReadonly();\n\n const inputClasses = computed(() => [\n `${COMPONENT_NAME.value}__group`,\n {\n [STATUS.value.focused]: isShowPanel.value,\n },\n ]);\n const { value, modelValue, allowInput, format } = toRefs(props);\n const [innerValue, setInnerValue] = useVModel(value, modelValue, props.defaultValue, props.onChange as any);\n\n const handleShowPopup = (visible: boolean, context: any) => {\n if (isReadOnly.value) return;\n // 输入框点击不关闭面板\n if (context.trigger === 'trigger-element-click') {\n isShowPanel.value = true;\n return;\n }\n isShowPanel.value = visible;\n };\n\n const handleClear = (context: { e: MouseEvent }) => {\n const { e } = context;\n e.stopPropagation();\n currentValue.value = TIME_PICKER_EMPTY;\n setInnerValue(null);\n };\n\n const handleClick = ({ position }: { position: 'first' | 'second' }) => {\n currentPanelIdx.value = position === 'first' ? 0 : 1;\n };\n\n const handleTimeChange = (newValue: string | string[], e: MouseEvent) => {\n if (isArray(newValue)) {\n currentValue.value = newValue;\n } else if (currentPanelIdx.value === 0) {\n currentValue.value = [newValue, currentValue.value[1] ?? newValue];\n } else {\n currentValue.value = [currentValue.value[0] ?? newValue, newValue];\n }\n handleOnPick(newValue, e);\n };\n\n const handleInputBlur = (value: TimeRangeValue, { e }: { e: FocusEvent }) => {\n if (allowInput.value) {\n const isValidTime = validateInputValue(currentValue.value[currentPanelIdx.value], format.value);\n if (isValidTime) {\n const formattedVal = formatInputValue(currentValue.value[currentPanelIdx.value], format.value);\n currentPanelIdx.value === 0\n ? (currentValue.value = [formattedVal, currentValue.value[1] ?? formattedVal])\n : (currentValue.value = [currentValue.value[0] ?? formattedVal, formattedVal]);\n }\n }\n props.onBlur?.({ value, e });\n };\n\n const handleInputChange = (\n inputVal: TimeRangeValue,\n { e, position }: { e: InputEvent; position: RangeInputPosition },\n ) => {\n currentValue.value = inputVal;\n props.onInput?.({ value: innerValue.value, e, position: position === 'first' ? 'start' : 'end' });\n };\n\n const handleClickConfirm = () => {\n const isValidTime = !currentValue.value.find((v) => !validateInputValue(v, format.value));\n if (isValidTime) setInnerValue(currentValue.value);\n if (props.autoSwap) autoSwapTime();\n isShowPanel.value = false;\n };\n\n const handleFocus = (value: TimeRangeValue, { e, position }: { e: FocusEvent; position: RangeInputPosition }) => {\n props.onFocus?.({ value, e, position: position === 'first' ? 'start' : 'end' });\n };\n\n const autoSwapTime = () => {\n const [startTime, endTime] = currentValue.value;\n const startDayjs = dayjs(startTime, props.format);\n const endDayjs = dayjs(endTime, props.format);\n\n if (startDayjs.isAfter(endDayjs, 'second')) {\n setInnerValue([currentValue.value[1], currentValue.value[0]]);\n } else {\n setInnerValue([currentValue.value[0], currentValue.value[1]]);\n }\n };\n\n const handleOnPick = (pickValue: string | string[], e: MouseEvent) => {\n let pickedRangeValue = [];\n let context;\n if (isArray(pickValue)) {\n pickedRangeValue = pickValue;\n context = { e };\n } else if (currentPanelIdx.value === 0) {\n pickedRangeValue = [pickValue, currentValue.value[1] ?? pickValue];\n context = { e, position: 'start' as TimeRangePickerPartial };\n } else {\n pickedRangeValue = [currentValue.value[0] ?? pickValue, pickValue];\n context = { e, position: 'end' as TimeRangePickerPartial };\n }\n props.onPick?.(pickedRangeValue, context);\n };\n\n watch(\n () => isShowPanel.value,\n () => {\n currentValue.value = isShowPanel.value ? innerValue.value ?? TIME_PICKER_EMPTY : TIME_PICKER_EMPTY;\n if (!isShowPanel.value) currentPanelIdx.value = undefined;\n },\n );\n\n return () => (\n <div class={COMPONENT_NAME.value}>\n <RangeInputPopup\n disabled={disabled.value}\n popupVisible={isShowPanel.value}\n popupProps={{\n overlayInnerStyle: {\n width: 'auto',\n padding: 0,\n },\n onVisibleChange: handleShowPopup,\n ...props.popupProps,\n }}\n onInputChange={handleInputChange}\n inputValue={isShowPanel.value ? currentValue.value : innerValue.value ?? TIME_PICKER_EMPTY}\n rangeInputProps={{\n size: props.size,\n clearable: props.clearable,\n class: inputClasses.value,\n value: isShowPanel.value ? currentValue.value : innerValue.value ?? undefined,\n placeholder: props.placeholder || [globalConfig.value.placeholder, globalConfig.value.placeholder],\n borderless: props.borderless,\n suffixIcon: () => <TimeIcon />,\n onClear: handleClear,\n onClick: handleClick,\n onFocus: handleFocus,\n onBlur: handleInputBlur,\n readonly: isReadOnly.value || !allowInput.value,\n activeIndex: currentPanelIdx.value,\n ...props.rangeInputProps,\n }}\n label={props.label}\n status={props.status}\n tips={props.tips}\n panel={() => (\n <TimePickerPanel\n steps={props.steps}\n format={format.value}\n isShowPanel={isShowPanel.value}\n disableTime={props.disableTime}\n hideDisabledTime={props.hideDisabledTime}\n isFooterDisplay={true}\n value={currentValue.value[currentPanelIdx.value || 0]}\n onChange={handleTimeChange}\n onPick={handleOnPick}\n handleConfirmClick={handleClickConfirm}\n position={currentPanelIdx.value === 0 ? 'start' : 'end'}\n activeIndex={currentPanelIdx.value}\n presets={props.presets}\n />\n )}\n />\n </div>\n );\n },\n});\n"],"names":["dayjs","extend","customParseFormat","defineComponent","name","props","rangeInputProps","Object","popupProps","setup","COMPONENT_NAME","usePrefixClass","_useConfig","useConfig","globalConfig","_useCommonClassName","useCommonClassName","STATUS","_useGlobalIcon","useGlobalIcon","TimeIcon","TdTimeIcon","disabled","useDisabled","currentPanelIdx","ref","currentValue","TIME_PICKER_EMPTY","isShowPanel","isReadOnly","useReadonly","inputClasses","computed","concat","value","_defineProperty","focused","_toRefs","toRefs","modelValue","allowInput","format","_useVModel","useVModel","defaultValue","onChange","_useVModel2","_slicedToArray","innerValue","setInnerValue","handleShowPopup","visible","context","trigger","handleClear","e","stopPropagation","handleClick","_ref2","position","handleTimeChange","newValue","isArray","_currentValue$value$","_currentValue$value$2","handleOnPick","handleInputBlur","_ref3","_props2$onBlur","isValidTime","validateInputValue","_currentValue$value$3","_currentValue$value$4","formattedVal","formatInputValue","onBlur","handleInputChange","inputVal","_ref4","_props2$onInput","onInput","handleClickConfirm","find","v","autoSwap","autoSwapTime","handleFocus","_props2$onFocus","_ref5","onFocus","_currentValue$value","startTime","endTime","startDayjs","endDayjs","isAfter","pickValue","_props2$onPick","pickedRangeValue","_currentValue$value$5","_currentValue$value$6","onPick","watch","_innerValue$value","_innerValue$value2","_innerValue$value3","_createVNode","RangeInputPopup","overlayInnerStyle","width","padding","onVisibleChange","_objectSpread","size","clearable","placeholder","borderless","suffixIcon","onClear","onClick","readonly","activeIndex","label","status","tips","panel","TimePickerPanel","steps","disableTime","hideDisabledTime","presets"],"mappings":"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"}