From 5c78ae4dee88238a1dbda96bc720d682de4365c5 Mon Sep 17 00:00:00 2001 From: Nivedin <53208152+nivedin@users.noreply.github.com> Date: Mon, 18 Sep 2023 11:20:26 +0530 Subject: [PATCH] fix: dirty tab count incorrect when closing tabs (#3359) * fix: dirty tab count incorrect when closing tabs * refactor: make the calculation more expressive --------- Co-authored-by: amk-dev --- packages/hoppscotch-common/src/pages/index.vue | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/hoppscotch-common/src/pages/index.vue b/packages/hoppscotch-common/src/pages/index.vue index 21d97dd85..4b83ecd67 100644 --- a/packages/hoppscotch-common/src/pages/index.vue +++ b/packages/hoppscotch-common/src/pages/index.vue @@ -229,11 +229,14 @@ const removeTab = (tabID: string) => { } const closeOtherTabsAction = (tabID: string) => { + const isTabDirty = getTabRef(tabID).value?.document.isDirty const dirtyTabCount = getDirtyTabsCount() + // If current tab is dirty, so we need to subtract 1 from the dirty tab count + const balanceDirtyTabCount = isTabDirty ? dirtyTabCount - 1 : dirtyTabCount // If there are dirty tabs, show the confirm modal - if (dirtyTabCount > 0) { + if (balanceDirtyTabCount > 0) { confirmingCloseAllTabs.value = true - unsavedTabsCount.value = dirtyTabCount + unsavedTabsCount.value = balanceDirtyTabCount exceptedTabID.value = tabID } else { closeOtherTabs(tabID)