UNPKG

tdesign-mobile-vue

Version:
1 lines 27.7 kB
{"version":3,"file":"date-time-picker.mjs","sources":["../../node_modules/dayjs/plugin/weekday.js","../../node_modules/dayjs/plugin/objectSupport.js","../../src/date-time-picker/date-time-picker.tsx"],"sourcesContent":["!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_weekday=t()}(this,(function(){\"use strict\";return function(e,t){t.prototype.weekday=function(e){var t=this.$locale().weekStart||0,i=this.$W,n=(i<t?i+7:i)-t;return this.$utils().u(e)?n:this.subtract(n,\"day\").add(e,\"day\")}}}));","!function(t,n){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(n):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs_plugin_objectSupport=n()}(this,(function(){\"use strict\";return function(t,n,e){var i=n.prototype,r=function(t){var n,r=t.date,o=t.utc,u={};if(!(null===(n=r)||n instanceof Date||n instanceof Array||i.$utils().u(n)||\"Object\"!==n.constructor.name)){if(!Object.keys(r).length)return new Date;var a=o?e.utc():e();Object.keys(r).forEach((function(t){var n,e;u[(n=t,e=i.$utils().p(n),\"date\"===e?\"day\":e)]=r[t]}));var c=u.day||(u.year||u.month>=0?1:a.date()),s=u.year||a.year(),d=u.month>=0?u.month:u.year||u.day?0:a.month(),f=u.hour||0,b=u.minute||0,h=u.second||0,y=u.millisecond||0;return o?new Date(Date.UTC(s,d,c,f,b,h,y)):new Date(s,d,c,f,b,h,y)}return r},o=i.parse;i.parse=function(t){t.date=r.bind(this)(t),o.bind(this)(t)};var u=i.set,a=i.add,c=i.subtract,s=function(t,n,e,i){void 0===i&&(i=1);var r=Object.keys(n),o=this;return r.forEach((function(e){o=t.bind(o)(n[e]*i,e)})),o};i.set=function(t,n){return n=void 0===n?t:n,\"Object\"===t.constructor.name?s.bind(this)((function(t,n){return u.bind(this)(n,t)}),n,t):u.bind(this)(t,n)},i.add=function(t,n){return\"Object\"===t.constructor.name?s.bind(this)(a,t,n):a.bind(this)(t,n)},i.subtract=function(t,n){return\"Object\"===t.constructor.name?s.bind(this)(a,t,n,-1):c.bind(this)(t,n)}}}));","import { ref, computed, defineComponent, toRefs, watch, nextTick } from 'vue';\nimport dayjs, { Dayjs, UnitType } from 'dayjs';\nimport weekday from 'dayjs/plugin/weekday';\nimport customParseFormat from 'dayjs/plugin/customParseFormat';\nimport objectSupport from 'dayjs/plugin/objectSupport';\nimport { isArray } from 'lodash-es';\n\nimport config from '../config';\nimport DateTimePickerProps from './props';\nimport { getMeaningColumn } from './shared';\nimport useVModel from '../hooks/useVModel';\nimport { useTNodeJSX } from '../hooks/tnode';\nimport { Picker as TPicker } from '../picker';\nimport { PickerColumn, PickerColumnItem, PickerValue, PickerContext } from '../picker/type';\nimport { usePrefixClass, useConfig } from '../hooks/useClass';\n\nimport type { TdDateTimePickerProps, TimeModeValues } from './type';\n\ndayjs.extend(weekday);\ndayjs.extend(customParseFormat);\ndayjs.extend(objectSupport);\n\nconst { prefix } = config;\n\nexport default defineComponent({\n name: `${prefix}-date-time-picker`,\n components: { TPicker },\n props: DateTimePickerProps,\n emits: ['change', 'cancel', 'confirm', 'pick', 'update:modelValue', 'update:value'],\n setup(props, { slots }) {\n const dateTimePickerClass = usePrefixClass('date-time-picker');\n const { globalConfig } = useConfig('dateTimePicker');\n const className = computed(() => [`${dateTimePickerClass.value}`]);\n const { value } = toRefs(props);\n const renderTNodeJSX = useTNodeJSX();\n\n const [innerValue, setDateTimePickerValue] = useVModel(\n value,\n ref(props.modelValue),\n props.defaultValue,\n props.onChange,\n );\n const title = computed(() => {\n return props.title || globalConfig.value.title;\n });\n\n const confirmButtonText = computed(() => props.confirmBtn || globalConfig.value.confirm);\n const cancelButtonText = computed(() => props.cancelBtn || globalConfig.value.cancel);\n const normalize = (val: string | number, defaultDay: Dayjs) =>\n val && dayjs(val).isValid() ? dayjs(val) : defaultDay;\n const start = computed(() => normalize(props.start, dayjs().subtract(10, 'year')));\n const end = computed(() => normalize(props.end, dayjs().add(10, 'year')));\n\n const meaningColumn = computed(() => getMeaningColumn(props.mode));\n const isTimeMode = computed(\n () => isArray(props.mode) && props.mode[0] == null && ['hour', 'minute', 'second'].includes(props.mode[1]),\n );\n\n const rationalize = (val: Dayjs) => {\n if (isTimeMode.value) return val;\n if (val.isBefore(start.value)) return start.value;\n if (val.isAfter(end.value)) return end.value;\n return val;\n };\n\n const calcDate = (currentValue: string | number) => {\n if (isTimeMode.value) {\n const dateStr = dayjs(start.value).format('YYYY-MM-DD');\n currentValue = `${dateStr} ${currentValue}`;\n }\n return currentValue && dayjs(currentValue).isValid() ? rationalize(dayjs(currentValue)) : start.value;\n };\n const curDate = ref(calcDate(innerValue.value));\n\n const valueOfPicker = computed(() => meaningColumn.value.map((item) => curDate.value[item]().toString()));\n\n // 每次pick后,根据start,end生成最新的columns\n const columns = computed(() => {\n const ret: PickerColumn[] = [];\n const getDate = (date: Dayjs) => [\n date.year(),\n date.month() + 1,\n date.date(),\n date.hour(),\n date.minute(),\n date.second(),\n ];\n const [curYear, curMonth, curDay, curHour, curMinute] = getDate(curDate.value);\n const [minYear, minMonth, minDay, minHour, minMinute, minSecond] = getDate(start.value);\n const [maxYear, maxMonth, maxDay, maxHour, maxMinute, maxSecond] = getDate(end.value);\n\n const isInMinYear = curYear === minYear;\n const isInMaxYear = curYear === maxYear;\n const isInMinMonth = isInMinYear && curMonth === minMonth;\n const isInMaxMonth = isInMaxYear && curMonth === maxMonth;\n const isInMinDay = isInMinMonth && curDay === minDay;\n const isInMaxDay = isInMaxMonth && curDay === maxDay;\n const isInMinHour = isInMinDay && curHour === minHour;\n const isInMaxHour = isInMaxDay && curHour === maxHour;\n const isInMinMinute = isInMinHour && curMinute === minMinute;\n const isInMaxMinute = isInMaxHour && curMinute === maxMinute;\n\n const typeUnit = {\n year: globalConfig.value.yearLabel,\n month: globalConfig.value.monthLabel,\n date: globalConfig.value.dateLabel,\n hour: globalConfig.value.hourLabel,\n minute: globalConfig.value.minuteLabel,\n second: globalConfig.value.secondLabel,\n };\n\n const generateColumn = (start: number, end: number, type: TimeModeValues) => {\n const arr: PickerColumnItem[] = [];\n const step = (props.steps as TdDateTimePickerProps['steps'])[type] || 1;\n for (let i = start; i <= end; i += step) {\n const value = i.toString();\n arr.push({\n label: props.renderLabel ? props.renderLabel(type, i) : `${value} ${typeUnit[type]}`,\n value: type === 'month' ? `${+value - 1}` : value,\n });\n }\n ret.push(arr);\n };\n\n if (meaningColumn.value.includes('year')) {\n generateColumn(minYear, maxYear, 'year');\n }\n\n if (meaningColumn.value.includes('month')) {\n const lower = isInMinYear ? minMonth : 1;\n const upper = isInMaxYear ? maxMonth : 12;\n generateColumn(lower, upper, 'month');\n }\n\n if (meaningColumn.value.includes('date')) {\n const lower = isInMinMonth ? minDay : 1;\n const upper = isInMaxMonth ? maxDay : dayjs(`${curYear}-${curMonth}`).daysInMonth();\n generateColumn(lower, upper, 'date');\n }\n\n if (meaningColumn.value.includes('hour')) {\n const lower = isInMinDay && !isTimeMode.value ? minHour : 0;\n const upper = isInMaxDay && !isTimeMode.value ? maxHour : 23;\n generateColumn(lower, upper, 'hour');\n }\n\n if (meaningColumn.value.includes('minute')) {\n const lower = isInMinHour && !isTimeMode.value ? minMinute : 0;\n const upper = isInMaxHour && !isTimeMode.value ? maxMinute : 59;\n generateColumn(lower, upper, 'minute');\n }\n\n if (meaningColumn.value.includes('second')) {\n const lower = isInMinMinute && !isTimeMode.value ? minSecond : 0;\n const upper = isInMaxMinute && !isTimeMode.value ? maxSecond : 59;\n generateColumn(lower, upper, 'second');\n }\n return ret;\n });\n\n const onConfirm = (value: string[]) => {\n const dayObject = value.reduce((map, cur, index) => {\n const type = meaningColumn.value[index];\n map[type] = cur;\n return map;\n }, {});\n const cur = dayjs(dayObject);\n props.onConfirm?.(dayjs(cur || curDate.value).format(props.format));\n setDateTimePickerValue(dayjs(cur || curDate.value).format(props.format));\n };\n\n const onCancel = (context: { e: MouseEvent }) => {\n props.onCancel?.({ e: context.e });\n };\n\n const onPick = (value: Array<PickerValue>, context: PickerContext) => {\n const { column, index } = context;\n const type = meaningColumn.value[column];\n const val = curDate.value.set(type as UnitType, parseInt(columns.value[column][index]?.value, 10));\n\n curDate.value = rationalize(val);\n props.onPick?.(rationalize(val).format(props.format));\n };\n\n watch(innerValue, (val) => {\n curDate.value = calcDate(val);\n });\n\n return () => {\n return (\n <t-picker\n class={className.value}\n value={valueOfPicker.value}\n title={title.value}\n confirm-btn={confirmButtonText.value}\n cancel-btn={cancelButtonText.value}\n columns={columns.value}\n onConfirm={onConfirm}\n onCancel={onCancel}\n onPick={onPick}\n header={() => renderTNodeJSX('header')}\n footer={() => renderTNodeJSX('footer')}\n />\n );\n };\n },\n});\n"],"names":["e","t","module","exports","define","amd","globalThis","self","dayjs_plugin_weekday","this","prototype","weekday","$locale","weekStart","i","$W","n","$utils","u","subtract","add","dayjs_plugin_objectSupport","r","date","o","utc","Date","Array","constructor","name","Object","keys","length","a","forEach","p","c","day","year","month","s","d","f","hour","b","minute","h","second","y","millisecond","UTC","parse","bind","set","dayjs","extend","customParseFormat","objectSupport","prefix","config","defineComponent","components","TPicker","props","DateTimePickerProps","emits","setup","_ref","slots","dateTimePickerClass","usePrefixClass","_useConfig","useConfig","globalConfig","className","computed","concat","value","_toRefs","toRefs","renderTNodeJSX","useTNodeJSX","_useVModel","useVModel","ref","modelValue","defaultValue","onChange","_useVModel2","_slicedToArray","innerValue","setDateTimePickerValue","title","confirmButtonText","confirmBtn","confirm","cancelButtonText","cancelBtn","cancel","normalize","val","defaultDay","isValid","start","end","meaningColumn","getMeaningColumn","mode","isTimeMode","isArray","includes","rationalize","isBefore","isAfter","calcDate","currentValue","dateStr","format","curDate","valueOfPicker","map","item","toString","columns","ret","getDate","_getDate","_getDate2","curYear","curMonth","curDay","curHour","curMinute","_getDate3","_getDate4","minYear","minMonth","minDay","minHour","minMinute","minSecond","_getDate5","_getDate6","maxYear","maxMonth","maxDay","maxHour","maxMinute","maxSecond","isInMinYear","isInMaxYear","isInMinMonth","isInMaxMonth","isInMinDay","isInMaxDay","isInMinHour","isInMaxHour","isInMinMinute","isInMaxMinute","typeUnit","yearLabel","monthLabel","dateLabel","hourLabel","minuteLabel","secondLabel","generateColumn","type","arr","step","steps","push","label","renderLabel","lower","upper","daysInMonth","onConfirm","_props$onConfirm","dayObject","reduce","cur","index","call","onCancel","context","_props$onCancel","onPick","_columns$value$column","_props$onPick","column","parseInt","watch","_createVNode","_resolveComponent","header","footer"],"mappings":"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"}