]> git.proxmox.com Git - pve-manager-legacy.git/commitdiff
refactor OSDefaults, OSTypeEdit: add and use getDefaults
authorThomas Lamprecht <t.lamprecht@proxmox.com>
Fri, 22 Sep 2017 12:20:22 +0000 (14:20 +0200)
committerWolfgang Bumiller <w.bumiller@proxmox.com>
Mon, 25 Sep 2017 12:11:50 +0000 (14:11 +0200)
encapuslation wise it makes sense to have a helper which assembles a
os specific setting object in the OSDefaults class, where those
settings are defined.

Else we always need to check if the current OSType on the user side
of this class, which is against encapsulation.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
www/manager6/qemu/OSDefaults.js
www/manager6/qemu/OSTypeEdit.js

index 89d9c153a388bcda072d7b6326a1f64eb31a3809..d47b9d01fc3a2b89648f281c10c1548be8332ca9 100644 (file)
@@ -73,5 +73,13 @@ Ext.define('PVE.qemu.OSDefaults', {
            pveOS: 'wxp',
            parent : 'w2k'
        });
+
+       me.getDefaults = function(ostype) {
+           if (PVE.qemu.OSDefaults[ostype]) {
+               return PVE.qemu.OSDefaults[ostype];
+           } else {
+               return PVE.qemu.OSDefaults.generic;
+           }
+       };
     }
 });
index 162a92ec47dda54218e7b8a7d0268fa1d343adc6..14a1245b6ef5212bc1fd0efd36211a24ca9d2b0b 100644 (file)
@@ -8,26 +8,20 @@ Ext.define('PVE.qemu.OSTypeInputPanel', {
        xclass: 'Ext.app.ViewController',
        control: {
            'radiogroup': {
-                   change: function(field, value) {
-                       var me = this;
-                       if (!me.getView().insideWizard) {
-                           return;
-                       }
-
-                       var targetValues;
-
-                       if (PVE.qemu.OSDefaults[value.ostype]) {
-                           targetValues = PVE.qemu.OSDefaults[value.ostype];
-                       } else {
-                           targetValues = PVE.qemu.OSDefaults.generic;
-                       }
-
-                       me.setWidget('pveBusSelector', targetValues.busType);
-                       me.setWidget('pveNetworkCardSelector', targetValues.networkCard);
-                       me.setWizardHiddenValue('qemuScsiController', targetValues.scsihw);
-                   }
+               change: 'onOSTypeChange'
            }
        },
+       onOSTypeChange: function(field) {
+           var me = this, ostype = field.getValue();
+           if (!me.getView().insideWizard) {
+               return;
+           }
+           var targetValues = PVE.qemu.OSDefaults.getDefaults(ostype);
+
+           me.setWidget('pveBusSelector', targetValues.busType);
+           me.setWidget('pveNetworkCardSelector', targetValues.networkCard);
+           me.setWizardHiddenValue('qemuScsiController', targetValues.scsihw);
+       },
        setWidget: function(widget, newValue) {
            // changing a widget is safe only if ComponentQuery.query returns us
            // a single value array