]> git.proxmox.com Git - pve-manager.git/blobdiff - www/manager6/qemu/MemoryEdit.js
api: add proxmox-firewall to versions pkg list
[pve-manager.git] / www / manager6 / qemu / MemoryEdit.js
index b4ea127b5960eefae26a11c9e8b78ad05d8b50f3..5e91dc9be0804cf764b442ad9df7751a81cb0724 100644 (file)
@@ -5,6 +5,32 @@ Ext.define('PVE.qemu.MemoryInputPanel', {
 
     insideWizard: false,
 
+    viewModel: {}, // inherit data from createWizard if insideWizard
+
+    controller: {
+       xclass: 'Ext.app.ViewController',
+
+       control: {
+           '#': {
+               afterrender: 'setMemory',
+           },
+       },
+
+       setMemory: function() {
+           let me = this;
+           let view = me.getView(), viewModel = me.getViewModel();
+           if (view.insideWizard) {
+               let memory = view.down('pveMemoryField[name=memory]');
+               // NOTE: we only set memory but that then sets balloon in its change handler
+               if (viewModel.get('current.ostype') === 'win11') {
+                   memory.setValue('4096');
+               } else {
+                   memory.setValue('2048');
+               }
+           }
+       },
+    },
+
     onGetValues: function(values) {
        var me = this;
 
@@ -15,14 +41,14 @@ Ext.define('PVE.qemu.MemoryInputPanel', {
 
        if (!values.ballooning) {
            res.balloon = 0;
-           res['delete'] = 'shares';
+           res.delete = 'shares';
        } else if (values.memory === values.balloon) {
            delete res.balloon;
-           res['delete'] = 'balloon,shares';
-       } else if (Ext.isDefined(values.shares) && (values.shares !== "")) {
+           res.delete = 'balloon,shares';
+       } else if (Ext.isDefined(values.shares) && values.shares !== "") {
            res.shares = values.shares;
        } else {
-           res['delete'] = "shares";
+           res.delete = "shares";
        }
 
        return res;
@@ -38,7 +64,7 @@ Ext.define('PVE.qemu.MemoryInputPanel', {
                labelWidth: labelWidth,
                fieldLabel: gettext('Memory') + ' (MiB)',
                name: 'memory',
-               value: me.insideWizard ? '2048' : '512',
+               value: '512', // better defaults get set via the view controllers afterrender
                minValue: 1,
                step: 32,
                hotplug: me.hotplug,
@@ -62,7 +88,7 @@ Ext.define('PVE.qemu.MemoryInputPanel', {
                name: 'balloon',
                minValue: 1,
                maxValue: me.insideWizard ? 2048 : 512,
-               value: me.insideWizard ? '2048' : '512',
+               value: '512', // better defaults get set (indirectly) via the view controllers afterrender
                step: 32,
                fieldLabel: gettext('Minimum memory') + ' (MiB)',
                hotplug: me.hotplug,
@@ -102,7 +128,7 @@ Ext.define('PVE.qemu.MemoryInputPanel', {
                        var shares = me.down('field[name=shares]');
                        var memory = me.down('field[name=memory]');
                        bf.setDisabled(!value);
-                       shares.setDisabled(!value || (bf.getValue() === memory.getValue()));
+                       shares.setDisabled(!value || bf.getValue() === memory.getValue());
                    },
                },
            },
@@ -156,7 +182,7 @@ Ext.define('PVE.qemu.MemoryEdit', {
                    ballooning: data.balloon === 0 ? '0' : '1',
                    shares: data.shares,
                    memory: data.memory || '512',
-                   balloon: data.balloon > 0 ? data.balloon : (data.memory || '512'),
+                   balloon: data.balloon > 0 ? data.balloon : data.memory || '512',
                };
 
                ipanel.setValues(values);