UNPKG

element-plus

Version:

A Component Library for Vue 3

1 lines 21.2 kB
{"version":3,"file":"panel-month-range.mjs","sources":["../../../../../../../packages/components/date-picker/src/date-picker-com/panel-month-range.vue"],"sourcesContent":["<template>\n <div\n class=\"el-picker-panel el-date-range-picker\"\n :class=\"[\n {\n 'has-sidebar': $slots.sidebar || hasShortcuts,\n },\n ]\"\n >\n <div class=\"el-picker-panel__body-wrapper\">\n <slot name=\"sidebar\" class=\"el-picker-panel__sidebar\" />\n <div v-if=\"hasShortcuts\" class=\"el-picker-panel__sidebar\">\n <button\n v-for=\"(shortcut, key) in shortcuts\"\n :key=\"key\"\n type=\"button\"\n class=\"el-picker-panel__shortcut\"\n @click=\"handleShortcutClick(shortcut)\"\n >\n {{ shortcut.text }}\n </button>\n </div>\n <div class=\"el-picker-panel__body\">\n <div\n class=\"el-picker-panel__content el-date-range-picker__content is-left\"\n >\n <div class=\"el-date-range-picker__header\">\n <button\n type=\"button\"\n class=\"el-picker-panel__icon-btn d-arrow-left\"\n @click=\"leftPrevYear\"\n >\n <el-icon><d-arrow-left /></el-icon>\n </button>\n <button\n v-if=\"unlinkPanels\"\n type=\"button\"\n :disabled=\"!enableYearArrow\"\n :class=\"{ 'is-disabled': !enableYearArrow }\"\n class=\"el-picker-panel__icon-btn d-arrow-right\"\n @click=\"leftNextYear\"\n >\n <el-icon><d-arrow-right /></el-icon>\n </button>\n <div>{{ leftLabel }}</div>\n </div>\n <month-table\n selection-mode=\"range\"\n :date=\"leftDate\"\n :min-date=\"minDate\"\n :max-date=\"maxDate\"\n :range-state=\"rangeState\"\n :disabled-date=\"disabledDate\"\n @changerange=\"handleChangeRange\"\n @pick=\"handleRangePick\"\n @select=\"onSelect\"\n />\n </div>\n <div\n class=\"el-picker-panel__content el-date-range-picker__content is-right\"\n >\n <div class=\"el-date-range-picker__header\">\n <button\n v-if=\"unlinkPanels\"\n type=\"button\"\n :disabled=\"!enableYearArrow\"\n :class=\"{ 'is-disabled': !enableYearArrow }\"\n class=\"el-picker-panel__icon-btn d-arrow-left\"\n @click=\"rightPrevYear\"\n >\n <el-icon><d-arrow-left /></el-icon>\n </button>\n <button\n type=\"button\"\n class=\"el-picker-panel__icon-btn d-arrow-right\"\n @click=\"rightNextYear\"\n >\n <el-icon><d-arrow-right /></el-icon>\n </button>\n <div>{{ rightLabel }}</div>\n </div>\n <month-table\n selection-mode=\"range\"\n :date=\"rightDate\"\n :min-date=\"minDate\"\n :max-date=\"maxDate\"\n :range-state=\"rangeState\"\n :disabled-date=\"disabledDate\"\n @changerange=\"handleChangeRange\"\n @pick=\"handleRangePick\"\n @select=\"onSelect\"\n />\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, inject, ref, toRef, watch } from 'vue'\nimport dayjs from 'dayjs'\nimport ElIcon from '@element-plus/components/icon'\nimport { useLocale } from '@element-plus/hooks'\nimport { DArrowLeft, DArrowRight } from '@element-plus/icons-vue'\nimport MonthTable from './basic-month-table.vue'\n\nimport type { PropType } from 'vue'\nimport type { Dayjs } from 'dayjs'\n\nexport default defineComponent({\n components: { MonthTable, ElIcon, DArrowLeft, DArrowRight },\n\n props: {\n unlinkPanels: Boolean,\n parsedValue: {\n type: Array as PropType<Dayjs[]>,\n },\n },\n\n emits: ['pick', 'set-picker-option'],\n\n setup(props, ctx) {\n const { t, lang } = useLocale()\n const leftDate = ref(dayjs().locale(lang.value))\n const rightDate = ref(dayjs().locale(lang.value).add(1, 'year'))\n\n const hasShortcuts = computed(() => !!shortcuts.length)\n\n const handleShortcutClick = (shortcut) => {\n const shortcutValues =\n typeof shortcut.value === 'function' ? shortcut.value() : shortcut.value\n if (shortcutValues) {\n ctx.emit('pick', [\n dayjs(shortcutValues[0]).locale(lang.value),\n dayjs(shortcutValues[1]).locale(lang.value),\n ])\n return\n }\n if (shortcut.onClick) {\n shortcut.onClick(ctx)\n }\n }\n\n const leftPrevYear = () => {\n leftDate.value = leftDate.value.subtract(1, 'year')\n if (!props.unlinkPanels) {\n rightDate.value = rightDate.value.subtract(1, 'year')\n }\n }\n\n const rightNextYear = () => {\n if (!props.unlinkPanels) {\n leftDate.value = leftDate.value.add(1, 'year')\n }\n rightDate.value = rightDate.value.add(1, 'year')\n }\n\n const leftNextYear = () => {\n leftDate.value = leftDate.value.add(1, 'year')\n }\n\n const rightPrevYear = () => {\n rightDate.value = rightDate.value.subtract(1, 'year')\n }\n const leftLabel = computed(() => {\n return `${leftDate.value.year()} ${t('el.datepicker.year')}`\n })\n\n const rightLabel = computed(() => {\n return `${rightDate.value.year()} ${t('el.datepicker.year')}`\n })\n\n const leftYear = computed(() => {\n return leftDate.value.year()\n })\n\n const rightYear = computed(() => {\n return rightDate.value.year() === leftDate.value.year()\n ? leftDate.value.year() + 1\n : rightDate.value.year()\n })\n\n const enableYearArrow = computed(() => {\n return props.unlinkPanels && rightYear.value > leftYear.value + 1\n })\n\n const minDate = ref(null)\n const maxDate = ref(null)\n\n const rangeState = ref({\n endDate: null,\n selecting: false,\n })\n\n const handleChangeRange = (val) => {\n rangeState.value = val\n }\n\n const handleRangePick = (val, close = true) => {\n // const defaultTime = props.defaultTime || []\n // const minDate_ = modifyWithTimeString(val.minDate, defaultTime[0])\n // const maxDate_ = modifyWithTimeString(val.maxDate, defaultTime[1])\n // todo\n const minDate_ = val.minDate\n const maxDate_ = val.maxDate\n if (maxDate.value === maxDate_ && minDate.value === minDate_) {\n return\n }\n maxDate.value = maxDate_\n minDate.value = minDate_\n\n if (!close) return\n handleConfirm()\n }\n\n const isValidValue = (value) => {\n return (\n Array.isArray(value) &&\n value &&\n value[0] &&\n value[1] &&\n value[0].valueOf() <= value[1].valueOf()\n )\n }\n\n const handleConfirm = (visible = false) => {\n if (isValidValue([minDate.value, maxDate.value])) {\n ctx.emit('pick', [minDate.value, maxDate.value], visible)\n }\n }\n\n const onSelect = (selecting) => {\n rangeState.value.selecting = selecting\n if (!selecting) {\n rangeState.value.endDate = null\n }\n }\n\n const formatToString = (value) => {\n return value.map((_) => _.format(format))\n }\n\n const getDefaultValue = () => {\n let start: Dayjs\n if (Array.isArray(defaultValue.value)) {\n const left = dayjs(defaultValue.value[0])\n let right = dayjs(defaultValue.value[1])\n if (!props.unlinkPanels) {\n right = left.add(1, 'year')\n }\n return [left, right]\n } else if (defaultValue.value) {\n start = dayjs(defaultValue.value)\n } else {\n start = dayjs()\n }\n start = start.locale(lang.value)\n return [start, start.add(1, 'year')]\n }\n\n // pickerBase.hub.emit('SetPickerOption', ['isValidValue', isValidValue])\n ctx.emit('set-picker-option', ['formatToString', formatToString])\n const pickerBase = inject('EP_PICKER_BASE') as any\n const { shortcuts, disabledDate, format } = pickerBase.props\n const defaultValue = toRef(pickerBase.props, 'defaultValue')\n\n watch(\n () => defaultValue.value,\n (val) => {\n if (val) {\n const defaultArr = getDefaultValue()\n leftDate.value = defaultArr[0]\n rightDate.value = defaultArr[1]\n }\n },\n { immediate: true }\n )\n\n watch(\n () => props.parsedValue,\n (newVal) => {\n if (newVal && newVal.length === 2) {\n minDate.value = newVal[0]\n maxDate.value = newVal[1]\n leftDate.value = minDate.value\n if (props.unlinkPanels && maxDate.value) {\n const minDateYear = minDate.value.year()\n const maxDateYear = maxDate.value.year()\n rightDate.value =\n minDateYear === maxDateYear\n ? maxDate.value.add(1, 'year')\n : maxDate.value\n } else {\n rightDate.value = leftDate.value.add(1, 'year')\n }\n } else {\n const defaultArr = getDefaultValue()\n minDate.value = null\n maxDate.value = null\n leftDate.value = defaultArr[0]\n rightDate.value = defaultArr[1]\n }\n },\n { immediate: true }\n )\n\n return {\n shortcuts,\n disabledDate,\n onSelect,\n handleRangePick,\n rangeState,\n handleChangeRange,\n minDate,\n maxDate,\n enableYearArrow,\n leftLabel,\n rightLabel,\n leftNextYear,\n leftPrevYear,\n rightNextYear,\n rightPrevYear,\n t,\n leftDate,\n rightDate,\n hasShortcuts,\n handleShortcutClick,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_createElementVNode","_renderSlot","_openBlock","_Fragment","_renderList","_toDisplayString","_createVNode","_withCtx"],"mappings":"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"}