[pve-devel] r6253 - in pve-manager/pve2/www/manager: grid qemu

svn-commits at proxmox.com svn-commits at proxmox.com
Thu Jul 7 11:44:55 CEST 2011


Author: dietmar
Date: 2011-07-07 11:44:55 +0200 (Thu, 07 Jul 2011)
New Revision: 6253

Modified:
   pve-manager/pve2/www/manager/grid/ObjectGrid.js
   pve-manager/pve2/www/manager/qemu/HardwareView.js
Log:
sort items in hardware view


Modified: pve-manager/pve2/www/manager/grid/ObjectGrid.js
===================================================================
--- pve-manager/pve2/www/manager/grid/ObjectGrid.js	2011-07-07 08:37:22 UTC (rev 6252)
+++ pve-manager/pve2/www/manager/grid/ObjectGrid.js	2011-07-07 09:44:55 UTC (rev 6253)
@@ -65,6 +65,12 @@
 	    });
 	}
 
+	if (me.sorterFn) {
+	    store.sorters.add(new Ext.util.Sorter({
+		sorterFn: me.sorterFn
+	    }));
+	}
+
 	store.filters.add(new Ext.util.Filter({
 	    filterFn: function(item) {
 		if (rows) {

Modified: pve-manager/pve2/www/manager/qemu/HardwareView.js
===================================================================
--- pve-manager/pve2/www/manager/qemu/HardwareView.js	2011-07-07 08:37:22 UTC (rev 6252)
+++ pve-manager/pve2/www/manager/qemu/HardwareView.js	2011-07-07 09:44:55 UTC (rev 6253)
@@ -838,6 +838,7 @@
 	for (i = 0; i < 4; i++) {
 	    confid = "ide" + i;
 	    rows[confid] = {
+		group: 1,
 		tdCls: 'pve-itype-icon-storage',
 		editor: 'PVE.qemu.HDEdit',
 		header: 'Hard Disk ' + '(' + confid +')'
@@ -846,6 +847,7 @@
 	for (i = 0; i < 16; i++) {
 	    confid = "scsi" + i;
 	    rows[confid] = {
+		group: 1,
 		tdCls: 'pve-itype-icon-storage',
 		editor: 'PVE.qemu.HDEdit',
 		header: 'Hard Disk ' + '(' + confid +')'
@@ -854,6 +856,7 @@
 	for (i = 0; i < 16; i++) {
 	    confid = "virtio" + i;
 	    rows[confid] = {
+		group: 1,
 		tdCls: 'pve-itype-icon-storage',
 		editor: 'PVE.qemu.HDEdit',
 		header: 'Hard Disk ' + '(' + confid +')'
@@ -862,6 +865,7 @@
 	for (i = 0; i < 32; i++) {
 	    confid = "net" + i;
 	    rows[confid] = {
+		group: 2,
 		tdCls: 'pve-itype-icon-network',
 		editor: 'PVE.qemu.NetworkEdit',
 		header: 'Network Adapter '+ '(' + confid +')'
@@ -869,12 +873,24 @@
 	}
 	for (i = 0; i < 8; i++) {
 	    rows["unused" + i] = {
+		group: 3,
 		tdCls: 'pve-itype-icon-storage',
 		editor: 'PVE.qemu.HDCreate',
 		header: 'Unused Disk'
 	    };
 	}
 
+	var sorterFn = function(rec1, rec2) {
+	    var v1 = rec1.data.key;
+	    var v2 = rec2.data.key;
+	    var g1 = rows[v1].group || 0;
+	    var g2 = rows[v2].group || 0;
+	    if (g1 !== g2)
+		return g1 > g2 ? 1 : -1;
+
+            return v1 > v2 ? 1 : (v1 < v2 ? -1 : 0);
+	};
+
 	var reload = function() {
 	    me.rstore.load();
 	};
@@ -974,7 +990,7 @@
 	Ext.applyIf(me, {
 	    url: '/api2/json/' + baseurl,
 	    cwidth1: 170,
-	    tbar: [ 
+ 	    tbar: [ 
 		{
 		    text: 'Add',
 		    menu: new Ext.menu.Menu({
@@ -1023,6 +1039,7 @@
 		edit_btn
 	    ],
 	    rows: rows,
+	    sorterFn: sorterFn,
 	    listeners: {
 		itemdblclick: function() {
 		    run_editor();



More information about the pve-devel mailing list