UNPKG

element-plus

Version:

A Component Library for Vue 3

1 lines 9.37 kB
{"version":3,"file":"basic-year-table.mjs","sources":["../../../../../../../packages/components/date-picker/src/date-picker-com/basic-year-table.vue"],"sourcesContent":["<template>\n <table class=\"el-year-table\" @click=\"handleYearTableClick\">\n <tbody>\n <tr>\n <td class=\"available\" :class=\"getCellStyle(startYear + 0)\">\n <a class=\"cell\">{{ startYear }}</a>\n </td>\n <td class=\"available\" :class=\"getCellStyle(startYear + 1)\">\n <a class=\"cell\">{{ startYear + 1 }}</a>\n </td>\n <td class=\"available\" :class=\"getCellStyle(startYear + 2)\">\n <a class=\"cell\">{{ startYear + 2 }}</a>\n </td>\n <td class=\"available\" :class=\"getCellStyle(startYear + 3)\">\n <a class=\"cell\">{{ startYear + 3 }}</a>\n </td>\n </tr>\n <tr>\n <td class=\"available\" :class=\"getCellStyle(startYear + 4)\">\n <a class=\"cell\">{{ startYear + 4 }}</a>\n </td>\n <td class=\"available\" :class=\"getCellStyle(startYear + 5)\">\n <a class=\"cell\">{{ startYear + 5 }}</a>\n </td>\n <td class=\"available\" :class=\"getCellStyle(startYear + 6)\">\n <a class=\"cell\">{{ startYear + 6 }}</a>\n </td>\n <td class=\"available\" :class=\"getCellStyle(startYear + 7)\">\n <a class=\"cell\">{{ startYear + 7 }}</a>\n </td>\n </tr>\n <tr>\n <td class=\"available\" :class=\"getCellStyle(startYear + 8)\">\n <a class=\"cell\">{{ startYear + 8 }}</a>\n </td>\n <td class=\"available\" :class=\"getCellStyle(startYear + 9)\">\n <a class=\"cell\">{{ startYear + 9 }}</a>\n </td>\n <td />\n <td />\n </tr>\n </tbody>\n </table>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent } from 'vue'\nimport dayjs from 'dayjs'\nimport { useLocale } from '@element-plus/hooks'\nimport { rangeArr } from '@element-plus/components/time-picker'\nimport { castArray, hasClass } from '@element-plus/utils'\n\nimport type { PropType } from 'vue'\nimport type { Dayjs } from 'dayjs'\n\nconst datesInYear = (year: Dayjs, lang: string) => {\n const firstDay = dayjs(String(year)).locale(lang).startOf('year')\n const lastDay = firstDay.endOf('year')\n const numOfDays = lastDay.dayOfYear()\n return rangeArr(numOfDays).map((n) => firstDay.add(n, 'day').toDate())\n}\n\nexport default defineComponent({\n props: {\n disabledDate: {\n type: Function as PropType<(_: Date) => void>,\n },\n parsedValue: {\n type: Object as PropType<Dayjs>,\n },\n date: {\n type: Object as PropType<Dayjs>,\n },\n },\n\n emits: ['pick'],\n\n setup(props, ctx) {\n const { lang } = useLocale()\n const startYear = computed(() => {\n return Math.floor(props.date.year() / 10) * 10\n })\n const getCellStyle = (year) => {\n const style = {} as any\n const today = dayjs().locale(lang.value)\n\n style.disabled = props.disabledDate\n ? datesInYear(year, lang.value).every(props.disabledDate)\n : false\n\n style.current =\n castArray(props.parsedValue).findIndex((_) => _.year() === year) >= 0\n\n style.today = today.year() === year\n\n return style\n }\n\n const handleYearTableClick = (event: MouseEvent) => {\n const target = event.target as HTMLDivElement\n if (target.tagName === 'A') {\n if (hasClass((target as any).parentNode, 'disabled')) return\n const year = target.textContent || target.innerText\n ctx.emit('pick', Number(year))\n }\n }\n return {\n startYear,\n getCellStyle,\n handleYearTableClick,\n }\n },\n})\n</script>\n"],"names":["_createElementVNode","_createElementBlock","_normalizeClass","_toDisplayString"],"mappings":"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"}