[pve-devel] [PATCH manager 02/10] jslint: fix type confusion and property access

Dominik Csapak d.csapak at proxmox.com
Fri Apr 29 12:06:27 CEST 2016


fix various type confusion, for example:
items: {} and items: []
style: string and style: {}

also fix object['property'] access with
object.property

also fix /=/ with either '=' or /\=/ where appropriate
(/=/ can be confused with /= according to jslint)

Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>
---
 www/manager6/Parser.js                      | 26 +++++++++++++++-----------
 www/manager6/Toolkit.js                     |  3 ++-
 www/manager6/Workspace.js                   |  3 +++
 www/manager6/button/Split.js                |  3 +++
 www/manager6/ceph/Disks.js                  |  2 +-
 www/manager6/ceph/Pool.js                   |  3 +++
 www/manager6/dc/AuthEdit.js                 |  3 +++
 www/manager6/form/HotplugFeatureSelector.js |  8 +++++---
 www/manager6/grid/PoolMembers.js            |  3 +++
 www/manager6/lxc/Config.js                  |  4 ++--
 www/manager6/lxc/DNS.js                     |  2 +-
 www/manager6/lxc/Network.js                 | 13 ++++++++++---
 www/manager6/lxc/Summary.js                 |  2 +-
 www/manager6/node/Subscription.js           |  2 +-
 www/manager6/panel/ConfigPanel.js           | 10 +++++-----
 www/manager6/panel/LogView.js               |  2 +-
 www/manager6/panel/RRDChart.js              |  2 +-
 www/manager6/qemu/BootOrderEdit.js          |  8 ++++----
 www/manager6/qemu/CPUOptions.js             |  8 ++++----
 www/manager6/qemu/MemoryEdit.js             |  2 +-
 www/manager6/qemu/ProcessorEdit.js          | 14 +++++++-------
 www/manager6/storage/LVMEdit.js             |  4 ++++
 www/manager6/storage/LvmThinEdit.js         |  4 ++++
 www/manager6/storage/RBDEdit.js             |  4 ++++
 www/manager6/storage/Summary.js             |  2 +-
 www/manager6/storage/ZFSPoolEdit.js         |  8 ++++++--
 www/manager6/tree/ResourceTree.js           |  4 ++--
 www/manager6/window/SafeDestroy.js          |  2 +-
 28 files changed, 98 insertions(+), 53 deletions(-)

