Merge pull request #4657 from node-red/tab-close-middle-click

Hide workspace tab on middle mouse click
This commit is contained in:
Nick O'Leary 2024-05-03 16:59:28 +01:00 committed by GitHub
commit 598b0c84ab
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 18 additions and 5 deletions

View File

@ -365,7 +365,10 @@ RED.tabs = (function() {
var thisTabA = thisTab.find("a"); var thisTabA = thisTab.find("a");
if (options.onclick) { if (options.onclick) {
options.onclick(tabs[thisTabA.attr('href').slice(1)]); options.onclick(tabs[thisTabA.attr('href').slice(1)], evt);
if (evt.isDefaultPrevented() && evt.isPropagationStopped()) {
return false
}
} }
activateTab(thisTabA); activateTab(thisTabA);
if (fireSelectionChanged) { if (fireSelectionChanged) {
@ -548,6 +551,8 @@ RED.tabs = (function() {
ul.find("li.red-ui-tab a") ul.find("li.red-ui-tab a")
.on("mousedown", function(evt) { mousedownTab = evt.currentTarget }) .on("mousedown", function(evt) { mousedownTab = evt.currentTarget })
.on("mouseup",onTabClick) .on("mouseup",onTabClick)
// prevent browser-default middle-click behaviour
.on("auxclick", function(evt) { evt.preventDefault() })
.on("click", function(evt) {evt.preventDefault(); }) .on("click", function(evt) {evt.preventDefault(); })
.on("dblclick", function(evt) {evt.stopPropagation(); evt.preventDefault(); }) .on("dblclick", function(evt) {evt.stopPropagation(); evt.preventDefault(); })
@ -816,6 +821,8 @@ RED.tabs = (function() {
} }
link.on("mousedown", function(evt) { mousedownTab = evt.currentTarget }) link.on("mousedown", function(evt) { mousedownTab = evt.currentTarget })
link.on("mouseup",onTabClick); link.on("mouseup",onTabClick);
// prevent browser-default middle-click behaviour
link.on("auxclick", function(evt) { evt.preventDefault() })
link.on("click", function(evt) { evt.preventDefault(); }) link.on("click", function(evt) { evt.preventDefault(); })
link.on("dblclick", function(evt) { evt.stopPropagation(); evt.preventDefault(); }) link.on("dblclick", function(evt) { evt.stopPropagation(); evt.preventDefault(); })

View File

@ -359,11 +359,17 @@ RED.workspaces = (function() {
RED.sidebar.config.refresh(); RED.sidebar.config.refresh();
RED.view.focus(); RED.view.focus();
}, },
onclick: function(tab) { onclick: function(tab, evt) {
if (tab.id !== activeWorkspace) { if(evt.which === 2) {
addToViewStack(activeWorkspace); evt.preventDefault();
evt.stopPropagation();
RED.actions.invoke("core:hide-flow", tab)
} else {
if (tab.id !== activeWorkspace) {
addToViewStack(activeWorkspace);
}
RED.view.focus();
} }
RED.view.focus();
}, },
ondblclick: function(tab) { ondblclick: function(tab) {
if (tab.type != "subflow") { if (tab.type != "subflow") {