This makes it possible to set the newly introduced config parameter
for timeout via the 'startoptions' property string.
For now this only implements setting the timeout value when starting
a VM, though this should be rather easily exentensible to include
other future start options parameters.

Signed-off-by: Daniel Tschlatscher <d.tschlatsc...@proxmox.com>
---
Changes from v1:
* Now uses a property string to encode the timeout
 www/manager6/qemu/Options.js | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/www/manager6/qemu/Options.js b/www/manager6/qemu/Options.js
index a1def4bb..27b3ad93 100644
--- a/www/manager6/qemu/Options.js
+++ b/www/manager6/qemu/Options.js
@@ -76,6 +76,37 @@ Ext.define('PVE.qemu.Options', {
                        onlineHelp: 'qm_startup_and_shutdown',
                    } : undefined,
            },
+           startoptions: {
+               header: gettext('VM startup options'),
+               defaultValue: Proxmox.Utils.defaultText,
+               renderer: val => val,
+               editor: caps.vms['VM.Config.Options'] ? {
+                   xtype: 'proxmoxWindowEdit',
+                   subject: gettext('VM start timeout'),
+                   setValues: function(values) {
+                       Ext.Array.each(this.query('inputpanel'), 
function(panel) {
+                           
panel.setValues(PVE.Parser.parsePropertyString(values.startoptions));
+                       });
+                   },
+                   items: {
+                       xtype: 'inputpanel',
+                       items: {
+                           xtype: 'proxmoxintegerfield',
+                           name: 'timeout',
+                           minValue: 0,
+                           maxValue: 86400,
+                           fieldLabel: gettext('Timeout (sec)'),
+                           emptyText: Proxmox.Utils.defaultText,
+                       },
+                       onGetValues: function(values) {
+                           if (values === undefined || 
Object.keys(values).length === 0) {
+                               return { 'delete': 'startoptions' };
+                           }
+                           return { 'startoptions': 
PVE.Parser.printPropertyString(values) };
+                       },
+                   },
+               } : undefined,
+           },
            ostype: {
                header: gettext('OS Type'),
                editor: caps.vms['VM.Config.Options'] ? 'PVE.qemu.OSTypeEdit' : 
undefined,
-- 
2.30.2



_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to