From c52eb4769c4110234d32e12139db2eccf7cc9e53 Mon Sep 17 00:00:00 2001 From: Dominik Csapak Date: Mon, 11 Mar 2024 15:15:24 +0100 Subject: [PATCH] ui: guest import: add config tab that shows the current config. Recalculates whenever one changes to its tab Signed-off-by: Dominik Csapak --- www/manager6/window/GuestImport.js | 34 ++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/www/manager6/window/GuestImport.js b/www/manager6/window/GuestImport.js index d2bde82d..ec04e8c0 100644 --- a/www/manager6/window/GuestImport.js +++ b/www/manager6/window/GuestImport.js @@ -84,6 +84,14 @@ Ext.define('PVE.window.GuestImport', { } }, + calculateConfig: function() { + let me = this; + let inputPanel = me.lookup('mainInputPanel'); + let summaryGrid = me.lookup('summaryGrid'); + let values = inputPanel.getValues(); + summaryGrid.getStore().setData(Object.entries(values).map(([key, value]) => ({ key, value }))); + }, + control: { 'grid field': { // update records from widgetcolumns @@ -102,6 +110,9 @@ Ext.define('PVE.window.GuestImport', { 'field[name=osbase]': { change: 'onOSBaseChange', }, + 'panel[reference=summaryTab]': { + activate: 'calculateConfig', + }, }, }, @@ -563,6 +574,29 @@ Ext.define('PVE.window.GuestImport', { }, ], }, + { + title: gettext('Resulting Config'), + reference: 'summaryTab', + items: [ + { + xtype: 'grid', + reference: 'summaryGrid', + maxHeight: 400, + scrollable: true, + store: { + model: 'KeyValue', + sorters: [{ + property: 'key', + direction: 'ASC', + }], + }, + columns: [ + { header: 'Key', width: 150, dataIndex: 'key' }, + { header: 'Value', flex: 1, dataIndex: 'value' }, + ], + }, + ], + }, ], }, ], -- 2.39.5