ui: lxc/CreateWizard: eslint fixes and code cleanup/refactoring/modernize

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
This commit is contained in:
Thomas Lamprecht 2021-05-19 08:20:01 +02:00
parent d11524c6d1
commit 4fd034b13e

View File

@ -108,9 +108,9 @@ Ext.define('PVE.lxc.CreateWizard', {
fieldLabel: gettext('SSH public key'), fieldLabel: gettext('SSH public key'),
allowBlank: true, allowBlank: true,
validator: function(value) { validator: function(value) {
var pwfield = this.up().down('field[name=password]'); let pwfield = this.up().down('field[name=password]');
if (value.length) { if (value.length) {
var key = PVE.Parser.parseSSHKey(value); let key = PVE.Parser.parseSSHKey(value);
if (!key) { if (!key) {
return "Failed to recognize ssh key"; return "Failed to recognize ssh key";
} }
@ -123,25 +123,20 @@ Ext.define('PVE.lxc.CreateWizard', {
}, },
afterRender: function() { afterRender: function() {
if (!window.FileReader) { if (!window.FileReader) {
// No FileReader support in this browser return; // No FileReader support in this browser
return;
} }
var cancel = function(ev) { let cancelEvent = ev => {
ev = ev.event; ev = ev.event;
if (ev.preventDefault) { if (ev.preventDefault) {
ev.preventDefault(); ev.preventDefault();
} }
}; };
var field = this; this.inputEl.on('dragover', cancelEvent);
field.inputEl.on('dragover', cancel); this.inputEl.on('dragenter', cancelEvent);
field.inputEl.on('dragenter', cancel); this.inputEl.on('drop', ev => {
field.inputEl.on('drop', function(ev) { cancelEvent(ev);
ev = ev.event; let files = ev.event.dataTransfer.files;
if (ev.preventDefault) { PVE.Utils.loadSSHKeyFromFile(files[0], v => this.setValue(v));
ev.preventDefault();
}
let files = ev.dataTransfer.files;
PVE.Utils.loadSSHKeyFromFile(files[0], v => field.setValue(v));
}); });
}, },
}, },
@ -153,10 +148,8 @@ Ext.define('PVE.lxc.CreateWizard', {
listeners: { listeners: {
change: function(btn, e, value) { change: function(btn, e, value) {
e = e.event; e = e.event;
var field = this.up().down('proxmoxtextfield[name=ssh-public-keys]'); let field = this.up().down('proxmoxtextfield[name=ssh-public-keys]');
PVE.Utils.loadSSHKeyFromFile(e.target.files[0], function(v) { PVE.Utils.loadSSHKeyFromFile(e.target.files[0], v => field.setValue(v));
field.setValue(v);
});
btn.reset(); btn.reset();
}, },
}, },
@ -259,9 +252,9 @@ Ext.define('PVE.lxc.CreateWizard', {
], ],
listeners: { listeners: {
show: function(panel) { show: function(panel) {
var wizard = this.up('window'); let wizard = this.up('window');
var kv = wizard.getValues(); let kv = wizard.getValues();
var data = []; let data = [];
Ext.Object.each(kv, function(key, value) { Ext.Object.each(kv, function(key, value) {
if (key === 'delete' || key === 'tmplstorage') { // ignore if (key === 'delete' || key === 'tmplstorage') { // ignore
return; return;
@ -272,53 +265,46 @@ Ext.define('PVE.lxc.CreateWizard', {
data.push({ key: key, value: value }); data.push({ key: key, value: value });
}); });
var summarystore = panel.down('grid').getStore(); let summaryStore = panel.down('grid').getStore();
summarystore.suspendEvents(); summaryStore.suspendEvents();
summarystore.removeAll(); summaryStore.removeAll();
summarystore.add(data); summaryStore.add(data);
summarystore.sort(); summaryStore.sort();
summarystore.resumeEvents(); summaryStore.resumeEvents();
summarystore.fireEvent('refresh'); summaryStore.fireEvent('refresh');
}, },
}, },
onSubmit: function() { onSubmit: function() {
var wizard = this.up('window'); let wizard = this.up('window');
var kv = wizard.getValues(); let kv = wizard.getValues();
delete kv.delete; delete kv.delete;
var nodename = kv.nodename; let nodename = kv.nodename;
delete kv.nodename; delete kv.nodename;
delete kv.tmplstorage; delete kv.tmplstorage;
if (!kv.pool.length) { if (!kv.pool.length) {
delete kv.pool; delete kv.pool;
} }
if (!kv.password.length && kv['ssh-public-keys']) { if (!kv.password.length && kv['ssh-public-keys']) {
delete kv.password; delete kv.password;
} }
Proxmox.Utils.API2Request({ Proxmox.Utils.API2Request({
url: '/nodes/' + nodename + '/lxc', url: `/nodes/${nodename}/lxc`,
waitMsgTarget: wizard, waitMsgTarget: wizard,
method: 'POST', method: 'POST',
params: kv, params: kv,
success: function(response, opts) { success: function(response, opts) {
var upid = response.result.data; Ext.create('Proxmox.window.TaskViewer', {
autoShow: true,
var win = Ext.create('Proxmox.window.TaskViewer', { upid: response.result.data,
upid: upid,
}); });
win.show();
wizard.close(); wizard.close();
}, },
failure: function(response, opts) { failure: (response, opts) => Ext.Msg.alert(gettext('Error'), response.htmlStatus),
Ext.Msg.alert(gettext('Error'), response.htmlStatus);
},
}); });
}, },
}, },
], ],
}); });