diff --git a/template/app/controller/Classes.js b/template/app/controller/Classes.js index 0254ed2af32875f6fdbcd1f67888fbd0d6f2f439..0d43e1f0564ba0032957f1dd13fa149ae39e2c44 100644 --- a/template/app/controller/Classes.js +++ b/template/app/controller/Classes.js @@ -47,9 +47,6 @@ Ext.define('Docs.controller.Classes', { } ], - // Code for the middle mouse button - MIDDLE: 1, - init: function() { this.addEvents( /** @@ -74,7 +71,7 @@ Ext.define('Docs.controller.Classes', { ); Ext.getBody().addListener('click', function(event, el) { - (event.button === this.MIDDLE || event.shiftKey || event.ctrlKey) ? window.open(el.href) : this.loadClass(el.rel); + this.opensNewWindow(event) ? window.open(el.href) : this.loadClass(el.rel); }, this, { preventDefault: true, delegate: '.docClass' @@ -83,19 +80,19 @@ Ext.define('Docs.controller.Classes', { this.control({ 'classtree': { classclick: function(cls, event) { - (event.button === this.MIDDLE || event.shiftKey || event.ctrlKey) ? window.open("#/api/" + cls) : this.loadClass(cls); + this.opensNewWindow(event) ? window.open("#/api/" + cls) : this.loadClass(cls); } }, 'classgrid': { classclick: function(cls, event) { - (event.button === this.MIDDLE || event.shiftKey || event.ctrlKey) ? window.open("#/api/" + cls) : this.loadClass(cls); + this.opensNewWindow(event) ? window.open("#/api/" + cls) : this.loadClass(cls); } }, 'indexcontainer': { afterrender: function(cmp) { cmp.el.addListener('click', function(event, el) { - (event.button === this.MIDDLE) ? window.open(el.href) : this.showGuide(el.rel); + this.opensNewWindow(event) ? window.open(el.href) : this.showGuide(el.rel); }, this, { preventDefault: true, delegate: '.guide' @@ -123,6 +120,15 @@ Ext.define('Docs.controller.Classes', { }); }, + // Code for the middle mouse button + MIDDLE: 1, + + // True when middle mouse button pressed or shift/ctrl key pressed + // together with mouse button (for Mac) + opensNewWindow: function(event) { + return event.button === this.MIDDLE || event.shiftKey || event.ctrlKey; + }, + cache: {}, /**