From 010cbe1af8c3e48dc87401390b9dd2ce8431bb50 Mon Sep 17 00:00:00 2001 From: shancds Date: Wed, 28 May 2025 10:50:35 +0530 Subject: [PATCH 1/3] feat(ratecard-drawer): enhance drawer close logic to handle unsaved changes and delete empty rate cards --- .../ratecard-drawer/ratecard-drawer.tsx | 191 +++++++++--------- 1 file changed, 98 insertions(+), 93 deletions(-) diff --git a/worklenz-frontend/src/features/finance/ratecard-drawer/ratecard-drawer.tsx b/worklenz-frontend/src/features/finance/ratecard-drawer/ratecard-drawer.tsx index f3645752..b968f3e3 100644 --- a/worklenz-frontend/src/features/finance/ratecard-drawer/ratecard-drawer.tsx +++ b/worklenz-frontend/src/features/finance/ratecard-drawer/ratecard-drawer.tsx @@ -307,16 +307,21 @@ const RatecardDrawer = ({ }, ]; - const handleDrawerClose = () => { - if (!name || name.trim() === '' || name === 'Untitled Rate Card') { + const handleDrawerClose = async() => { + if (!name || name.trim() === '') { messageApi.open({ - type: 'warning', - content: t('ratecardNameRequired') || 'Rate card name is required.', - }); - return; - } else if (hasChanges) { + type: 'warning', + content: t('ratecardNameRequired') || 'Rate card name is required.', + }); + return; + } else if (hasChanges) { setShowUnsavedAlert(true); - } else { + } + else if (name === 'Untitled Rate Card' && roles.length === 0){ + await dispatch(deleteRateCard(ratecardId)); + dispatch(toggleRatecardDrawer()); + } + else { dispatch(toggleRatecardDrawer()); } }; @@ -339,95 +344,95 @@ const RatecardDrawer = ({ return ( <> - {contextHolder} - - - { - setName(e.target.value); - }} - /> - - - {t('currency')} - { + setName(e.target.value); + }} + /> + + + {t('currency')} +