diff --git a/www/manager6/Parser.js b/www/manager6/Parser.js
index 3f15d8f..ae8bff9 100644
--- a/www/manager6/Parser.js
+++ b/www/manager6/Parser.js
@@ -10,7 +10,7 @@ Ext.define('PVE.Parser', { statics: {
 	    return default_value;
 	}
 	value = value.toLowerCase();
-	return value === 1 || value === '1' ||
+	return value === '1' ||
 	       value === 'on' ||
 	       value === 'yes' ||
 	       value === 'true';
@@ -192,9 +192,11 @@ Ext.define('PVE.Parser', { statics: {
 			errors = true;
 			return false; // break
 		    }
-		    data['bridge'] = bridge_res[1];
-		    data['tag'] = bridge_res[4];
-		    data['firewall'] = bridge_res[5] ? 1 : 0;
+		    data.bridge = bridge_res[1];
+		    data.tag = bridge_res[4];
+		    /*jslint confusion: true*/
+		    data.firewall = bridge_res[5] ? 1 : 0;
+		    /*jslint confusion: false*/
 		} else {
 		    data[match_res[1]] = match_res[2];
 		}
@@ -221,10 +223,10 @@ Ext.define('PVE.Parser', { statics: {
 	    Ext.Array.each(['ifname', 'mac', 'bridge', 'host_ifname' , 'host_mac', 'mac_filter', 'tag', 'firewall'], function(key) {
 		var value = data[key];
 		if (key === 'bridge'){
-		    if(data['tag']){
-			value = value + 'v' + data['tag'];
+		    if(data.tag){
+			value = value + 'v' + data.tag;
 		    }
-		    if (data['firewall']){
+		    if (data.firewall){
 			value = value + 'f';
 		    }
 		}
@@ -270,9 +272,11 @@ Ext.define('PVE.Parser', { statics: {
 		}
 	});
 
+	/*jslint confusion: true*/
 	if (data.rate > 0) {
 	    tmparray.push('rate=' + data.rate);
 	}
+	/*jslint confusion: false*/
 	return tmparray.join(',');
     },
 
@@ -396,7 +400,7 @@ Ext.define('PVE.Parser', { statics: {
 	var res = {};
 
 	Ext.Array.each(value.split(','), function(p) {
-	    var kva = p.split(/=/, 2);
+	    var kva = p.split('=', 2);
 	    res[kva[0]] = kva[1];
 	});
 
@@ -419,7 +423,7 @@ Ext.define('PVE.Parser', { statics: {
 	var res = {};
 
 	Ext.Array.each(value.split(','), function(p) {
-	    var kva = p.split(/=/, 2);
+	    var kva = p.split('=', 2);
 	    res[kva[0]] = kva[1];
 	});
 
@@ -439,8 +443,8 @@ Ext.define('PVE.Parser', { statics: {
 		return; // continue
 	    }
 
-	    if (!p.match(/=/)) {
-		if (Ext.isDefined(res['cpu'])) {
+	    if (!p.match(/\=/)) {
+		if (Ext.isDefined(res.cpu)) {
 		    errors = true;
 		    return false; // break
 		}
diff --git a/www/manager6/Toolkit.js b/www/manager6/Toolkit.js
index a701b8f..e3a4e23 100644
--- a/www/manager6/Toolkit.js
+++ b/www/manager6/Toolkit.js
@@ -147,6 +147,7 @@ Ext.define('PVE.Datepicker', {
 // since Ext.Msg is an object and not a prototype, we need to override it
 // after the framework has been initiated
 Ext.onReady(function() {
+/*jslint confusion: true */
     Ext.override(Ext.Msg, {
 	alert: function(title, message, fn, scope) {
 	    if (Ext.isString(title)) {
@@ -163,8 +164,8 @@ Ext.onReady(function() {
 	    }
 	}
     });
+/*jslint confusion: false */
 });
-
 Ext.define('Ext.ux.IFrame', {
     extend: 'Ext.Component',
 
diff --git a/www/manager6/Workspace.js b/www/manager6/Workspace.js
index 685b909..fb6ce58 100644
--- a/www/manager6/Workspace.js
+++ b/www/manager6/Workspace.js
@@ -109,6 +109,9 @@ Ext.define('PVE.ConsoleWorkspace', {
     title: gettext('Console'),
 
     initComponent : function() {
+	// novnc is a string in param
+	// but a boolean in content
+	/*jslint confusion: true*/
 	var me = this;
 
 	var param = Ext.Object.fromQueryString(window.location.search);
diff --git a/www/manager6/button/Split.js b/www/manager6/button/Split.js
index 8ea65d2..6154841 100644
--- a/www/manager6/button/Split.js
+++ b/www/manager6/button/Split.js
@@ -32,9 +32,12 @@ Ext.define('PVE.button.Split', {
 
 	if (me.confirmMsg) {
 	    msg = me.confirmMsg;
+	    // confirMsg can be boolean or function
+	    /*jslint confusion: true*/
 	    if (Ext.isFunction(me.confirmMsg)) {
 		msg = me.confirmMsg(rec);
 	    }
+	    /*jslint confusion: false*/
 	    Ext.MessageBox.defaultButton = me.dangerous ? 2 : 1;
 	    Ext.Msg.show({
 		title: gettext('Confirm'),
diff --git a/www/manager6/ceph/Disks.js b/www/manager6/ceph/Disks.js
index 19258fa..3c0ba37 100644
--- a/www/manager6/ceph/Disks.js
+++ b/www/manager6/ceph/Disks.js
@@ -15,7 +15,7 @@ Ext.define('PVE.node.CephDiskList', {
 	    sortable: false,
 	    renderer: function(v, metaData, rec) {
 		if (rec && (rec.data.osdid >= 0)) {
-		    return "osd." + rec.data.osdid;
+		    return "osd." + rec.data.osdid.toString();
 		}
 		return v || PVE.Utils.noText;
 	    },
diff --git a/www/manager6/ceph/Pool.js b/www/manager6/ceph/Pool.js
index 845e7e5..099380f 100644
--- a/www/manager6/ceph/Pool.js
+++ b/www/manager6/ceph/Pool.js
@@ -1,3 +1,6 @@
+// Ext.create is a function, but
+// we defined create a bool in PVE.window.Edit
+/*jslint confusion: true*/
 Ext.define('PVE.CephCreatePool', {
     extend: 'PVE.window.Edit',
     alias: ['widget.pveCephCreatePool'],
diff --git a/www/manager6/dc/AuthEdit.js b/www/manager6/dc/AuthEdit.js
index ca305e9..de51062 100644
--- a/www/manager6/dc/AuthEdit.js
+++ b/www/manager6/dc/AuthEdit.js
@@ -274,8 +274,11 @@ Ext.define('PVE.dc.AuthEdit', {
 			    data.yubico_api_id = tfacfg.id;
 			    data.yubico_url = tfacfg.url;
 			} else if (tfacfg.type === 'oath') {
+			    // step is a number before
+			    /*jslint confusion: true*/
 			    data.oath_step = tfacfg.step;
 			    data.oath_digits = tfacfg.digits;
+			    /*jslint confusion: false*/
 			}
 		    }
 
diff --git a/www/manager6/form/HotplugFeatureSelector.js b/www/manager6/form/HotplugFeatureSelector.js
index 2277155..23cd090 100644
--- a/www/manager6/form/HotplugFeatureSelector.js
+++ b/www/manager6/form/HotplugFeatureSelector.js
@@ -15,13 +15,15 @@ Ext.define('PVE.form.HotplugFeatureSelector', {
 	var me = this;
 
 	if (me.multiSelect && Ext.isString(value)) {
+	    var newVal;
 	    if (value === '0') {
-		value = [];
+		newVal = [];
 	    } else if (value === '1') {
-		value = ['disk', 'network', 'usb'];
+		newVal = ['disk', 'network', 'usb'];
 	    } else {
-		value = value.split(',');
+		newVal = value.split(',');
 	    }
+	    me.callParent([newVal, doSelect]);
 	}
 
 	me.callParent([value, doSelect]);
diff --git a/www/manager6/grid/PoolMembers.js b/www/manager6/grid/PoolMembers.js
index c3fdc21..63a9d5a 100644
--- a/www/manager6/grid/PoolMembers.js
+++ b/www/manager6/grid/PoolMembers.js
@@ -1,3 +1,6 @@
+// Ext.create is a function
+// but we defined create as a bool in PVE.window.Edit
+/*jslint confusion: true*/
 Ext.define('PVE.pool.AddVM', {
     extend: 'PVE.window.Edit',
     width: 600,
diff --git a/www/manager6/lxc/Config.js b/www/manager6/lxc/Config.js
index 5e09064..f014ffe 100644
--- a/www/manager6/lxc/Config.js
+++ b/www/manager6/lxc/Config.js
@@ -137,10 +137,10 @@ Ext.define('PVE.lxc.Config', {
 		    layout: 'fit',
 		    plugins: {
 			ptype: 'lazyitems',
-			items: {
+			items: [{
 			    xtype: 'pveLxcRessourceView',
 			    pveSelNode: me.pveSelNode
-			}
+			}]
 		    }
 		},
 		{
diff --git a/www/manager6/lxc/DNS.js b/www/manager6/lxc/DNS.js
index 0663fb8..eaf1719 100644
--- a/www/manager6/lxc/DNS.js
+++ b/www/manager6/lxc/DNS.js
@@ -106,7 +106,7 @@ Ext.define('PVE.lxc.DNSEdit', {
 
 	Ext.apply(me, {
 	    subject: gettext('Resources'),
-	    items: ipanel
+	    items: [ ipanel ]
 	});
 
 	me.callParent();
diff --git a/www/manager6/lxc/Network.js b/www/manager6/lxc/Network.js
index 3ef96a2..05807d2 100644
--- a/www/manager6/lxc/Network.js
+++ b/www/manager6/lxc/Network.js
@@ -71,7 +71,7 @@ Ext.define('PVE.lxc.NetworkInputPanel', {
 
 	var i, netlist = [];
 	for (i = 0; i < 10; i++) {
-	    netlist.push({ "name": "net" + i });
+	    netlist.push({ "name": "net" + i.toString() });
 	}
 	
 	var netliststore = Ext.create('Ext.data.Store', {
@@ -94,6 +94,8 @@ Ext.define('PVE.lxc.NetworkInputPanel', {
 		if (me.create && me.dataCache[value]) {
 		    return "Network ID already in use";
 		}
+		// validator can return bool/String
+		/*jslint confusion: true*/
 		return true;
 	    }
 	};
@@ -107,7 +109,7 @@ Ext.define('PVE.lxc.NetworkInputPanel', {
 		allowBlank: false,
 		value: cdata.name,
 		validator: function(value) {
-		    var result = true;
+		    var result = '';
 		    Ext.Object.each(me.dataCache, function(key, netstr) {
 			if (!key.match(/^net\d+/) || key === me.ifname) {
 			    return; // continue
@@ -118,7 +120,12 @@ Ext.define('PVE.lxc.NetworkInputPanel', {
 			    return false;
 			}
 		    });
-		    return result;
+		    if (result !== '') {
+			return result;
+		    }
+		    // validator can return bool/string
+		    /*jslint confusion:true*/
+		    return true;
 		}
 	    },
 	    {
diff --git a/www/manager6/lxc/Summary.js b/www/manager6/lxc/Summary.js
index 35cd10b..462f7fc 100644
--- a/www/manager6/lxc/Summary.js
+++ b/www/manager6/lxc/Summary.js
@@ -54,7 +54,7 @@ Ext.define('PVE.lxc.Summary', {
 		ptype: 'lazyitems',
 		items: [
 		    {
-			style: 'padding-top:0px',
+			style: {'padding-top': '0px' },
 			layout: {
 			    type: 'hbox',
 			    align: 'stretchmax'
diff --git a/www/manager6/node/Subscription.js b/www/manager6/node/Subscription.js
index 2eefcb0..50b3ad3 100644
--- a/www/manager6/node/Subscription.js
+++ b/www/manager6/node/Subscription.js
@@ -74,7 +74,7 @@ Ext.define('PVE.node.Subscription', {
 			    }
 			},
 		],
-	    items: [ view ]
+	    items: view
 	});
 
 	PVE.Utils.API2Request({
diff --git a/www/manager6/panel/ConfigPanel.js b/www/manager6/panel/ConfigPanel.js
index 33a4832..f79ffc9 100644
--- a/www/manager6/panel/ConfigPanel.js
+++ b/www/manager6/panel/ConfigPanel.js
@@ -50,14 +50,14 @@ Ext.define('PVE.panel.Config', {
 	    items.unshift({
 		itemId: 'search',
 		title: gettext('Search'),
-		layout: 'fit',
-		plugins: {
+		layout: { type:'fit' },
+		plugins: [{
 		    ptype: 'lazyitems',
-		    items: {
+		    items: [{
 			xtype: 'pveResourceGrid',
 			pveSelNode: me.pveSelNode
-		    }
-		}
+		    }]
+		}]
 	    });
 	}
 
diff --git a/www/manager6/panel/LogView.js b/www/manager6/panel/LogView.js
index 5022a62..5b64dec 100644
--- a/www/manager6/panel/LogView.js
+++ b/www/manager6/panel/LogView.js
@@ -54,7 +54,7 @@ Ext.define('PVE.panel.LogView', {
 	var maxDown = me.getMaxDown();
 	var scrollToEnd = (maxDown <= 0) && me.scrollToEnd;
 
-	el.setStyle('padding-top', start*me.lineHeight + 'px');
+	el.setStyle('padding-top', (start*me.lineHeight).toString() + 'px');
 	el.update(text);
 	me.dataCmp.setHeight(total*me.lineHeight);
 
diff --git a/www/manager6/panel/RRDChart.js b/www/manager6/panel/RRDChart.js
index c2742b4..5dd80a8 100644
--- a/www/manager6/panel/RRDChart.js
+++ b/www/manager6/panel/RRDChart.js
@@ -66,7 +66,7 @@ Ext.define('PVE.widget.RRDChart', {
 	// limit to 2 decimal points
 	value = Ext.util.Format.number(value, "0.##");
 
-	return value + " " + units[si];
+	return value.toString() + " " + units[si];
     },
 
     leftAxisRenderer: function(axis, label, layoutContext) {
diff --git a/www/manager6/qemu/BootOrderEdit.js b/www/manager6/qemu/BootOrderEdit.js
index 1d864e6..2954acf 100644
--- a/www/manager6/qemu/BootOrderEdit.js
+++ b/www/manager6/qemu/BootOrderEdit.js
@@ -48,7 +48,7 @@ Ext.define('PVE.qemu.BootOrderPanel', {
 	var res = { boot: order };
 
 	if  (me.bootdisk && order.indexOf('c') !== -1) {
-	    res['bootdisk'] = me.bootdisk;
+	    res.bootdisk = me.bootdisk;
 	} else {
 	    res['delete'] = 'bootdisk';
 	}
@@ -151,10 +151,10 @@ Ext.define('PVE.qemu.BootOrderPanel', {
 Ext.define('PVE.qemu.BootOrderEdit', {
     extend: 'PVE.window.Edit',
 
-    items: {
+    items: [{
 	xtype: 'pveQemuBootOrderPanel',
-	itemId: 'inputpanel',
-    },
+	itemId: 'inputpanel'
+    }],
 
     subject: gettext('Boot Order'),
 
diff --git a/www/manager6/qemu/CPUOptions.js b/www/manager6/qemu/CPUOptions.js
index 698a1fa..ce30ebb 100644
--- a/www/manager6/qemu/CPUOptions.js
+++ b/www/manager6/qemu/CPUOptions.js
@@ -11,11 +11,11 @@ Ext.define('PVE.qemu.CPUOptionsInputPanel', {
 	    delete_array.push('vcpus');
 	    delete values.vcpus;
 	}
-	if (values.cpulimit === '' || values.cpulimit == 0) {
+	if (values.cpulimit === '' || values.cpulimit == '0') {
 	    delete_array.push('cpulimit');
 	    delete values.cpulimit;
 	}
-	if (values.cpuunits === '' || values.cpuunits == 1024) {
+	if (values.cpuunits === '' || values.cpuunits == '1024') {
 	    delete_array.push('cpuunits');
 	    delete values.cpuunits;
 	}
@@ -58,7 +58,7 @@ Ext.define('PVE.qemu.CPUOptionsInputPanel', {
                 fieldLabel: gettext('CPU units'),
                 minValue: 8,
                 maxValue: 500000,
-                value: 1024,
+                value: '1024',
                 allowBlank: true
             }
 	];
@@ -81,7 +81,7 @@ Ext.define('PVE.qemu.CPUOptions', {
 	
 	Ext.apply(me, {
 	    subject: gettext('CPU options'),
-	    items: ipanel,
+	    items: [ ipanel ]
 	});
 
 	me.callParent();
diff --git a/www/manager6/qemu/MemoryEdit.js b/www/manager6/qemu/MemoryEdit.js
index 74d0cd5..f6a4bc0 100644
--- a/www/manager6/qemu/MemoryEdit.js
+++ b/www/manager6/qemu/MemoryEdit.js
@@ -152,7 +152,7 @@ Ext.define('PVE.qemu.MemoryEdit', {
 
 	Ext.apply(me, {
 	    subject: gettext('Memory'),
-	    items: ipanel,
+	    items: [ ipanel ],
 	    // uncomment the following to use the async configiguration API
 	    // backgroundDelay: 5, 
 	    width: 400
diff --git a/www/manager6/qemu/ProcessorEdit.js b/www/manager6/qemu/ProcessorEdit.js
index 8f05a77..b3d52cb 100644
--- a/www/manager6/qemu/ProcessorEdit.js
+++ b/www/manager6/qemu/ProcessorEdit.js
@@ -6,8 +6,8 @@ Ext.define('PVE.qemu.ProcessorInputPanel', {
 	var me = this;
 
 	// build the cpu options:
-	me.cpu.cputype = values['cputype'];
-	delete values['cputype'];
+	me.cpu.cputype = values.cputype;
+	delete values.cputype;
 	var cpustring = PVE.Parser.printQemuCpu(me.cpu);
 
 	// remove cputype delete request:
@@ -21,14 +21,14 @@ Ext.define('PVE.qemu.ProcessorInputPanel', {
 	}
 
 	if (cpustring) {
-	    values['cpu'] = cpustring;
+	    values.cpu = cpustring;
 	} else {
 	    del.push('cpu');
 	}
 
-	del = del.join(',');
-	if (del) {
-	    values['delete'] = del;
+	var delarr = del.join(',');
+	if (delarr) {
+	    values['delete'] = delarr;
 	}
 
 	return values;
@@ -120,7 +120,7 @@ Ext.define('PVE.qemu.ProcessorEdit', {
 	me.load({
 	    success: function(response, options) {
 		var data = response.result.data;
-		var value = data['cpu'];
+		var value = data.cpu;
 		if (value) {
 		    var cpu = PVE.Parser.parseQemuCpu(value);
 		    ipanel.cpu = cpu;
diff --git a/www/manager6/storage/LVMEdit.js b/www/manager6/storage/LVMEdit.js
index 365d5af..39d70ef 100644
--- a/www/manager6/storage/LVMEdit.js
+++ b/www/manager6/storage/LVMEdit.js
@@ -172,6 +172,9 @@ Ext.define('PVE.storage.LVMInputPanel', {
 
 	me.column1.push(vgnameField);
 
+	// here value is an array, 
+	// while before it was a string
+	/*jslint confusion: true*/
 	me.column1.push({
 	    xtype: 'pveContentTypeSelector',
 	    cts: ['images', 'rootdir'],
@@ -181,6 +184,7 @@ Ext.define('PVE.storage.LVMInputPanel', {
 	    multiSelect: true,
 	    allowBlank: false
 	});
+	/*jslint confusion: false*/
 
 	me.column2 = [
 	    {
diff --git a/www/manager6/storage/LvmThinEdit.js b/www/manager6/storage/LvmThinEdit.js
index 13fbb90..3fee638 100644
--- a/www/manager6/storage/LvmThinEdit.js
+++ b/www/manager6/storage/LvmThinEdit.js
@@ -168,6 +168,9 @@ Ext.define('PVE.storage.LvmThinInputPanel', {
 
 	me.column1.push(thinpoolField);
 
+	// here value is an array,
+	// while before it was a string
+	/*jslint confusion: true*/
 	me.column1.push({
 	    xtype: 'pveContentTypeSelector',
 	    cts: ['images', 'rootdir'],
@@ -177,6 +180,7 @@ Ext.define('PVE.storage.LvmThinInputPanel', {
 	    multiSelect: true,
 	    allowBlank: false
 	});
+	/*jslint confusion: false*/
 
 	me.column2 = [
 	    {
diff --git a/www/manager6/storage/RBDEdit.js b/www/manager6/storage/RBDEdit.js
index c98a4c5..a38ea52 100644
--- a/www/manager6/storage/RBDEdit.js
+++ b/www/manager6/storage/RBDEdit.js
@@ -52,6 +52,9 @@ Ext.define('PVE.storage.RBDInputPanel', {
 	    }
 	];
 
+	// here value is an array, 
+	// while before it was a string
+	/*jslint confusion: true*/
 	me.column2 = [
 	    {
 		xtype: 'pvecheckbox',
@@ -76,6 +79,7 @@ Ext.define('PVE.storage.RBDInputPanel', {
 		fieldLabel: gettext('KRBD')
 	    }
 	];
+	/*jslint confusion: false*/
 
 	if (me.create || me.storageId !== 'local') {
 	    me.column2.unshift({
diff --git a/www/manager6/storage/Summary.js b/www/manager6/storage/Summary.js
index b0bfb35..2fb08a3 100644
--- a/www/manager6/storage/Summary.js
+++ b/www/manager6/storage/Summary.js
@@ -28,7 +28,7 @@ Ext.define('PVE.storage.Summary', {
 
 	var statusview = Ext.create('PVE.storage.StatusView', {
 	    pveSelNode: me.pveSelNode,
-	    style: 'padding-top:0px'
+	    style: {'padding-top':'0px'}
 	});
 
 	var rstore = statusview.rstore;
diff --git a/www/manager6/storage/ZFSPoolEdit.js b/www/manager6/storage/ZFSPoolEdit.js
index e227b2e..4328b1c 100644
--- a/www/manager6/storage/ZFSPoolEdit.js
+++ b/www/manager6/storage/ZFSPoolEdit.js
@@ -79,6 +79,9 @@ Ext.define('PVE.storage.ZFSPoolInputPanel', {
 	    }));
 	}
 
+	// value is an array,
+	// while before it was a string
+	/*jslint confusion: true*/
 	me.column1.push(
 	    {xtype: 'pveContentTypeSelector',
 	     cts: ['images', 'rootdir'],
@@ -86,8 +89,9 @@ Ext.define('PVE.storage.ZFSPoolInputPanel', {
 	     name: 'content',
 	     value: ['images', 'rootdir'],
 	     multiSelect: true,
-	     allowBlank: false});
-
+	     allowBlank: false
+	});
+	/*jslint confusion: false*/
 	me.column2 = [
 	    {
 		xtype: 'pvecheckbox',
diff --git a/www/manager6/tree/ResourceTree.js b/www/manager6/tree/ResourceTree.js
index 202a46f..1f5a2c9 100644
--- a/www/manager6/tree/ResourceTree.js
+++ b/www/manager6/tree/ResourceTree.js
@@ -104,7 +104,7 @@ Ext.define('PVE.tree.ResourceTree', {
 
 	var defaults = PVE.tree.ResourceTree.typeDefaults[info.type];
 	if (info.id === 'root') {
-	    defaults = PVE.tree.ResourceTree.typeDefaults['datacenter'];
+	    defaults = PVE.tree.ResourceTree.typeDefaults.datacenter;
 	} else if (info.type === 'type') {
 	    defaults = PVE.tree.ResourceTree.typeDefaults[info.groupbyid];
 	}
@@ -128,7 +128,7 @@ Ext.define('PVE.tree.ResourceTree', {
 
 	    if (info.template) {
 		iconClsAdd = '-template';
-		info.iconCls = PVE.tree.ResourceTree.typeDefaults['template'].iconCls + '-' + info.type;
+		info.iconCls = PVE.tree.ResourceTree.typeDefaults.template.iconCls + '-' + info.type;
 	    }
 
 	}
diff --git a/www/manager6/window/SafeDestroy.js b/www/manager6/window/SafeDestroy.js
index 8dd1f89..394f245 100644
--- a/www/manager6/window/SafeDestroy.js
+++ b/www/manager6/window/SafeDestroy.js
@@ -11,7 +11,7 @@ Ext.define('PVE.window.SafeDestroy', {
     buttonAlign: 'center',
     bodyPadding: 10,
     width: 450,
-    layout: 'hbox',
+    layout: { type:'hbox' },
     defaultFocus: 'confirmField',
 
     config: {
-- 
2.1.4




More information about the pve-devel mailing list