extend: 'Ext.panel.Panel',
alias: 'widget.pvePanelConfig',
- showSearch: true, // add a ressource grid with a search button as first tab
- viewFilter: undefined, // a filter to pass to that ressource grid
+ showSearch: true, // add a resource grid with a search button as first tab
+ viewFilter: undefined, // a filter to pass to that resource grid
+
+ tbarSpacing: true, // if true, adds a spacer after the title in tbar
dockedItems: [{
// this is needed for the overflow handler
style: {
backgroundColor: '#f5f5f5',
padding: 0,
- margin: 0
+ margin: 0,
},
items: {
xtype: 'treelist',
var newitem = info.node;
// when clicking on the expand arrow,
- // we dont select items, but still want
+ // we don't select items, but still want
// the original behaviour
if (info.select === false) {
return;
} else {
info.toggle = true;
}
- }
- }
- }
+ },
+ },
+ },
},
{
xtype: 'toolbar',
itemId: 'toolbar',
dock: 'top',
height: 36,
- overflowHandler: 'scroller'
+ overflowHandler: 'scroller',
}],
firstItem: '',
if (stateid) {
var state = me.sp.get(stateid);
if (state && state.value) {
- // if this tab does not exists, it chooses the first
+ // if this tab does not exist, it chooses the first
activeTab = state.value;
}
}
me.tbar = undefined;
if (!me.onlineHelp) {
- switch(me.pveSelNode.data.id) {
- case 'type/storage':me.onlineHelp = 'chapter-pvesm.html'; break;
- case 'type/qemu':me.onlineHelp = 'chapter-qm.html'; break;
- case 'type/lxc':me.onlineHelp = 'chapter-pct.html'; break;
- case 'type/pool':me.onlineHelp = 'chapter-pveum.html#_pools'; break;
- case 'type/node':me.onlineHelp = 'chapter-sysadmin.html'; break;
+ switch (me.pveSelNode.data.id) {
+ case 'type/storage': me.onlineHelp = 'chapter-pvesm.html'; break;
+ case 'type/qemu': me.onlineHelp = 'chapter-qm.html'; break;
+ case 'type/lxc': me.onlineHelp = 'chapter-pct.html'; break;
+ case 'type/pool': me.onlineHelp = 'chapter-pveum.html#_pools'; break;
+ case 'type/node': me.onlineHelp = 'chapter-sysadmin.html'; break;
}
}
- tbar.unshift('->');
+ if (me.tbarSpacing) {
+ tbar.unshift('->');
+ }
tbar.unshift({
xtype: 'tbtext',
text: title,
- baseCls: 'x-panel-header-text'
+ baseCls: 'x-panel-header-text',
});
me.helpButton = Ext.create('Proxmox.button.Help', {
hidden: false,
listenToGlobalEvent: false,
- onlineHelp: me.onlineHelp || undefined
+ onlineHelp: me.onlineHelp || undefined,
});
tbar.push(me.helpButton);
title: gettext('Search'),
iconCls: 'fa fa-search',
xtype: 'pveResourceGrid',
- pveSelNode: me.pveSelNode
+ pveSelNode: me.pveSelNode,
});
}
me.savedItems = {};
- /*jslint confusion:true*/
if (me.items[0]) {
me.firstItem = me.items[0].itemId;
}
- /*jslint confusion:false*/
me.store = Ext.create('Ext.data.TreeStore', {
root: {
- expanded: true
- }
+ expanded: true,
+ },
});
var root = me.store.getRoot();
- me.items.forEach(function(item){
- var treeitem = Ext.create('Ext.data.TreeModel',{
- id: item.itemId,
- text: item.title,
- iconCls: item.iconCls,
- leaf: true,
- expanded: item.expandedOnInit
- });
- item.header = false;
- if (me.savedItems[item.itemId] !== undefined) {
- throw "itemId already exists, please use another";
- }
- me.savedItems[item.itemId] = item;
-
- var group;
- var curnode = root;
-
- // get/create the group items
- while (Ext.isArray(item.groups) && item.groups.length > 0) {
- group = item.groups.shift();
-
- var child = curnode.findChild('id', group);
- if (child === null) {
- // did not find the group item
- // so add it where we are
- break;
- }
- curnode = child;
- }
-
- // insert the item
-
- // lets see if it already exists
- var node = curnode.findChild('id', item.itemId);
-
- if (node === null) {
- curnode.appendChild(treeitem);
- } else {
- // should not happen!
- throw "id already exists";
- }
- });
+ me.insertNodes(me.items);
delete me.items;
me.defaults = me.defaults || {};
pveSelNode: me.pveSelNode,
viewFilter: me.viewFilter,
workspace: me.workspace,
- border: 0
+ border: 0,
});
me.callParent();
if (stateid) {
me.mon(me.sp, 'statechange', statechange);
}
- }
+ },
+
+ insertNodes: function(items) {
+ var me = this;
+ var root = me.store.getRoot();
+
+ items.forEach(function(item) {
+ var treeitem = Ext.create('Ext.data.TreeModel', {
+ id: item.itemId,
+ text: item.title,
+ iconCls: item.iconCls,
+ leaf: true,
+ expanded: item.expandedOnInit,
+ });
+ item.header = false;
+ if (me.savedItems[item.itemId] !== undefined) {
+ throw "itemId already exists, please use another";
+ }
+ me.savedItems[item.itemId] = item;
+
+ var group;
+ var curnode = root;
+
+ // get/create the group items
+ while (Ext.isArray(item.groups) && item.groups.length > 0) {
+ group = item.groups.shift();
+
+ var child = curnode.findChild('id', group);
+ if (child === null) {
+ // did not find the group item
+ // so add it where we are
+ break;
+ }
+ curnode = child;
+ }
+
+ // insert the item
+
+ // lets see if it already exists
+ var node = curnode.findChild('id', item.itemId);
+
+ if (node === null) {
+ curnode.appendChild(treeitem);
+ } else {
+ // should not happen!
+ throw "id already exists";
+ }
+ });
+ },
});