diff --git a/packages/node_modules/@node-red/editor-client/src/js/settings.js b/packages/node_modules/@node-red/editor-client/src/js/settings.js index 39f372974..467c5b569 100644 --- a/packages/node_modules/@node-red/editor-client/src/js/settings.js +++ b/packages/node_modules/@node-red/editor-client/src/js/settings.js @@ -220,6 +220,16 @@ RED.settings = (function () { return defaultValue; } } + function getLocal(key) { + return localStorage.getItem(key) + } + function setLocal(key, value) { + localStorage.setItem(key, value); + } + function removeLocal(key) { + localStorage.removeItem(key) + } + return { init: init, @@ -228,6 +238,9 @@ RED.settings = (function () { set: set, get: get, remove: remove, - theme: theme + theme: theme, + setLocal: setLocal, + getLocal: getLocal, + removeLocal: removeLocal } })(); diff --git a/packages/node_modules/@node-red/editor-client/src/js/ui/workspaces.js b/packages/node_modules/@node-red/editor-client/src/js/ui/workspaces.js index 2e4ef385d..f6631c59b 100644 --- a/packages/node_modules/@node-red/editor-client/src/js/ui/workspaces.js +++ b/packages/node_modules/@node-red/editor-client/src/js/ui/workspaces.js @@ -57,6 +57,11 @@ RED.workspaces = (function() { ws.hideable = true; } workspace_tabs.addTab(ws,targetIndex); + + var hiddenTabs = JSON.parse(RED.settings.getLocal("hiddenTabs")||"{}"); + if (hiddenTabs[ws.id]) { + workspace_tabs.hideTab(ws.id); + } workspace_tabs.resize(); } else { var tabId = RED.nodes.id(); @@ -664,6 +669,9 @@ RED.workspaces = (function() { } if (workspace_tabs.contains(id)) { workspace_tabs.hideTab(id); + var hiddenTabs = JSON.parse(RED.settings.getLocal("hiddenTabs")||"{}"); + hiddenTabs[id] = true; + RED.settings.setLocal("hiddenTabs",JSON.stringify(hiddenTabs)); } }, show: function(id,skipStack,unhideOnly) { @@ -688,6 +696,9 @@ RED.workspaces = (function() { } workspace_tabs.activateTab(id); } + var hiddenTabs = JSON.parse(RED.settings.getLocal("hiddenTabs")||"{}"); + delete hiddenTabs[id]; + RED.settings.setLocal("hiddenTabs",JSON.stringify(hiddenTabs)); }, refresh: function() { RED.nodes.eachWorkspace(function(ws) {