diff --git a/www/manager6/Utils.js b/www/manager6/Utils.js index 7fd0298e..992ae85e 100644 --- a/www/manager6/Utils.js +++ b/www/manager6/Utils.js @@ -1184,7 +1184,37 @@ Ext.define('PVE.Utils', { statics: { } PVE.Utils.setErrorMask(me, msg); }); - } + }, + createCmdMenu: function(v, record, item, index, event) { + event.stopEvent(); + v.select(record); + var menu; + + if (record.data.type === 'qemu' && !record.data.template) { + menu = Ext.create('PVE.qemu.CmdMenu', { + pveSelNode: record + }); + } else if (record.data.type === 'qemu' && record.data.template) { + menu = Ext.create('PVE.qemu.TemplateMenu', { + pveSelNode: record + }); + } else if (record.data.type === 'lxc' && !record.data.template) { + menu = Ext.create('PVE.lxc.CmdMenu', { + pveSelNode: record + }); + } else if (record.data.type === 'lxc' && record.data.template) { + /* since clone does not work reliably, disable for now + menu = Ext.create('PVE.lxc.TemplateMenu', { + pveSelNode: record + }); + */ + return; + } else { + return; + } + + menu.showAt(event.getXY()); + } }}); diff --git a/www/manager6/grid/PoolMembers.js b/www/manager6/grid/PoolMembers.js index aec15bed..6c7164d9 100644 --- a/www/manager6/grid/PoolMembers.js +++ b/www/manager6/grid/PoolMembers.js @@ -237,6 +237,7 @@ Ext.define('PVE.grid.PoolMembers', { }, columns: coldef, listeners: { + itemcontextmenu: PVE.Utils.createCmdMenu, activate: reload } }); diff --git a/www/manager6/grid/ResourceGrid.js b/www/manager6/grid/ResourceGrid.js index 935bdd0a..ad6f05dd 100644 --- a/www/manager6/grid/ResourceGrid.js +++ b/www/manager6/grid/ResourceGrid.js @@ -186,36 +186,7 @@ Ext.define('PVE.grid.ResourceGrid', { stripeRows: true }, listeners: { - itemcontextmenu: function(v, record, item, index, event) { - event.stopEvent(); - v.select(record); - var menu; - - if (record.data.type === 'qemu' && !record.data.template) { - menu = Ext.create('PVE.qemu.CmdMenu', { - pveSelNode: record - }); - } else if (record.data.type === 'qemu' && record.data.template) { - menu = Ext.create('PVE.qemu.TemplateMenu', { - pveSelNode: record - }); - } else if (record.data.type === 'lxc' && !record.data.template) { - menu = Ext.create('PVE.lxc.CmdMenu', { - pveSelNode: record - }); - } else if (record.data.type === 'lxc' && record.data.template) { - /* since clone does not work reliably, disable for now - menu = Ext.create('PVE.lxc.TemplateMenu', { - pveSelNode: record - }); - */ - return; - } else { - return; - } - - menu.showAt(event.getXY()); - }, + itemcontextmenu: PVE.Utils.createCmdMenu, itemdblclick: function(v, record) { var ws = me.up('pveStdWorkspace'); ws.selectById(record.data.id); diff --git a/www/manager6/tree/ResourceTree.js b/www/manager6/tree/ResourceTree.js index d94a63ce..b15ed4f1 100644 --- a/www/manager6/tree/ResourceTree.js +++ b/www/manager6/tree/ResourceTree.js @@ -375,36 +375,7 @@ Ext.define('PVE.tree.ResourceTree', { //rootVisible: false, //title: 'Resource Tree', listeners: { - itemcontextmenu: function(v, record, item, index, event) { - event.stopEvent(); - //v.select(record); - var menu; - - if (record.data.type === 'qemu' && !record.data.template) { - menu = Ext.create('PVE.qemu.CmdMenu', { - pveSelNode: record - }); - } else if (record.data.type === 'qemu' && record.data.template) { - menu = Ext.create('PVE.qemu.TemplateMenu', { - pveSelNode: record - }); - } else if (record.data.type === 'lxc' && !record.data.template) { - menu = Ext.create('PVE.lxc.CmdMenu', { - pveSelNode: record - }); - } else if (record.data.type === 'lxc' && record.data.template) { - /* since clone does not work reliably, disable for now - menu = Ext.create('PVE.lxc.TemplateMenu', { - pveSelNode: record - }); - */ - return; - } else { - return; - } - - menu.showAt(event.getXY()); - }, + itemcontextmenu: PVE.Utils.createCmdMenu, destroy: function() { rstore.un("load", updateTree); },