From d5829c75cf840e64f6a0af5e46e3a67a197024d6 Mon Sep 17 00:00:00 2001 From: 0x90 Date: Wed, 25 Jul 2018 13:54:49 -0400 Subject: [PATCH] Allow tabs to be closed with middle click (#3633) Enables closing backend tabs with the middle mouse click. Credit to @AxDSan. Fixes #1970. --- modules/system/assets/ui/js/tab.js | 6 ++++++ modules/system/assets/ui/storm-min.js | 1 + 2 files changed, 7 insertions(+) diff --git a/modules/system/assets/ui/js/tab.js b/modules/system/assets/ui/js/tab.js index 95da90610..97efc18c1 100644 --- a/modules/system/assets/ui/js/tab.js +++ b/modules/system/assets/ui/js/tab.js @@ -38,6 +38,12 @@ var force = (data !== undefined && data.force !== undefined) ? data.force : false; self.closeTab($(ev.target).closest('ul.nav-tabs > li, div.tab-content > div'), force) }) + + this.$el.on('mousedown', "li[data-tab-id]", function (ev) { + if (ev.which === 2) { + $(ev.target).trigger('close.oc.tab'); + } + }) this.$el.on('toggleCollapse.oc.tab', function(ev, data){ ev.preventDefault() diff --git a/modules/system/assets/ui/storm-min.js b/modules/system/assets/ui/storm-min.js index 2422845f1..1c88c51dd 100644 --- a/modules/system/assets/ui/storm-min.js +++ b/modules/system/assets/ui/storm-min.js @@ -4440,6 +4440,7 @@ Tab.prototype.init=function(){var self=this;this.options.slidable=this.options.s $('> li',this.$tabsContainer).each(function(index){self.initTab(this)}) this.$el.on('close.oc.tab',function(ev,data){ev.preventDefault() var force=(data!==undefined&&data.force!==undefined)?data.force:false;self.closeTab($(ev.target).closest('ul.nav-tabs > li, div.tab-content > div'),force)}) +this.$el.on('mousedown',"li[data-tab-id]",function(ev){if(ev.which===2){$(ev.target).trigger('close.oc.tab');}}) this.$el.on('toggleCollapse.oc.tab',function(ev,data){ev.preventDefault() $(ev.target).closest('div.tab-content > div').toggleClass('collapsed')}) this.$el.on('modified.oc.tab',function(ev){ev.preventDefault()