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;
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;
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,
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,
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());
},
},
},
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);