element-plus
Version:
A Component Library for Vue 3
1 lines • 15.6 kB
Source Map (JSON)
{"version":3,"file":"panel-time-pick.mjs","sources":["../../../../../../../packages/components/time-picker/src/time-picker-com/panel-time-pick.vue"],"sourcesContent":["<template>\n <transition :name=\"transitionName\">\n <div v-if=\"actualVisible || visible\" :class=\"ns.b('panel')\">\n <div :class=\"[ns.be('panel', 'content'), { 'has-seconds': showSeconds }]\">\n <time-spinner\n ref=\"spinner\"\n :role=\"datetimeRole || 'start'\"\n :arrow-control=\"arrowControl\"\n :show-seconds=\"showSeconds\"\n :am-pm-mode=\"amPmMode\"\n :spinner-date=\"parsedValue\"\n :disabled-hours=\"disabledHours\"\n :disabled-minutes=\"disabledMinutes\"\n :disabled-seconds=\"disabledSeconds\"\n @change=\"handleChange\"\n @set-option=\"onSetOption\"\n @select-range=\"setSelectionRange\"\n />\n </div>\n <div :class=\"ns.be('panel', 'footer')\">\n <button\n type=\"button\"\n :class=\"[ns.be('panel', 'btn'), 'cancel']\"\n @click=\"handleCancel\"\n >\n {{ t('el.datepicker.cancel') }}\n </button>\n <button\n type=\"button\"\n :class=\"[ns.be('panel', 'btn'), 'confirm']\"\n @click=\"handleConfirm()\"\n >\n {{ t('el.datepicker.confirm') }}\n </button>\n </div>\n </div>\n </transition>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, inject, ref } from 'vue'\nimport dayjs from 'dayjs'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { isUndefined } from '@element-plus/utils'\nimport TimeSpinner from './basic-time-spinner.vue'\nimport { getAvailableArrs, useOldValue } from './useTimePicker'\n\nimport type { PropType } from 'vue'\nimport type { Dayjs } from 'dayjs'\n\nexport default defineComponent({\n components: {\n TimeSpinner,\n },\n\n props: {\n visible: Boolean,\n actualVisible: {\n type: Boolean,\n default: undefined,\n },\n datetimeRole: {\n type: String,\n },\n parsedValue: {\n type: [Object, String] as PropType<string | Dayjs>,\n },\n format: {\n type: String,\n default: '',\n },\n },\n\n emits: ['pick', 'select-range', 'set-picker-option'],\n\n setup(props, ctx) {\n const ns = useNamespace('time')\n const { t, lang } = useLocale()\n // data\n const selectionRange = ref([0, 2])\n const oldValue = useOldValue(props)\n // computed\n const transitionName = computed(() => {\n return isUndefined(props.actualVisible)\n ? `${ns.namespace.value}-zoom-in-top`\n : ''\n })\n const showSeconds = computed(() => {\n return props.format.includes('ss')\n })\n const amPmMode = computed(() => {\n if (props.format.includes('A')) return 'A'\n if (props.format.includes('a')) return 'a'\n return ''\n })\n // method\n const isValidValue = (_date: Dayjs) => {\n const parsedDate = dayjs(_date).locale(lang.value)\n const result = getRangeAvailableTime(parsedDate)\n return parsedDate.isSame(result)\n }\n const handleCancel = () => {\n ctx.emit('pick', oldValue.value, false)\n }\n const handleConfirm = (visible = false, first = false) => {\n if (first) return\n ctx.emit('pick', props.parsedValue, visible)\n }\n const handleChange = (_date: Dayjs) => {\n // visible avoids edge cases, when use scrolls during panel closing animation\n if (!props.visible) {\n return\n }\n const result = getRangeAvailableTime(_date).millisecond(0)\n ctx.emit('pick', result, true)\n }\n\n const setSelectionRange = (start, end) => {\n ctx.emit('select-range', start, end)\n selectionRange.value = [start, end]\n }\n\n const changeSelectionRange = (step: number) => {\n const list = [0, 3].concat(showSeconds.value ? [6] : [])\n const mapping = ['hours', 'minutes'].concat(\n showSeconds.value ? ['seconds'] : []\n )\n const index = list.indexOf(selectionRange.value[0])\n const next = (index + step + list.length) % list.length\n timePickerOptions['start_emitSelectRange'](mapping[next])\n }\n\n const handleKeydown = (event: KeyboardEvent) => {\n const code = event.code\n\n if (code === EVENT_CODE.left || code === EVENT_CODE.right) {\n const step = code === EVENT_CODE.left ? -1 : 1\n changeSelectionRange(step)\n event.preventDefault()\n return\n }\n\n if (code === EVENT_CODE.up || code === EVENT_CODE.down) {\n const step = code === EVENT_CODE.up ? -1 : 1\n timePickerOptions['start_scrollDown'](step)\n event.preventDefault()\n return\n }\n }\n\n const getRangeAvailableTime = (date: Dayjs) => {\n const availableMap = {\n hour: getAvailableHours,\n minute: getAvailableMinutes,\n second: getAvailableSeconds,\n }\n let result = date\n ;['hour', 'minute', 'second'].forEach((_) => {\n if (availableMap[_]) {\n let availableArr\n const method = availableMap[_]\n if (_ === 'minute') {\n availableArr = method(result.hour(), props.datetimeRole)\n } else if (_ === 'second') {\n availableArr = method(\n result.hour(),\n result.minute(),\n props.datetimeRole\n )\n } else {\n availableArr = method(props.datetimeRole)\n }\n if (\n availableArr &&\n availableArr.length &&\n !availableArr.includes(result[_]())\n ) {\n result = result[_](availableArr[0])\n }\n }\n })\n return result\n }\n\n const parseUserInput = (value: Dayjs) => {\n if (!value) return null\n return dayjs(value, props.format).locale(lang.value)\n }\n\n const formatToString = (value: Dayjs) => {\n if (!value) return null\n return value.format(props.format)\n }\n\n const getDefaultValue = () => {\n return dayjs(defaultValue).locale(lang.value)\n }\n\n ctx.emit('set-picker-option', ['isValidValue', isValidValue])\n ctx.emit('set-picker-option', ['formatToString', formatToString])\n ctx.emit('set-picker-option', ['parseUserInput', parseUserInput])\n ctx.emit('set-picker-option', ['handleKeydown', handleKeydown])\n ctx.emit('set-picker-option', [\n 'getRangeAvailableTime',\n getRangeAvailableTime,\n ])\n ctx.emit('set-picker-option', ['getDefaultValue', getDefaultValue])\n const timePickerOptions = {} as any\n const onSetOption = (e) => {\n timePickerOptions[e[0]] = e[1]\n }\n const pickerBase = inject('EP_PICKER_BASE') as any\n const {\n arrowControl,\n disabledHours,\n disabledMinutes,\n disabledSeconds,\n defaultValue,\n } = pickerBase.props\n const { getAvailableHours, getAvailableMinutes, getAvailableSeconds } =\n getAvailableArrs(disabledHours, disabledMinutes, disabledSeconds)\n\n return {\n ns,\n\n transitionName,\n arrowControl,\n onSetOption,\n t,\n handleConfirm,\n handleChange,\n setSelectionRange,\n amPmMode,\n showSeconds,\n handleCancel,\n disabledHours,\n disabledMinutes,\n disabledSeconds,\n }\n },\n})\n</script>\n"],"names":["_createBlock","_Transition","_withCtx","_createElementBlock","_normalizeClass","_createElementVNode","_createVNode","_toDisplayString"],"mappings":"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"}