You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

0 lines
24 KiB

1 month ago
  1. {"ast":null,"code":"import { defineComponent, ref, computed, watch, nextTick, openBlock, createElementBlock, unref, normalizeClass, createElementVNode, Fragment, renderList, withKeys, withModifiers, createVNode } from 'vue';\nimport dayjs from 'dayjs';\nimport { basicYearTableProps } from '../props/basic-year-table.mjs';\nimport { getValidDateOfYear } from '../utils.mjs';\nimport ElDatePickerCell from './basic-cell-render.mjs';\nimport _export_sfc from '../../../../_virtual/plugin-vue_export-helper.mjs';\nimport { useNamespace } from '../../../../hooks/use-namespace/index.mjs';\nimport { useLocale } from '../../../../hooks/use-locale/index.mjs';\nimport { castArray } from '../../../../utils/arrays.mjs';\nimport { rangeArr } from '../../../time-picker/src/utils.mjs';\nimport { hasClass } from '../../../../utils/dom/style.mjs';\nconst _sfc_main = /* @__PURE__ */defineComponent({\n __name: \"basic-year-table\",\n props: basicYearTableProps,\n emits: [\"changerange\", \"pick\", \"select\"],\n setup(__props, {\n expose,\n emit\n }) {\n const props = __props;\n const datesInYear = (year, lang2) => {\n const firstDay = dayjs(String(year)).locale(lang2).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 const ns = useNamespace(\"year-table\");\n const {\n t,\n lang\n } = useLocale();\n const tbodyRef = ref();\n const currentCellRef = ref();\n const startYear = computed(() => {\n return Math.floor(props.date.year() / 10) * 10;\n });\n const tableRows = ref([[], [], []]);\n const lastRow = ref();\n const lastColumn = ref();\n const rows = computed(() => {\n var _a;\n const rows2 = tableRows.value;\n const now = dayjs().locale(lang.value).startOf(\"year\");\n for (let i = 0; i < 3; i++) {\n const row = rows2[i];\n for (let j = 0; j < 4; j++) {\n if (i * 4 + j >= 10) {\n break;\n }\n let cell = row[j];\n if (!cell) {\n cell = {\n row: i,\n column: j,\n type: \"normal\",\n inRange: false,\n start: false,\n end: false,\n text: -1,\n disabled: false\n };\n }\n cell.type = \"normal\";\n const index = i * 4 + j + startYear.value;\n const calTime = dayjs().year(index);\n const calEndDate = props.rangeState.endDate || props.maxDate || props.rangeState.selecting && props.minDate || null;\n cell.inRange = !!(props.minDate && calTime.isSameOrAfter(props.minDate, \"year\") && calEndDate && calTime.isSameOrBefore(calEndDate, \"year\")) || !!(props.minDate && calTime.isSameOrBefore(props.minDate, \"year\") && calEndDate && calTime.isSameOrAfter(calEndDate, \"year\"));\n if ((_a = props.minDate) == null ? void 0 : _a.isSameOrAfter(calEndDate)) {\n cell.start = !!(calEndDate && calTime.isSame(calEndDate, \"year\"));\n cell.end = !!(props.minDate && calTime.isSame(props.minDate, \"year\"));\n } else {\n cell.start = !!(props.minDate && calTime.isSame(props.minDate, \"year\"));\n cell.end = !!(calEndDate && calTime.isSame(calEndDate, \"year\"));\n }\n const isToday = now.isSame(calTime);\n if (isToday) {\n cell.type = \"today\";\n }\n cell.text = index;\n const cellDate = calTime.toDate();\n cell.disabled = props.disabledDate && props.disabledDate(cellDate) || false;\n row[j] = cell;\n }\n }\n return rows2;\n });\n const focus = () => {\n var _a;\n (_a = currentCellRef.value) == null ? void 0 : _a.focus();\n };\n const getCellKls = cell => {\n const kls = {};\n const today = dayjs().locale(lang.value);\n const year = cell.text;\n kls.disabled = props.disabledDate ? datesInYe