extend: 'Proxmox.grid.PendingObjectGrid',
xtype: 'pveCiPanel',
+ onlineHelp: 'qm_cloud_init',
+
tbar: [
{
xtype: 'proxmoxButton',
handler: function() {
var me = this.up('grid');
var records = me.getSelection();
- if (!records || !records.length) {
+ if (!records || !records.length) {
return;
}
}
var params = {};
- params['delete'] = id;
+ params.delete = id;
Proxmox.Utils.API2Request({
url: me.baseurl + '/config',
waitMsgTarget: me,
},
callback: function() {
me.reload();
- }
+ },
});
},
- text: gettext('Remove')
+ text: gettext('Remove'),
},
{
xtype: 'proxmoxButton',
disabled: true,
+ enableFn: function(rec) {
+ let me = this.up('pveCiPanel');
+ return !!me.rows[rec.data.key].editor;
+ },
handler: function() {
var me = this.up('grid');
me.run_editor();
},
- text: gettext('Edit')
+ text: gettext('Edit'),
},
'-',
{
failure: failure,
callback: function() {
me.reload();
- }
+ },
});
- }
+ },
});
- }
- }
+ },
+ },
],
border: false,
},
listeners: {
- activate: function () {
+ activate: function() {
var me = this;
me.rstore.startUpdate();
},
itemdblclick: function() {
var me = this;
me.run_editor();
- }
+ },
},
initComponent: function() {
}
var caps = Ext.state.Manager.get('GuiCap');
me.baseurl = '/api2/extjs/nodes/' + nodename + '/qemu/' + vmid;
- me.url = me.baseurl + '/pending';
+ me.url = me.baseurl + '/pending';
me.editorConfig.url = me.baseurl + '/config';
me.editorConfig.pveSelNode = me.pveSelNode;
- /*jslint confusion: true*/
+ let caps_ci = caps.vms['VM.Config.Cloudinit'] || caps.vms['VM.Config.Network'];
/* editor is string and object */
me.rows = {
ciuser: {
iconCls: 'fa fa-user',
never_delete: true,
defaultValue: '',
- editor: caps.vms['VM.Config.Options'] ? {
+ editor: caps_ci ? {
xtype: 'proxmoxWindowEdit',
subject: gettext('User'),
items: [
deleteEmpty: true,
emptyText: Proxmox.Utils.defaultText,
fieldLabel: gettext('User'),
- name: 'ciuser'
- }
- ]
+ name: 'ciuser',
+ },
+ ],
} : undefined,
renderer: function(value) {
return value || Proxmox.Utils.defaultText;
- }
+ },
},
cipassword: {
header: gettext('Password'),
iconCls: 'fa fa-unlock',
defaultValue: '',
- editor: caps.vms['VM.Config.Options'] ? {
+ editor: caps_ci ? {
xtype: 'proxmoxWindowEdit',
subject: gettext('Password'),
items: [
deleteEmpty: true,
emptyText: Proxmox.Utils.noneText,
fieldLabel: gettext('Password'),
- name: 'cipassword'
- }
- ]
+ name: 'cipassword',
+ },
+ ],
} : undefined,
renderer: function(value) {
return value || Proxmox.Utils.noneText;
- }
+ },
},
searchdomain: {
header: gettext('DNS domain'),
iconCls: 'fa fa-globe',
editor: caps.vms['VM.Config.Network'] ? 'PVE.lxc.DNSEdit' : undefined,
never_delete: true,
- defaultValue: gettext('use host settings')
+ defaultValue: gettext('use host settings'),
},
nameserver: {
header: gettext('DNS servers'),
iconCls: 'fa fa-globe',
editor: caps.vms['VM.Config.Network'] ? 'PVE.lxc.DNSEdit' : undefined,
never_delete: true,
- defaultValue: gettext('use host settings')
+ defaultValue: gettext('use host settings'),
},
sshkeys: {
header: gettext('SSH public key'),
iconCls: 'fa fa-key',
- editor: caps.vms['VM.Config.Network'] ? 'PVE.qemu.SSHKeyEdit' : undefined,
+ editor: caps_ci ? 'PVE.qemu.SSHKeyEdit' : undefined,
never_delete: true,
renderer: function(value) {
value = decodeURIComponent(value);
return Proxmox.Utils.noneText;
}
},
- defaultValue: ''
- }
+ defaultValue: '',
+ },
};
var i;
var ipconfig_renderer = function(value, md, record, ri, ci, store, pending) {
header: gettext('IP Config') + ' (net' + i.toString() +')',
editor: caps.vms['VM.Config.Network'] ? 'PVE.qemu.IPConfigEdit' : undefined,
iconCls: 'fa fa-exchange',
- renderer: ipconfig_renderer
+ renderer: ipconfig_renderer,
};
me.rows['ipconfig' + i.toString()] = {
- visible: false
+ visible: false,
};
}
- /*jslint confusion: false*/
PVE.Utils.forEachBus(['ide', 'scsi', 'sata'], function(type, id) {
me.rows[type+id] = {
- visible: false
+ visible: false,
};
});
me.callParent();
me.mon(me.rstore, 'load', me.set_button_status, me);
- }
+ },
});