Ext.define('PVE.qemu.CDInputPanel', {
- extend: 'PVE.panel.InputPanel',
+ extend: 'Proxmox.panel.InputPanel',
alias: 'widget.pveQemuCDInputPanel',
insideWizard: false,
onGetValues: function(values) {
var me = this;
- var confid = me.confid || (values.controller + values.deviceid);
-
+ var confid = me.confid || values.controller + values.deviceid;
+
me.drive.media = 'cdrom';
if (values.mediaType === 'iso') {
me.drive.file = values.cdimage;
}
var params = {};
-
+
params[confid] = PVE.Parser.printQemuDrive(me.drive);
-
- return params;
+
+ return params;
},
setVMConfig: function(vmconfig) {
me.cdfilesel.setStorage(undefined, nodename);
},
- initComponent : function() {
+ initComponent: function() {
var me = this;
me.drive = {};
if (!me.confid) {
me.bussel = Ext.create('PVE.form.ControllerSelector', {
- noVirtIO: true
+ noVirtIO: true,
});
items.push(me.bussel);
}
return;
}
me.down('field[name=cdstorage]').setDisabled(!value);
- me.down('field[name=cdimage]').setDisabled(!value);
- me.down('field[name=cdimage]').validate();
- }
- }
+ var cdImageField = me.down('field[name=cdimage]');
+ cdImageField.setDisabled(!value);
+ if (value) {
+ cdImageField.validate();
+ } else {
+ cdImageField.reset();
+ }
+ },
+ },
});
me.cdfilesel = Ext.create('PVE.form.FileSelector', {
storageContent: 'iso',
fieldLabel: gettext('ISO image'),
labelAlign: 'right',
- allowBlank: false
+ allowBlank: false,
});
-
+
me.cdstoragesel = Ext.create('PVE.form.StorageSelector', {
name: 'cdstorage',
nodename: me.nodename,
listeners: {
change: function(f, value) {
me.cdfilesel.setStorage(value);
- }
- }
+ },
+ },
});
items.push(me.cdstoragesel);
xtype: 'radiofield',
name: 'mediaType',
inputValue: 'cdrom',
- boxLabel: gettext('Use physical CD/DVD Drive')
+ boxLabel: gettext('Use physical CD/DVD Drive'),
});
items.push({
xtype: 'radiofield',
name: 'mediaType',
inputValue: 'none',
- boxLabel: gettext('Do not use any media')
+ boxLabel: gettext('Do not use any media'),
});
me.items = items;
me.callParent();
- }
+ },
});
Ext.define('PVE.qemu.CDEdit', {
extend: 'Proxmox.window.Edit',
- initComponent : function() {
+ width: 400,
+
+ initComponent: function() {
var me = this;
var nodename = me.pveSelNode.data.node;
- if (!nodename) {
- throw "no node name specified";
+ if (!nodename) {
+ throw "no node name specified";
}
- me.isCreate = me.confid ? false : true;
+ me.isCreate = !me.confid;
var ipanel = Ext.create('PVE.qemu.CDInputPanel', {
confid: me.confid,
- nodename: nodename
+ nodename: nodename,
});
Ext.applyIf(me, {
subject: 'CD/DVD Drive',
- items: [ ipanel ]
+ items: [ipanel],
});
me.callParent();
-
+
me.load({
- success: function(response, options) {
+ success: function(response, options) {
ipanel.setVMConfig(response.result.data);
if (me.confid) {
var value = response.result.data[me.confid];
}
ipanel.setDrive(drive);
}
- }
+ },
});
- }
+ },
});