From 69fd9bbc67e3f1698fdf3fb57245537594d65542 Mon Sep 17 00:00:00 2001 From: Jan Prochazka Date: Sun, 24 Jan 2021 09:58:58 +0100 Subject: [PATCH] fixed closing tabs --- packages/web/src/TabsPanel.js | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/packages/web/src/TabsPanel.js b/packages/web/src/TabsPanel.js index 28fddc463..d9d3317dc 100644 --- a/packages/web/src/TabsPanel.js +++ b/packages/web/src/TabsPanel.js @@ -159,6 +159,10 @@ export default function TabsPanel() { closedTime: x.closedTime || (closeCondition(x, active) ? new Date().getTime() : undefined), })); + if (newFiles.find(x => x.selected && x.closedTime == null)) { + return newFiles; + } + while (selectedIndex >= 0 && newFiles[selectedIndex].closedTime) selectedIndex -= 1; if (selectedIndex < 0) { @@ -166,14 +170,18 @@ export default function TabsPanel() { while (selectedIndex < newFiles.length && newFiles[selectedIndex].closedTime) selectedIndex += 1; } - if (selectedIndex != lastSelectedIndex) { - return newFiles.map((x, index) => ({ - ...x, - selected: index == selectedIndex, - })); - } + if (selectedIndex < 0 || selectedIndex >= newFiles.length) + selectedIndex = _.findIndex(newFiles, x => x.closedTime == null); - return newFiles; + return newFiles.map((x, index) => ({ + ...x, + selected: index == selectedIndex, + })); + + // if (selectedIndex != lastSelectedIndex) { + // } + + // return newFiles; }); };