From d365540e1402cb1f2902f3fff02e661d14c3f86a Mon Sep 17 00:00:00 2001 From: Dominik Csapak Date: Mon, 19 Apr 2021 13:00:43 +0200 Subject: [PATCH] Utils: refactor updateColumns from pve-manager we want to reuse this in pbs Signed-off-by: Dominik Csapak --- 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,