Prechádzať zdrojové kódy

Fix tab bar shadows appearing when they shouldn't

j433866 6 rokov pred
rodič
commit
36abaeb6fb

+ 7 - 3
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({

+ 9 - 5
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);
 

+ 2 - 2
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",