move cmdmenu function and use it in poolmemberlist

we had the function for the cmdmenu at two
different places (resourcetree and resourcegrid)

move it to PVE.Utils to reuse code, and
also use it in pool members list

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
This commit is contained in:
Dominik Csapak 2016-05-19 14:27:05 +02:00 committed by Dietmar Maurer
parent 26d2ef1523
commit 685b7aa4c5
4 changed files with 34 additions and 61 deletions

View File

@ -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());
}
}});

View File

@ -237,6 +237,7 @@ Ext.define('PVE.grid.PoolMembers', {
},
columns: coldef,
listeners: {
itemcontextmenu: PVE.Utils.createCmdMenu,
activate: reload
}
});

View File

@ -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);

View File

@ -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);
},