From 277e616180b102ad0c01e4003a71c6f6e0e87c1f Mon Sep 17 00:00:00 2001 From: Arpit Date: Wed, 11 Oct 2023 13:36:30 +0530 Subject: [PATCH] fixes: calendar and form widgets (#7735) --- frontend/src/Editor/Components/Calendar.jsx | 4 ++-- frontend/src/Editor/Components/Form/Form.jsx | 9 +++++++-- frontend/src/_helpers/appUtils.js | 3 +++ 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/frontend/src/Editor/Components/Calendar.jsx b/frontend/src/Editor/Components/Calendar.jsx index e70ce64b2e..b56b14d815 100644 --- a/frontend/src/Editor/Components/Calendar.jsx +++ b/frontend/src/Editor/Components/Calendar.jsx @@ -81,7 +81,7 @@ export const Calendar = function ({ action, }; - fireEvent('onCalendarSlotSelect', { selectedSlots }); + fireEvent('onCalendarSlotSelect', { component, selectedSlots }); }; function popoverClosed() { @@ -153,7 +153,7 @@ export const Calendar = function ({ min={startTime} max={endTime} onSelectEvent={(calendarEvent, e) => { - fireEvent('onCalendarEventSelect', { calendarEvent }); + fireEvent('onCalendarEventSelect', { component, calendarEvent }); if (properties.showPopOverOnEventClick) setEventPopoverOptions({ ...eventPopoverOptions, diff --git a/frontend/src/Editor/Components/Form/Form.jsx b/frontend/src/Editor/Components/Form/Form.jsx index dd87fb0f10..020635c4e1 100644 --- a/frontend/src/Editor/Components/Form/Form.jsx +++ b/frontend/src/Editor/Components/Form/Form.jsx @@ -8,6 +8,7 @@ import { Box } from '@/Editor/Box'; import { generateUIComponents } from './FormUtils'; import { useMounted } from '@/_hooks/use-mount'; import { removeFunctionObjects } from '@/_helpers/appUtils'; +import { useAppInfo } from '@/_stores/appDataStore'; export const Form = function Form(props) { const { id, @@ -28,6 +29,10 @@ export const Form = function Form(props) { dataCy, paramUpdated, } = props; + + const { events: allAppEvents } = useAppInfo(); + + const formEvents = allAppEvents.filter((event) => event.target === 'component' && event.sourceId === id); const { visibility, disabledState, borderRadius, borderColor, boxShadow } = styles; const { buttonToSubmit, loadingState, advanced, JSONSchema } = properties; const backgroundColor = @@ -57,7 +62,7 @@ export const Form = function Form(props) { }); setExposedVariable('submitForm', async function () { if (isValid) { - onEvent('onSubmit', { component }).then(() => resetComponent()); + onEvent('onSubmit', formEvents).then(() => resetComponent()); } else { fireEvent('onInvalid'); } @@ -167,7 +172,7 @@ export const Form = function Form(props) { }; const fireSubmissionEvent = () => { if (isValid) { - onEvent('onSubmit', { component }).then(() => resetComponent()); + onEvent('onSubmit', formEvents).then(() => resetComponent()); } else { fireEvent('onInvalid'); } diff --git a/frontend/src/_helpers/appUtils.js b/frontend/src/_helpers/appUtils.js index aadfc81472..a998307897 100644 --- a/frontend/src/_helpers/appUtils.js +++ b/frontend/src/_helpers/appUtils.js @@ -639,6 +639,7 @@ export async function onEvent(_ref, eventName, events, options = {}, mode = 'edi if (eventName === 'onCalendarEventSelect') { const { component, calendarEvent } = options; + useCurrentStateStore.getState().actions.setCurrentState({ components: { ...getCurrentState().components, @@ -648,6 +649,7 @@ export async function onEvent(_ref, eventName, events, options = {}, mode = 'edi }, }, }); + executeActionsForEventId(_ref, 'onCalendarEventSelect', events, mode, customVariables); } @@ -662,6 +664,7 @@ export async function onEvent(_ref, eventName, events, options = {}, mode = 'edi }, }, }); + executeActionsForEventId(_ref, 'onCalendarSlotSelect', events, mode, customVariables); }