]> git.proxmox.com Git - pve-manager.git/blobdiff - www/manager6/window/GuestDiskReassign.js
ui: avoid trivial decompression widget, only used once
[pve-manager.git] / www / manager6 / window / GuestDiskReassign.js
index f28895689ed68ee5a0618ce0f1d2d68b34e265c9..f6d08b32b39791ceff6f1a07f443babc20751f3e 100644 (file)
@@ -37,7 +37,7 @@ Ext.define('PVE.window.GuestDiskReassign', {
     },
 
     cbind: {
-       title: get => get('isQemu') ? gettext('Reassign disk') : gettext('Reassign volume'),
+       title: get => get('isQemu') ? gettext('Reassign Disk') : gettext('Reassign Volume'),
        submitText: get => get('title'),
        qemu: '{isQemu}',
        url: '{url}',
@@ -72,8 +72,9 @@ Ext.define('PVE.window.GuestDiskReassign', {
        },
 
        onMpTypeChange: function(value) {
-           this.getView().getViewModel().set('mpType', value.getValue());
-           this.getView().lookup('mpIdSelector').validate();
+           let view = this.getView();
+           view.getViewModel().set('mpType', value.getValue());
+           view.lookup('mpIdSelector').validate();
        },
 
        onTargetVMChange: function(f, vmid) {
@@ -86,22 +87,20 @@ Ext.define('PVE.window.GuestDiskReassign', {
                return;
            }
 
-           let type = view.qemu ? 'qemu' : 'lxc';
-
-           let url = `/nodes/${view.nodename}/${type}/${vmid}/config`;
+           let url = `/nodes/${view.nodename}/${view.type}/${vmid}/config`;
            Proxmox.Utils.API2Request({
                url: url,
                method: 'GET',
                failure: response => Ext.Msg.alert(gettext('Error'), response.htmlStatus),
-               success: function(response, options) {
+               success: function({ result }, options) {
                    if (view.qemu) {
-                       diskSelector.setVMConfig(response.result.data);
+                       diskSelector.setVMConfig(result.data);
                        diskSelector.setDisabled(false);
                    } else {
                        let mpIdSelector = view.lookup('mpIdSelector');
                        let mpType = view.lookup('mpType');
 
-                       view.VMConfig = response.result.data;
+                       view.VMConfig = result.data;
 
                        mpIdSelector.setValue(
                            PVE.Utils.nextFreeMP(
@@ -119,134 +118,114 @@ Ext.define('PVE.window.GuestDiskReassign', {
        },
     },
 
+    defaultFocus: 'sourceDisk',
     items: [
        {
-           xtype: 'form',
-           reference: 'moveFormPanel',
-           border: false,
-           fieldDefaults: {
-               labelWidth: 100,
-               anchor: '100%',
+           xtype: 'displayfield',
+           name: 'sourceDisk',
+           fieldLabel: gettext('Source'),
+           cbind: {
+               name: get => get('isQemu') ? 'disk' : 'volume',
+               value: '{disk}',
+           },
+           allowBlank: false,
+       },
+       {
+           xtype: 'vmComboSelector',
+           name: 'targetVmid',
+           allowBlank: false,
+           fieldLabel: gettext('Target Guest'),
+           store: {
+               model: 'PVEResources',
+               autoLoad: true,
+               sorters: 'vmid',
+               cbind: {}, // for nested cbinds
+               filters: [
+                   {
+                       property: 'type',
+                       cbind: { value: '{type}' },
+                   },
+                   {
+                       property: 'node',
+                       cbind: { value: '{nodename}' },
+                   },
+                   // FIXME: remove, artificial restriction that doesn't gains us anything..
+                   {
+                       property: 'vmid',
+                       operator: '!=',
+                       cbind: { value: '{vmid}' },
+                   },
+                   {
+                       property: 'template',
+                       value: 0,
+                   },
+               ],
+           },
+           listeners: { change: 'onTargetVMChange' },
+       },
+       {
+           xtype: 'pveControllerSelector',
+           reference: 'diskSelector',
+           withUnused: true,
+           disabled: true,
+           cbind: {
+               hidden: '{!isQemu}',
+           },
+       },
+       {
+           xtype: 'container',
+           layout: 'hbox',
+           cbind: {
+               hidden: '{isQemu}',
+               disabled: '{isQemu}',
            },
            items: [
                {
-                   xtype: 'displayfield',
-                   name: 'sourceDisk',
-                   fieldLabel: gettext('Source'),
+                   xtype: 'pmxDisplayEditField',
                    cbind: {
-                       name: get => get('isQemu') ? 'disk' : 'volume',
-                       value: '{disk}',
+                       editable: get => !get('disk').match(/^unused\d+/),
+                       value: get => get('disk').match(/^unused\d+/) ? 'unused' : 'mp',
                    },
-                   allowBlank: false,
-               },
-               {
-                   xtype: 'vmComboSelector',
-                   reference: 'targetVMID',
-                   name: 'targetVmid',
-                   allowBlank: false,
-                   fieldLabel: gettext('Target'),
-                   bind: {
-                       value: '{targetVMID}',
-                   },
-                   store: {
-                       model: 'PVEResources',
-                       autoLoad: true,
-                       sorters: 'vmid',
-                       cbind: {}, // for nested cbinds
-                       filters: [
-                           {
-                               property: 'type',
-                               cbind: {
-                                   value: get => get('isQemu') ? 'qemu' : 'lxc',
-                               },
-                           },
-                           {
-                               property: 'node',
-                               cbind: {
-                                   value: '{nodename}',
-                               },
-                           },
-                           {
-                               property: 'vmid',
-                               operator: '!=',
-                               cbind: {
-                                   value: '{vmid}',
-                               },
-                           },
-                           {
-                               property: 'template',
-                               value: 0,
-                           },
+                   disabled: true,
+                   name: 'mpType',
+                   reference: 'mpType',
+                   fieldLabel: gettext('Add as'),
+                   submitValue: true,
+                   flex: 4,
+                   editConfig: {
+                       xtype: 'proxmoxKVComboBox',
+                       name: 'mpTypeCombo',
+                       deleteEmpty: false,
+                       cbind: {
+                           hidden: '{isQemu}',
+                       },
+                       comboItems: [
+                           ['mp', gettext('Mount Point')],
+                           ['unused', gettext('Unused')],
                        ],
+                       listeners: { change: 'onMpTypeChange' },
                    },
-                   listeners: { change: 'onTargetVMChange' },
                },
                {
-                   xtype: 'pveControllerSelector',
-                   reference: 'diskSelector',
-                   withUnused: true,
+                   xtype: 'proxmoxintegerfield',
+                   name: 'mpId',
+                   reference: 'mpIdSelector',
+                   minValue: 0,
+                   flex: 1,
+                   allowBlank: false,
+                   validateOnChange: true,
                    disabled: true,
-                   cbind: {
-                       hidden: '{!isQemu}',
+                   bind: {
+                       maxValue: '{mpMaxCount}',
                    },
-               },
-               {
-                   xtype: 'container',
-                   layout: 'hbox',
-                   cbind: {
-                       hidden: '{isQemu}',
-                       disabled: '{isQemu}',
+                   validator: function(value) {
+                       let view = this.up('window');
+                       let type = view.getViewModel().get('mpType');
+                       if (Ext.isDefined(view.VMConfig[`${type}${value}`])) {
+                           return "Mount point is already in use.";
+                       }
+                       return true;
                    },
-                   items: [
-                       {
-                           xtype: 'pmxDisplayEditField',
-                           cbind: {
-                               editable: get => !get('disk').match(/^unused\d+/),
-                               value: get => get('disk').match(/^unused\d+/) ? 'unused' : 'mp',
-                           },
-                           disabled: true,
-                           name: 'mpType',
-                           reference: 'mpType',
-                           fieldLabel: gettext('Add as'),
-                           submitValue: true,
-                           flex: 4,
-                           editConfig: {
-                               xtype: 'proxmoxKVComboBox',
-                               name: 'mpTypeCombo',
-                               reference: 'mpTypeCombo',
-                               deleteEmpty: false,
-                               cbind: {
-                                   hidden: '{isQemu}',
-                               },
-                               comboItems: [
-                                   ['mp', gettext('Mount Point')],
-                                   ['unused', gettext('Unused')],
-                               ],
-                               listeners: { change: 'onMpTypeChange' },
-                           },
-                       },
-                       {
-                           xtype: 'proxmoxintegerfield',
-                           name: 'mpId',
-                           reference: 'mpIdSelector',
-                           minValue: 0,
-                           flex: 1,
-                           allowBlank: false,
-                           validateOnChange: true,
-                           disabled: true,
-                           bind: {
-                               maxValue: '{mpMaxCount}',
-                           },
-                           validator: function(value) {
-                               let view = this.up('window');
-                               let type = view.getViewModel().get('mpType');
-                               if (Ext.isDefined(view.VMConfig[`${type}${value}`])) {
-                                   return "Mount point is already in use.";
-                               }
-                               return true;
-                           },
-                       },
-                   ],
                },
            ],
        },