UNPKG

xdesign-vue-next

Version:

XDesign Component for vue-next

1 lines 7.43 kB
{"version":3,"file":"Cell.mjs","sources":["../../../src/date-picker/base/Cell.tsx"],"sourcesContent":["import { defineComponent, computed } from 'vue';\nimport { usePrefixClass } from '../../hooks/useConfig';\nimport { extractTimeObj } from '../../_common/js/date-picker/utils';\nimport { Dayjs } from 'dayjs';\n\nexport default defineComponent({\n name: 'XDatePickerCell',\n props: {\n time: String,\n text: [String, Number],\n value: Date,\n active: Boolean,\n highlight: Boolean,\n disabled: Boolean,\n startOfRange: Boolean,\n endOfRange: Boolean,\n hoverHighlight: Boolean,\n hoverStartOfRange: Boolean,\n hoverEndOfRange: Boolean,\n additional: Boolean,\n now: Boolean,\n firstDayOfMonth: Boolean,\n lastDayOfMonth: Boolean,\n onClick: Function,\n onMouseEnter: Function,\n dayjsObj: Dayjs,\n },\n setup(props) {\n const COMPONENT_NAME = usePrefixClass('date-picker__cell');\n\n const cellClass = computed(() => [\n COMPONENT_NAME.value,\n {\n [`${COMPONENT_NAME.value}--now`]: props.now,\n [`${COMPONENT_NAME.value}--active`]: props.active,\n [`${COMPONENT_NAME.value}--disabled`]: props.disabled,\n [`${COMPONENT_NAME.value}--highlight`]: props.highlight,\n [`${COMPONENT_NAME.value}--hover-highlight`]: props.hoverHighlight,\n [`${COMPONENT_NAME.value}--active-start`]: props.startOfRange,\n [`${COMPONENT_NAME.value}--active-end`]: props.endOfRange,\n [`${COMPONENT_NAME.value}--hover-start`]: props.hoverStartOfRange,\n [`${COMPONENT_NAME.value}--hover-end`]: props.hoverEndOfRange,\n [`${COMPONENT_NAME.value}--additional`]: props.additional,\n [`${COMPONENT_NAME.value}--first-day-of-month`]: props.firstDayOfMonth,\n [`${COMPONENT_NAME.value}--last-day-of-month`]: props.lastDayOfMonth,\n },\n ]);\n\n function handleClick(e: MouseEvent) {\n if (props.disabled) return;\n if (props.time) {\n const { hours, minutes, seconds, milliseconds, meridiem } = extractTimeObj(props.time);\n // am pm 12小时制转化 24小时制\n let nextHours = hours;\n if (/am/i.test(meridiem) && nextHours === 12) nextHours -= 12;\n if (/pm/i.test(meridiem) && nextHours < 12) nextHours += 12;\n props.value.setHours(nextHours);\n props.value.setMinutes(minutes);\n props.value.setSeconds(seconds);\n props.value.setMilliseconds(milliseconds);\n }\n props.onClick?.(props.value, { e });\n }\n\n function handleMouseEnter() {\n if (props.disabled) return;\n if (props.time) {\n const { hours, minutes, seconds, milliseconds, meridiem } = extractTimeObj(props.time);\n // am pm 12小时制转化 24小时制\n let nextHours = hours;\n if (/am/i.test(meridiem) && nextHours === 12) nextHours -= 12;\n if (/pm/i.test(meridiem) && nextHours < 12) nextHours += 12;\n props.value.setHours(nextHours);\n props.value.setMinutes(minutes);\n props.value.setSeconds(seconds);\n props.value.setMilliseconds(milliseconds);\n }\n props.onMouseEnter?.(props.value);\n }\n\n return () => (\n <td class={cellClass.value} onClick={handleClick} onMouseenter={handleMouseEnter}>\n <div class={`${COMPONENT_NAME.value}-inner`}>{props.text}</div>\n </td>\n );\n },\n});\n"],"names":["name","props","time","text","value","active","highlight","disabled","startOfRange","endOfRange","hoverHighlight","hoverStartOfRange","hoverEndOfRange","additional","now","firstDayOfMonth","lastDayOfMonth","onClick","onMouseEnter","dayjsObj","e","_createVNode"],"mappings":"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"}