From 36abaeb6fb595c8032fa10271e804d2abdbb14e3 Mon Sep 17 00:00:00 2001 From: j433866 Date: Wed, 24 Jul 2019 14:22:56 +0100 Subject: [PATCH] Fix tab bar shadows appearing when they shouldn't --- src/web/waiters/InputWaiter.mjs | 10 +++++++--- src/web/waiters/OutputWaiter.mjs | 14 +++++++++----- src/web/workers/InputWorker.mjs | 4 ++-- 3 files changed, 18 insertions(+), 10 deletions(-) diff --git a/src/web/waiters/InputWaiter.mjs b/src/web/waiters/InputWaiter.mjs index 573090d7..a261d294 100644 --- a/src/web/waiters/InputWaiter.mjs +++ b/src/web/waiters/InputWaiter.mjs @@ -988,9 +988,13 @@ class InputWaiter { this.manager.highlighter.removeHighlights(); getSelection().removeAllRanges(); - const tabsList = document.getElementById("input-tabs").children; - for (let i = tabsList.length - 1; i >= 0; i--) { - tabsList.item(i).remove(); + const tabsList = document.getElementById("input-tabs"); + const tabsListChildren = tabsList.children; + + tabsList.classList.remove("tabs-left"); + tabsList.classList.remove("tabs-right"); + for (let i = tabsListChildren.length - 1; i >= 0; i--) { + tabsListChildren.item(i).remove(); } this.showLoadingInfo({ diff --git a/src/web/waiters/OutputWaiter.mjs b/src/web/waiters/OutputWaiter.mjs index 9697100c..e87e2fc6 100755 --- a/src/web/waiters/OutputWaiter.mjs +++ b/src/web/waiters/OutputWaiter.mjs @@ -217,9 +217,13 @@ class OutputWaiter { */ removeAllOutputs() { this.outputs = {}; - const tabs = document.getElementById("output-tabs").children; - for (let i = tabs.length - 1; i >= 0; i--) { - tabs.item(i).remove(); + const tabsList = document.getElementById("output-tabs"); + const tabsListChildren = tabsList.children; + + tabsList.classList.remove("tabs-left"); + tabsList.classList.remove("tabs-right"); + for (let i = tabsListChildren.length - 1; i >= 0; i--) { + tabsListChildren.item(i).remove(); } } @@ -935,8 +939,8 @@ class OutputWaiter { */ refreshTabs(activeTab, direction) { const newNums = this.getNearbyNums(activeTab, direction), - tabsLeft = (newNums[0] !== this.getSmallestInputNum()), - tabsRight = (newNums[newNums.length - 1] !== this.getLargestInputNum()); + tabsLeft = (newNums[0] !== this.getSmallestInputNum() && newNums.length > 0), + tabsRight = (newNums[newNums.length - 1] !== this.getLargestInputNum() && newNums.length > 0); this.manager.tabs.refreshOutputTabs(newNums, activeTab, tabsLeft, tabsRight); diff --git a/src/web/workers/InputWorker.mjs b/src/web/workers/InputWorker.mjs index d01a6bb2..4ec1d17f 100644 --- a/src/web/workers/InputWorker.mjs +++ b/src/web/workers/InputWorker.mjs @@ -493,8 +493,8 @@ self.setInput = function(inputData) { self.refreshTabs = function(inputNum, direction) { const nums = self.getNearbyNums(inputNum, direction), inputNums = Object.keys(self.inputs), - tabsLeft = (self.getSmallestInputNum(inputNums) !== nums[0]), - tabsRight = (self.getLargestInputNum(inputNums) !== nums[nums.length - 1]); + tabsLeft = (self.getSmallestInputNum(inputNums) !== nums[0] && nums.length > 0), + tabsRight = (self.getLargestInputNum(inputNums) !== nums[nums.length - 1] && nums.length > 0); self.postMessage({ action: "refreshTabs",