From d0895eb92ce8e77f6913a7b3bc35deb1ef0102ba Mon Sep 17 00:00:00 2001 From: Arpit Date: Fri, 6 Oct 2023 15:27:50 +0530 Subject: [PATCH] [appdef-2] event manager selector bug (#7631) * fixes: on selecting query - 3 outbound calls are done to the server, and event manager re-renders 3times resulting in flikering ui * reduces outbound calls for updating csa actions to 1 --- .../src/Editor/Inspector/EventManager.jsx | 32 ++++++++++++++++--- 1 file changed, 28 insertions(+), 4 deletions(-) diff --git a/frontend/src/Editor/Inspector/EventManager.jsx b/frontend/src/Editor/Inspector/EventManager.jsx index de19db6554..99a35ead29 100644 --- a/frontend/src/Editor/Inspector/EventManager.jsx +++ b/frontend/src/Editor/Inspector/EventManager.jsx @@ -226,6 +226,28 @@ export const EventManager = ({ })); } + function handleQueryChange(index, updates) { + let newEvents = _.cloneDeep(events); + let updatedEvent = newEvents[index]; + + updatedEvent.event = { + ...updatedEvent.event, + ...updates, + }; + + newEvents[index] = updatedEvent; + + updateAppVersionEventHandlers( + [ + { + event_id: updatedEvent.id, + diff: updatedEvent, + }, + ], + 'update' + ); + } + function handlerChanged(index, param, value) { let newEvents = _.cloneDeep(events); @@ -509,9 +531,12 @@ export const EventManager = ({ }), {} ); - handlerChanged(index, 'queryId', query.id); - handlerChanged(index, 'queryName', query.name); - handlerChanged(index, 'parameters', parameters); + + handleQueryChange(index, { + queryId: query.id, + queryName: query.name, + parameters: parameters, + }); }} placeholder={t('globals.select', 'Select') + '...'} styles={styles} @@ -743,7 +768,6 @@ export const EventManager = ({ value={event?.componentId} search={true} onChange={(value) => { - handlerChanged(index, 'componentSpecificActionHandle', ''); handlerChanged(index, 'componentId', value); }} placeholder={t('globals.select', 'Select') + '...'}