From 1cb5b6bf3134a96fba66e4bf0846e59a72156898 Mon Sep 17 00:00:00 2001 From: Hetu Nandu Date: Tue, 5 May 2020 08:23:22 +0000 Subject: [PATCH] Fix issue with reset on form error --- app/client/src/sagas/ActionSagas.ts | 68 +++++++++++++++++------------ 1 file changed, 39 insertions(+), 29 deletions(-) diff --git a/app/client/src/sagas/ActionSagas.ts b/app/client/src/sagas/ActionSagas.ts index dd6a738b73..4dba10073c 100644 --- a/app/client/src/sagas/ActionSagas.ts +++ b/app/client/src/sagas/ActionSagas.ts @@ -303,35 +303,45 @@ export function* executeActionTriggers( trigger: ActionDescription, event: ExecuteActionPayloadEvent, ) { - switch (trigger.type) { - case "RUN_ACTION": - yield call(executeActionSaga, trigger.payload, event); - break; - case "NAVIGATE_TO": - yield call(navigateActionSaga, trigger.payload, event); - break; - case "SHOW_ALERT": - AppToaster.show({ - message: trigger.payload.message, - type: trigger.payload.style, - }); - if (event.callback) event.callback({ success: true }); - break; - case "SHOW_MODAL_BY_NAME": - yield put(trigger); - if (event.callback) event.callback({ success: true }); - break; - case "CLOSE_MODAL": - yield put(trigger); - if (event.callback) event.callback({ success: true }); - break; - default: - yield put( - executeActionError({ - error: "Trigger type unknown", - actionId: "", - }), - ); + try { + switch (trigger.type) { + case "RUN_ACTION": + yield call(executeActionSaga, trigger.payload, event); + break; + case "NAVIGATE_TO": + yield call(navigateActionSaga, trigger.payload, event); + break; + case "SHOW_ALERT": + AppToaster.show({ + message: trigger.payload.message, + type: trigger.payload.style, + }); + if (event.callback) event.callback({ success: true }); + break; + case "SHOW_MODAL_BY_NAME": + yield put(trigger); + if (event.callback) event.callback({ success: true }); + break; + case "CLOSE_MODAL": + yield put(trigger); + if (event.callback) event.callback({ success: true }); + break; + default: + yield put( + executeActionError({ + error: "Trigger type unknown", + actionId: "", + }), + ); + } + } catch (e) { + yield put( + executeActionError({ + error: "Failed to execute action", + actionId: "", + }), + ); + if (event.callback) event.callback({ success: false }); } }