v-event-calendar
Version:
Lightweight, Vue 3 Event Calendar With Event Scheduling, Multiple Views, Drag-&-Drop, Resizing and Customizable Styling
33 lines (31 loc) • 1.53 kB
TypeScript
import { CalendarCell } from '../types';
export declare function useCalendarGrid(props: {
calendarCells?: CalendarCell[];
allowEventCreation: boolean;
hourHeight: number;
startHour: number;
endHour: number;
timeFormat?: '12h' | '24h';
}, emit: any, cell?: any): {
hours: import('vue').ComputedRef<any[]>;
getEventsForTimeSlot: (cellOrHour: CalendarCell | number, hour?: number) => any;
getMaxEventsInHourSlot: (hour: number) => number;
getTimeSlotHeight: (hour: number) => number;
getEventHeight: (hour: number) => number;
getNextAvailableTimeForSlot: (cellOrHour: CalendarCell | number, hour?: number) => {
startTime: string;
endTime: string;
};
handleTimeSlotClick: (cellOrHour: CalendarCell | number, hour?: number) => void;
handleTimeSlotMouseDown: (event: MouseEvent, cellOrHour: CalendarCell | number, hour?: number) => void;
handleTimeSlotMouseUp: (event: MouseEvent) => void;
handleDragEnd: (event: any) => void;
getDayHeaderClass: (cell?: CalendarCell) => any[];
getTimeSlotClass: (cellOrHour: CalendarCell | number, hour?: number) => string[];
handleEventResizeUpdate: (eventId: string, newStart: string, newEnd: string) => void;
handleEventResizeEnd: (eventId: string, newStart: string, newEnd: string) => void;
setDraggingDisabled: (disabled: boolean) => void;
isDraggingDisabled: import('vue').ComputedRef<boolean>;
isDragCreating: import('vue').ComputedRef<boolean>;
cancelDragCreate: () => void;
};