UNPKG

element-plus

Version:

A Component Library for Vue 3

52 lines (50 loc) 1.47 kB
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); //#region ../../packages/components/time-picker/src/composables/use-time-panel.ts const useTimePanel = ({ getAvailableHours, getAvailableMinutes, getAvailableSeconds }) => { const getAvailableTime = (date, role, first, compareDate) => { const availableTimeGetters = { hour: getAvailableHours, minute: getAvailableMinutes, second: getAvailableSeconds }; let result = date; [ "hour", "minute", "second" ].forEach((type) => { if (availableTimeGetters[type]) { let availableTimeSlots; const method = availableTimeGetters[type]; switch (type) { case "minute": availableTimeSlots = method(result.hour(), role, compareDate); break; case "second": availableTimeSlots = method(result.hour(), result.minute(), role, compareDate); break; default: availableTimeSlots = method(role, compareDate); break; } if (availableTimeSlots?.length && !availableTimeSlots.includes(result[type]())) { const pos = first ? 0 : availableTimeSlots.length - 1; result = result[type](availableTimeSlots[pos]); } } }); return result; }; const timePickerOptions = {}; const onSetOption = ([key, val]) => { timePickerOptions[key] = val; }; return { timePickerOptions, getAvailableTime, onSetOption }; }; //#endregion exports.useTimePanel = useTimePanel; //# sourceMappingURL=use-time-panel.js.map