]> git.proxmox.com Git - pve-manager.git/blobdiff - www/manager6/window/Clone.js
ui: guest import: handle new disk api format
[pve-manager.git] / www / manager6 / window / Clone.js
index 95ab1cd77ab340b29e458e2e7bf8ed6d31d22dbc..2d3f26781ae2e740fb85c08261dcfe8ee2e08d27 100644 (file)
@@ -11,12 +11,12 @@ Ext.define('PVE.window.Clone', {
        xclass: 'Ext.app.ViewController',
        control: {
            'panel[reference=cloneform]': {
-               validitychange: 'disableSubmit'
-           }
+               validitychange: 'disableSubmit',
+           },
        },
        disableSubmit: function(form) {
            this.lookupReference('submitBtn').setDisabled(!form.isValid());
-       }
+       },
     },
 
     statics: {
@@ -29,19 +29,19 @@ Ext.define('PVE.window.Clone', {
                },
                success: function(response, opts) {
                    var snapshotList = response.result.data;
-                   var hasSnapshots = snapshotList.length === 1 &&
-                       snapshotList[0].name === 'current' ? false : true;
+                   var hasSnapshots = !(snapshotList.length === 1 &&
+                       snapshotList[0].name === 'current');
 
                    Ext.create('PVE.window.Clone', {
                        nodename: nodename,
                        guestType: guestType,
                        vmid: vmid,
                        isTemplate: isTemplate,
-                       hasSnapshots: hasSnapshots
+                       hasSnapshots: hasSnapshots,
                    }).show();
-               }
+               },
            });
-       }
+       },
     },
 
     create_clone: function(values) {
@@ -89,9 +89,8 @@ Ext.define('PVE.window.Clone', {
            },
            success: function(response, options) {
                me.close();
-           }
+           },
        });
-
     },
 
     // disable the Storage selector when clone mode is linked clone
@@ -129,11 +128,11 @@ Ext.define('PVE.window.Clone', {
 
                me.lookupReference('targetsel').allowedNodes = res.nodes;
                me.lookupReference('targetsel').validate();
-           }
+           },
        });
     },
 
-    initComponent : function() {
+    initComponent: function() {
        var me = this;
 
        if (!me.nodename) {
@@ -171,9 +170,9 @@ Ext.define('PVE.window.Clone', {
            onlineValidator: true,
            listeners: {
                change: function(f, value) {
-                   me.lookupReference('hdstorage').setTargetNode(value);
-               }
-           }
+                   me.lookup('diskselector').getComponent('hdstorage').setTargetNode(value);
+               },
+           },
        });
 
        var modelist = [['copy', gettext('Full Clone')]];
@@ -187,21 +186,22 @@ Ext.define('PVE.window.Clone', {
            guestType: me.guestType,
            value: '',
            loadNextFreeID: true,
-           validateExists: false
+           validateExists: false,
        },
        {
            xtype: 'textfield',
            name: 'name',
+           vtype: 'DnsName',
            allowBlank: true,
-           fieldLabel: me.guestType === 'lxc' ? gettext('Hostname') : gettext('Name')
+           fieldLabel: me.guestType === 'lxc' ? gettext('Hostname') : gettext('Name'),
        },
        {
            xtype: 'pvePoolSelector',
            fieldLabel: gettext('Resource Pool'),
            name: 'pool',
            value: '',
-           allowBlank: true
-       }
+           allowBlank: true,
+       },
        );
 
        col2.push({
@@ -217,8 +217,8 @@ Ext.define('PVE.window.Clone', {
                change: function(t, value) {
                    me.updateVisibility();
                    me.verifyFeature();
-               }
-           }
+               },
+           },
        },
        {
            xtype: 'PVE.form.SnapshotSelector',
@@ -228,15 +228,15 @@ Ext.define('PVE.window.Clone', {
            nodename: me.nodename,
            guestType: me.guestType,
            vmid: me.vmid,
-           hidden: me.isTemplate || !me.hasSnapshots ? true : false,
+           hidden: !!(me.isTemplate || !me.hasSnapshots),
            disabled: false,
            allowBlank: false,
-           value : me.snapname,
+           value: me.snapname,
            listeners: {
                change: function(f, value) {
                    me.verifyFeature();
-               }
-           }
+               },
+           },
        },
        {
            xtype: 'pveDiskStorageSelector',
@@ -249,7 +249,7 @@ Ext.define('PVE.window.Clone', {
            allowBlank: true,
            storageContent: me.guestType === 'qemu' ? 'images' : 'rootdir',
            emptyText: gettext('Same as source'),
-           disabled: me.isTemplate ? true : false // because default mode is clone for templates
+           disabled: !!me.isTemplate, // because default mode is clone for templates
        });
 
        var formPanel = Ext.create('Ext.form.Panel', {
@@ -260,22 +260,22 @@ Ext.define('PVE.window.Clone', {
            defaultType: 'container',
            fieldDefaults: {
                labelWidth: 100,
-               anchor: '100%'
+               anchor: '100%',
            },
            items: [
                {
                    flex: 1,
                    padding: '0 10 0 0',
                    layout: 'anchor',
-                   items: col1
+                   items: col1,
                },
                {
                    flex: 1,
                    padding: '0 0 0 10',
                    layout: 'anchor',
-                   items: col2
-               }
-           ]
+                   items: col2,
+               },
+           ],
        });
 
        Ext.apply(me, {
@@ -284,11 +284,11 @@ Ext.define('PVE.window.Clone', {
            height: 250,
            border: false,
            layout: 'fit',
-           buttons: [ {
+           buttons: [{
                xtype: 'proxmoxHelpButton',
                listenToGlobalEvent: false,
                hidden: false,
-               onlineHelp: me.onlineHelp
+               onlineHelp: me.onlineHelp,
            },
            '->',
            {
@@ -300,13 +300,13 @@ Ext.define('PVE.window.Clone', {
                    if (cloneForm.isValid()) {
                        me.create_clone(cloneForm.getValues());
                    }
-               }
-           } ],
-           items: [ formPanel ]
+               },
+           }],
+           items: [formPanel],
        });
 
        me.callParent();
 
        me.verifyFeature();
-    }
+    },
 });