calendar fix contd

This commit is contained in:
victorAnumudu
2025-01-19 07:14:46 +01:00
parent e8123bc898
commit d1d6c6a9fc
3 changed files with 31 additions and 19 deletions
+12 -5
View File
@@ -40,13 +40,13 @@ export default function EventCalendar({draggedEvent, setDraggedEvent}) {
} }
const onDrop = (event) => { const onDrop = (event) => {
console.log('event', event) // console.log('event', event)
if(event){ if(event){
let newEvent = { let newEvent = {
id: createEventId(), id: createEventId(),
title: event.draggedEl.innerText, title: event.draggedEl.innerText,
start: event.startStr, start: event.startStr,
end: event.endStr, // end: event.endStr,
allDay: event.allDay, allDay: event.allDay,
...event ...event
} }
@@ -54,6 +54,13 @@ export default function EventCalendar({draggedEvent, setDraggedEvent}) {
} }
} }
const removeEvent = (event) => {
// let eventToRemove = event?.event?._def?.title
// let remainingEvent = currentEvents.filter(item => item.title != eventToRemove)
// setCurrentEvents(remainingEvent)
console.log('Event', event, currentEvents)
}
function handleEventClick(clickInfo) { function handleEventClick(clickInfo) {
if ( if (
@@ -87,9 +94,9 @@ export default function EventCalendar({draggedEvent, setDraggedEvent}) {
weekends={weekendsVisible} weekends={weekendsVisible}
// initialEvents={INITIAL_EVENTS} // alternatively, use the `events` setting to fetch from a feed // initialEvents={INITIAL_EVENTS} // alternatively, use the `events` setting to fetch from a feed
events={currentEvents} events={currentEvents}
// select={handleDateSelect} // select={handleDateSelect}
eventContent={renderEventContent} // custom render function eventContent={renderEventContent} // custom render function
// eventClick={handleEventClick} eventClick={handleEventClick}
eventsSet={handleEvents} // called after events are initialized/added/changed/removed eventsSet={handleEvents} // called after events are initialized/added/changed/removed
/* you can update a remote database when these fire: /* you can update a remote database when these fire:
eventAdd={function(){}} eventAdd={function(){}}
@@ -97,7 +104,7 @@ export default function EventCalendar({draggedEvent, setDraggedEvent}) {
eventRemove={function(){}} eventRemove={function(){}}
*/ */
eventRemove={removeEvent}
droppable= {true} // this allows things to be dropped onto the calendar droppable= {true} // this allows things to be dropped onto the calendar
drop={onDrop} drop={onDrop}
/> />
+6 -1
View File
@@ -6,12 +6,17 @@ const ExternalDraggable = ({dummyEvents}) => {
useEffect(() => { useEffect(() => {
// Make the external events draggable // Make the external events draggable
new Draggable(eventContainerRef.current, { const draggable = new Draggable(eventContainerRef.current, {
itemSelector: ".fc-event", itemSelector: ".fc-event",
eventData: (eventEl) => ({ eventData: (eventEl) => ({
title: eventEl.innerText.trim(), title: eventEl.innerText.trim(),
}), }),
}); });
// Cleanup the Draggable instance on unmount
return () => {
draggable.destroy();
};
}, []); }, []);
return ( return (
+13 -13
View File
@@ -2,19 +2,19 @@ let eventGuid = 0;
let todayStr = new Date().toISOString().replace(/T.*$/, ''); // YYYY-MM-DD of today let todayStr = new Date().toISOString().replace(/T.*$/, ''); // YYYY-MM-DD of today
export const INITIAL_EVENTS = [ export const INITIAL_EVENTS = [
{ // {
id: createEventId(), // id: createEventId(),
title: 'All-day event', // title: 'All-day event',
start: new Date('2025-01-19'), // start: new Date('2025-01-19'),
end: new Date('2025-01-20'), // end: new Date('2025-01-20'),
// color: 'blue' // // color: 'blue'
}, // },
{ // {
id: createEventId(), // id: createEventId(),
title: 'Timed event', // title: 'Timed event',
start: todayStr + 'T12:00:00', // start: todayStr + 'T12:00:00',
// color: 'red' // // color: 'red'
}, // },
]; ];
export function createEventId() { export function createEventId() {