iconCls: 'fa fa-file-o fa-dark x-fa-tree-template'
},
datacenter: {
- iconCls: 'fa fa-server x-fa-tree-datacenter',
+ iconCls: 'fa fa-server x-fa-tree-datacenter'
}
}
},
var defaults = PVE.tree.ResourceTree.typeDefaults[info.type];
if (info.id === 'root') {
- defaults = PVE.tree.ResourceTree.typeDefaults['datacenter'];
+ defaults = PVE.tree.ResourceTree.typeDefaults.datacenter;
} else if (info.type === 'type') {
defaults = PVE.tree.ResourceTree.typeDefaults[info.groupbyid];
}
if (info.template) {
iconClsAdd = '-template';
- info.iconCls = PVE.tree.ResourceTree.typeDefaults['template'].iconCls + '-' + info.type;
+ info.iconCls = PVE.tree.ResourceTree.typeDefaults.template.iconCls + '-' + info.type;
}
}
if (item) {
// test if any grouping attributes changed
// this will also catch migrated nodes
+ // in server view
var i, len;
for (i = 0, len = groups.length; i < len; i++) {
var attr = groups[i];
}
}
+ // explicitely check for node, since
+ // in some views, node is not a grouping
+ // attribute
+ if (!moved && item.data.node !== olditem.data.node) {
+ moved = true;
+ }
+
// tree item has been updated
if ((item.data.text !== olditem.data.text) ||
(item.data.running !== olditem.data.running) ||
sp.on('statechange', statechange);
Ext.apply(me, {
+ allowSelection: true,
store: store,
viewConfig: {
// note: animate cause problems with applyState
//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);
- }
+ },
+ beforecellmousedown: function (tree, td, cellIndex, record, tr, rowIndex, ev) {
+ // disable selection when right clicking
+ me.allowSelection = (ev.button !== 2);
+ },
+ beforeselect: function (tree, record, index, eopts) {
+ var allow = me.allowSelection;
+ me.allowSelection = true;
+ return allow;
+ },
+ itemdblclick: PVE.Utils.openTreeConsole
},
setViewFilter: function(view) {
me.viewFilter = view;
cn.expand();
}
}
+ me.getView().focusRow(node);
}
},
selectById: function(nodeid) {