diff --git a/client/packages/lowcoder-comps/src/comps/calendarComp/calendarComp.tsx b/client/packages/lowcoder-comps/src/comps/calendarComp/calendarComp.tsx index 9bf7a4a6c..bc726a327 100644 --- a/client/packages/lowcoder-comps/src/comps/calendarComp/calendarComp.tsx +++ b/client/packages/lowcoder-comps/src/comps/calendarComp/calendarComp.tsx @@ -215,6 +215,7 @@ let childrenMap: any = { updatedEvents: stateComp({}), insertedEvents: stateComp({}), deletedEvents: stateComp({}), + selectedEvent: stateComp({}), inputFormat: withDefault(StringControl, DATE_TIME_FORMAT), }; @@ -999,6 +1000,14 @@ let CalendarBasicComp = (function () { const event = events.find( (item: EventInput) => item.id === info.event.id ); + // Find original event from props.events to include all custom fields (e.g., join_url) + const originalEvent = props.events.find( + (item: EventType) => String(item.id) === String(info.event.id) + ); + // Update selectedEvent state with all original data + comp?.children?.comp?.children?.selectedEvent?.dispatchChangeValueAction?.( + originalEvent || event || {} + ); editEvent.current = event; setTimeout(() => { editEvent.current = undefined; @@ -1228,6 +1237,14 @@ const TmpCalendarComp = withExposingConfigs(CalendarBasicComp, [ return input.deletedEvents; }, }), + depsConfig({ + name: "selectedEvent", + desc: trans("calendar.selectedEvent"), + depKeys: ["selectedEvent"], + func: (input: { selectedEvent: any; }) => { + return input.selectedEvent; + }, + }), ]); let CalendarComp = withMethodExposing(TmpCalendarComp, [ diff --git a/client/packages/lowcoder-comps/src/i18n/comps/locales/en.ts b/client/packages/lowcoder-comps/src/i18n/comps/locales/en.ts index 66b62f7a1..e663e986a 100644 --- a/client/packages/lowcoder-comps/src/i18n/comps/locales/en.ts +++ b/client/packages/lowcoder-comps/src/i18n/comps/locales/en.ts @@ -767,6 +767,7 @@ export const en = { deletedEvents : "List of deleted events", updatedEvents : "List of updated events", insertedEvents : "List of inserted events", + selectedEvent : "The currently selected/clicked event", editable: "Editable", license: "Licence Key", licenseTooltip: "Get your licence key from https://fullcalendar.io/purchase to enable premium views like Resource Timeline and Resource Grid.",