From 335b52cc7087708d565f1c927012cec14cd0c41a Mon Sep 17 00:00:00 2001 From: Cindy Chang Date: Thu, 8 Aug 2024 10:51:07 +0800 Subject: [PATCH] sonar 10 left --- src/module/alertModal.js | 63 ++++++++++++++++++++++++++++------------ 1 file changed, 44 insertions(+), 19 deletions(-) diff --git a/src/module/alertModal.js b/src/module/alertModal.js index 9ffdc87..a4a82bf 100644 --- a/src/module/alertModal.js +++ b/src/module/alertModal.js @@ -186,36 +186,61 @@ export async function saveConformance(addConformanceCreateCheckId) { */ export async function leaveConformance(next, addConformanceCreateCheckId, toPath, logOut) { const conformanceStore = ConformanceStore(); - const result = await Swal.fire({ + const result = await showConfirmationDialog(); + + if (result.isConfirmed) { + await handleConfirmed(conformanceStore, addConformanceCreateCheckId); + } else { + await handleDismiss(result.dismiss, conformanceStore, next, toPath, logOut); + } +} +async function showConfirmationDialog() { + return Swal.fire({ title: 'SAVE YOUR RULE?', icon: 'warning', iconColor: '#FF3366', - reverseButtons:true, + reverseButtons: true, confirmButtonText: 'Yes', confirmButtonColor: '#FF3366', showCancelButton: true, cancelButtonText: 'No', cancelButtonColor: '#94a3b8', customClass: customClass - }) - if(result.isConfirmed) { - if(conformanceStore.conformanceFilterCreateCheckId || conformanceStore.conformanceLogCreateCheckId) { - await conformanceStore.updataConformance(); - if(conformanceStore.isUpdataConformance) await savedSuccessfully(conformanceStore.conformanceFileName); - } else { - await saveConformance(addConformanceCreateCheckId); - } - logOut ? logOut() : next(toPath); - } else if(result.dismiss === 'cancel') { - conformanceStore.conformanceFilterTempCheckId = null; - conformanceStore.conformanceLogTempCheckId = null; - logOut ? logOut() : next(toPath); - } else if(result.dismiss === 'backdrop') { - if(!logOut){ - next(false); + }); +} + +async function handleConfirmed(conformanceStore, addConformanceCreateCheckId) { + if (conformanceStore.conformanceFilterCreateCheckId || conformanceStore.conformanceLogCreateCheckId) { + await conformanceStore.updataConformance(); + if (conformanceStore.isUpdataConformance) { + await savedSuccessfully(conformanceStore.conformanceFileName); } + } else { + await saveConformance(addConformanceCreateCheckId); } -}; +} + +async function handleDismiss(dismissType, conformanceStore, next, toPath, logOut) { + switch (dismissType) { + case 'cancel': + resetTempCheckId(conformanceStore); + logOut ? logOut() : next(toPath); + break; + case 'backdrop': + if (!logOut) { + next(false); + } + break; + default: + break; + } +} + +function resetTempCheckId(conformanceStore) { + conformanceStore.conformanceFilterTempCheckId = null; + conformanceStore.conformanceLogTempCheckId = null; +} + /** * Upload failde First * @param { string } failureType 後端檔案錯誤類型