[pve-devel] [PATCH widget-toolkit 3/4] Utils: refactor updateColumns from pve-manager

Dominik Csapak d.csapak at proxmox.com
Mon Apr 19 13:00:43 CEST 2021


we want to reuse this in pbs

Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>
---
 src/Utils.js | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/src/Utils.js b/src/Utils.js
index 9d785a8..adff5f4 100644
--- a/src/Utils.js
+++ b/src/Utils.js
@@ -1060,6 +1060,36 @@ utilities: {
 	}
 	return acme;
     },
+
+    updateColumns: function(container) {
+	let mode = Ext.state.Manager.get('summarycolumns') || 'auto';
+	let factor;
+	if (mode !== 'auto') {
+	    factor = parseInt(mode, 10);
+	    if (Number.isNaN(factor)) {
+		factor = 1;
+	    }
+	} else {
+	    factor = container.getSize().width < 1400 ? 1 : 2;
+	}
+
+	if (container.oldFactor === factor) {
+	    return;
+	}
+
+	let items = container.query('>'); // direct childs
+	factor = Math.min(factor, items.length);
+	container.oldFactor = factor;
+
+	items.forEach((item) => {
+	    item.columnWidth = 1 / factor;
+	});
+
+	// we have to update the layout twice, since the first layout change
+	// can trigger the scrollbar which reduces the amount of space left
+	container.updateLayout();
+	container.updateLayout();
+    },
 },
 
     singleton: true,
-- 
2.20.1





More information about the pve-devel mailing list