UNPKG

tdesign-vue-next

Version:
1 lines 7.99 kB
{"version":3,"file":"calendar-cell.mjs","sources":["../../../components/calendar/calendar-cell.tsx"],"sourcesContent":["import { computed, defineComponent } from 'vue';\nimport dayjs from 'dayjs';\n\nimport { useContent, useCommonClassName } from '@tdesign/shared-hooks';\n\nimport { useCalendarCellClass } from './hooks';\n\n// 组件相关的自定义类型\nimport { CalendarCell } from './type';\n\nconst clickTypeEmitEventMap = {\n click: 'click',\n dblclick: 'dblclick',\n contextmenu: 'rightclick',\n};\n\nexport default defineComponent({\n name: `TCalendarCell`,\n inheritAttrs: false,\n props: {\n item: {\n type: Object,\n default: (): CalendarCell => null,\n },\n fillWithZero: {\n type: Boolean,\n default: undefined,\n },\n theme: {\n type: String,\n default: (): string => null,\n },\n t: Function,\n global: Object,\n cell: [String, Function],\n cellAppend: [String, Function],\n },\n emits: Object.values(clickTypeEmitEventMap),\n setup(props, { emit }) {\n const renderContent = useContent();\n const cls = useCalendarCellClass();\n const { STATUS } = useCommonClassName();\n\n const valueDisplay = computed<string>(() => {\n if (props.item.mode === 'month') {\n const dateNum = props.item.date.getDate();\n const fillZero = dateNum < 10 && (props.fillWithZero ?? props.global.fillWithZero ?? true);\n return fillZero ? `0${dateNum}` : dateNum;\n }\n const map = props.t(props.global.cellMonth).split(',');\n return map[props.item.date.getMonth().toString()];\n });\n const allowSlot = computed<boolean>(() => {\n return props.theme === 'full';\n });\n const disabled = computed<boolean>(() => {\n return props.item.mode === 'month' && props.item.belongTo !== 0;\n });\n const cellCls = computed(() => {\n const { mode, date, formattedDate, isCurrent } = props.item;\n const now = new Date();\n const isNow =\n mode === 'year'\n ? now.getMonth() === date.getMonth() && now.getFullYear() === date.getFullYear()\n : formattedDate === dayjs().format('YYYY-MM-DD');\n return [\n cls.tableBodyCell.value,\n {\n [STATUS.value.disabled]: disabled.value,\n [STATUS.value.checked]: isCurrent,\n [cls.tableBodyCell4Now.value]: isNow,\n },\n ];\n });\n const clickCell = (e: MouseEvent): void => {\n if (disabled.value) return;\n const emitName = clickTypeEmitEventMap[e.type as keyof typeof clickTypeEmitEventMap];\n emit(emitName, e);\n };\n\n const renderDefaultNode = () => (\n <>\n <div class={cls.tableBodyCellDisplay.value}>{valueDisplay.value}</div>\n <div class={cls.tableBodyCellCsontent.value}>\n {allowSlot.value &&\n renderContent('cellAppend', undefined, {\n params: { ...props.item },\n })}\n </div>\n </>\n );\n\n return () => {\n return (\n props.item && (\n <td class={cellCls.value} onClick={clickCell} onDblclick={clickCell} onContextmenu={clickCell}>\n {renderContent('cell', undefined, {\n defaultNode: renderDefaultNode(),\n params: { ...props.item },\n })}\n </td>\n )\n );\n };\n },\n});\n"],"names":["clickTypeEmitEventMap","click","dblclick","contextmenu","defineComponent","name","inheritAttrs","props","item","type","Object","default","fillWithZero","Boolean","theme","String","t","Function","global","cell","cellAppend","emits","values","setup","_ref","emit","renderContent","useContent","cls","useCalendarCellClass","_useCommonClassName","useCommonClassName","STATUS","valueDisplay","computed","mode","_ref2","_props$fillWithZero","dateNum","date","getDate","fillZero","concat","map","cellMonth","split","getMonth","toString","allowSlot","disabled","belongTo","cellCls","_props$item","formattedDate","isCurrent","now","Date","isNow","getFullYear","dayjs","format","tableBodyCell","value","_defineProperty","checked","tableBodyCell4Now","clickCell","e","emitName","renderDefaultNode","tableBodyCellDisplay","tableBodyCellCsontent","params","_objectSpread","_createVNode","defaultNode"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,IAAMA,qBAAwB,GAAA;AAC5BC,EAAAA,KAAO,EAAA,OAAA;AACPC,EAAAA,QAAU,EAAA,UAAA;AACVC,EAAAA,WAAa,EAAA,YAAA;AACf,CAAA,CAAA;AAEA,uBAAeC,eAAgB,CAAA;AAC7BC,EAAAA,IAAM,EAAA,eAAA;AACNC,EAAAA,YAAc,EAAA,KAAA;AACdC,EAAAA,KAAO,EAAA;AACLC,IAAAA,IAAM,EAAA;AACJC,MAAAA,IAAM,EAAAC,MAAA;MACN,SAAS,EAAA,SAATC;eAA6B,IAAA,CAAA;AAAA,OAAA;KAC/B;AACAC,IAAAA,YAAc,EAAA;AACZH,MAAAA,IAAM,EAAAI,OAAA;AACN,MAAA,SAAA,EAAS,KAAA,CAAA;KACX;AACAC,IAAAA,KAAO,EAAA;AACLL,MAAAA,IAAM,EAAAM,MAAA;MACN,SAAS,EAAA,SAATJ;eAAuB,IAAA,CAAA;AAAA,OAAA;KACzB;AACAK,IAAAA,CAAG,EAAAC,QAAA;AACHC,IAAAA,MAAQ,EAAAR,MAAA;AACRS,IAAAA,IAAA,EAAM,CAACJ,MAAA,EAAQE,QAAQ,CAAA;AACvBG,IAAAA,UAAA,EAAY,CAACL,MAAA,EAAQE,QAAQ,CAAA;GAC/B;AACAI,EAAAA,KAAA,EAAOX,MAAO,CAAAY,MAAA,CAAOtB,qBAAqB,CAAA;AAC1CuB,EAAAA,KAAM,WAANA,KAAMA,CAAAhB,KAAA,EAAAiB,IAAA,EAAiB;AAAA,IAAA,IAARC,IAAA,GAAAD,IAAA,CAAAC,IAAA,CAAA;AACb,IAAA,IAAMC,gBAAgBC,UAAW,EAAA,CAAA;AACjC,IAAA,IAAMC,MAAMC,oBAAqB,EAAA,CAAA;AAC3B,IAAA,IAAAC,mBAAA,GAAaC,kBAAmB,EAAA;MAA9BC,MAAO,GAAAF,mBAAA,CAAPE,MAAO,CAAA;AAET,IAAA,IAAAC,YAAA,GAAeC,SAAiB,YAAM;AACtC,MAAA,IAAA3B,KAAA,CAAMC,IAAK,CAAA2B,IAAA,KAAS,OAAS,EAAA;QAAA,IAAAC,KAAA,EAAAC,mBAAA,CAAA;QAC/B,IAAMC,OAAU,GAAA/B,KAAA,CAAMC,IAAK,CAAA+B,IAAA,CAAKC,OAAQ,EAAA,CAAA;AACxC,QAAA,IAAMC,WAAWH,OAAU,GAAA,EAAA,KAAA,CAAAF,KAAA,GAAA,CAAAC,mBAAA,GAAO9B,MAAMK,YAAgB,MAAA,IAAA,IAAAyB,mBAAA,KAAA,KAAA,CAAA,GAAAA,mBAAA,GAAA9B,KAAA,CAAMW,OAAON,YAAgB,MAAA,IAAA,IAAAwB,KAAA,KAAA,KAAA,CAAA,GAAAA,KAAA,GAAA,IAAA,CAAA,CAAA;AAC9E,QAAA,OAAAK,QAAA,GAAAC,GAAAA,CAAAA,MAAA,CAAeJ,OAAY,IAAAA,OAAA,CAAA;AACpC,OAAA;AACM,MAAA,IAAAK,GAAA,GAAMpC,MAAMS,CAAE,CAAAT,KAAA,CAAMW,OAAO0B,SAAS,CAAA,CAAEC,MAAM,GAAG,CAAA,CAAA;AACrD,MAAA,OAAOF,IAAIpC,KAAM,CAAAC,IAAA,CAAK+B,IAAK,CAAAO,QAAA,GAAWC,QAAS,EAAA,CAAA,CAAA;AACjD,KAAC,CAAA,CAAA;AACK,IAAA,IAAAC,SAAA,GAAYd,SAAkB,YAAM;AACxC,MAAA,OAAO3B,MAAMO,KAAU,KAAA,MAAA,CAAA;AACzB,KAAC,CAAA,CAAA;AACK,IAAA,IAAAmC,QAAA,GAAWf,SAAkB,YAAM;AACvC,MAAA,OAAO3B,MAAMC,IAAK,CAAA2B,IAAA,KAAS,OAAW,IAAA5B,KAAA,CAAMC,KAAK0C,QAAa,KAAA,CAAA,CAAA;AAChE,KAAC,CAAA,CAAA;AACK,IAAA,IAAAC,OAAA,GAAUjB,SAAS,YAAM;AAC7B,MAAA,IAAAkB,WAAA,GAAiD7C,KAAM,CAAAC,IAAA;QAA/C2B,IAAM,GAAAiB,WAAA,CAANjB,IAAM;QAAAI,IAAA,GAAAa,WAAA,CAAAb,IAAA;QAAMc,aAAe,GAAAD,WAAA,CAAfC,aAAe;QAAAC,SAAA,GAAAF,WAAA,CAAAE,SAAA,CAAA;AAC7B,MAAA,IAAAC,GAAA,GAAM,IAAIC,IAAK,EAAA,CAAA;AACrB,MAAA,IAAMC,QACJtB,IAAS,KAAA,MAAA,GACLoB,IAAIT,QAAS,EAAA,KAAMP,KAAKO,QAAS,EAAA,IAAKS,IAAIG,WAAY,EAAA,KAAMnB,KAAKmB,WAAY,EAAA,GAC7EL,kBAAkBM,KAAM,EAAA,CAAEC,OAAO,YAAY,CAAA,CAAA;AAC5C,MAAA,OAAA,CACLhC,IAAIiC,aAAc,CAAAC,KAAA,EAAAC,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAA,EAAA,EAEf/B,MAAA,CAAO8B,KAAM,CAAAb,QAAA,EAAWA,QAAS,CAAAa,KAAA,CACjC9B,EAAAA,MAAO,CAAA8B,KAAA,CAAME,OAAU,EAAAV,SAAA,CAAA,EACvB1B,GAAI,CAAAqC,iBAAA,CAAkBH,KAAQ,EAAAL,KAAA,CAEnC,CAAA,CAAA;AACF,KAAC,CAAA,CAAA;AACK,IAAA,IAAAS,SAAA,GAAY,SAAZA,SAAAA,CAAaC,CAAwB,EAAA;MACzC,IAAIlB,QAAS,CAAAa,KAAA,EAAO,OAAA;AACd,MAAA,IAAAM,QAAA,GAAWpE,sBAAsBmE,CAAE,CAAA1D,IAAA,CAAA,CAAA;AACzCgB,MAAAA,IAAA,CAAK2C,UAAUD,CAAC,CAAA,CAAA;KAClB,CAAA;AAEA,IAAA,IAAME,oBAAoB,SAApBA;;eAEUzC,EAAAA,GAAA,CAAI0C,qBAAqBR,KAAAA;AAAQ,OAAA,EAAA,CAAA7B,YAAA,CAAa6B;eAC9ClC,EAAAA,GAAI,CAAA2C,qBAAA,CAAsBT,KAAAA;OACnCd,EAAAA,CAAAA,SAAU,CAAAc,KAAA,IACTpC,aAAc,CAAA,YAAA,EAAc,KAAW,CAAA,EAAA;AACrC8C,QAAAA,MAAQ,EAAAC,aAAA,CAAKlE,EAAAA,EAAAA,KAAA,CAAMC,IAAK,CAAA;AAC1B,OAAC;KAEP,CAAA;AAGF,IAAA,OAAO,YAAM;AACX,MAAA,OACED,KAAM,CAAAC,IAAA,IAAAkE,WAAA,CAAA,IAAA,EAAA;QAAA,OACOvB,EAAAA,OAAQ,CAAAW,KAAA;AAAA,QAAA,SAAA,EAAgBI,SAAA;AAAA,QAAA,YAAA,EAAuBA,SAAW;QAAA,eAAeA,EAAAA,SAAAA;AACjF,OAAA,EAAA,CAAAxC,aAAA,CAAc,QAAQ,KAAW,CAAA,EAAA;QAChCiD,aAAaN,iBAAkB,EAAA;AAC/BG,QAAAA,MAAQ,EAAAC,aAAA,CAAKlE,EAAAA,EAAAA,KAAA,CAAMC,IAAK,CAAA;AAC1B,OAAC,EAJF,CAAA,CAAA;KAQP,CAAA;AACF,GAAA;AACF,CAAC,CAAA;;;;"}