]>
git.proxmox.com Git - pve-manager.git/blob - www/manager6/qemu/CDEdit.js
1 Ext
.define('PVE.qemu.CDInputPanel', {
2 extend
: 'PVE.panel.InputPanel',
3 alias
: 'widget.pveQemuCDInputPanel',
7 onGetValues: function(values
) {
10 var confid
= me
.confid
|| (values
.controller
+ values
.deviceid
);
12 me
.drive
.media
= 'cdrom';
13 if (values
.mediaType
=== 'iso') {
14 me
.drive
.file
= values
.cdimage
;
15 } else if (values
.mediaType
=== 'cdrom') {
16 me
.drive
.file
= 'cdrom';
18 me
.drive
.file
= 'none';
23 params
[confid
] = PVE
.Parser
.printQemuDrive(me
.drive
);
28 setVMConfig: function(vmconfig
) {
32 me
.bussel
.setVMConfig(vmconfig
, 'cdrom');
36 setDrive: function(drive
) {
40 if (drive
.file
=== 'cdrom') {
41 values
.mediaType
= 'cdrom';
42 } else if (drive
.file
=== 'none') {
43 values
.mediaType
= 'none';
45 values
.mediaType
= 'iso';
46 var match
= drive
.file
.match(/^([^:]+):/);
48 values
.cdstorage
= match
[1];
49 values
.cdimage
= drive
.file
;
58 setNodename: function(nodename
) {
61 me
.cdstoragesel
.setNodename(nodename
);
62 me
.cdfilesel
.setStorage(undefined, nodename
);
65 initComponent : function() {
73 me
.bussel
= Ext
.create('PVE.form.ControllerSelector', {
76 items
.push(me
.bussel
);
83 boxLabel
: gettext('Use CD/DVD disc image file (iso)'),
86 change: function(f
, value
) {
90 me
.down('field[name=cdstorage]').setDisabled(!value
);
91 me
.down('field[name=cdimage]').setDisabled(!value
);
92 me
.down('field[name=cdimage]').validate();
97 me
.cdfilesel
= Ext
.create('PVE.form.FileSelector', {
99 nodename
: me
.nodename
,
100 storageContent
: 'iso',
101 fieldLabel
: gettext('ISO image'),
106 me
.cdstoragesel
= Ext
.create('PVE.form.StorageSelector', {
108 nodename
: me
.nodename
,
109 fieldLabel
: gettext('Storage'),
111 storageContent
: 'iso',
113 autoSelect
: me
.insideWizard
,
115 change: function(f
, value
) {
116 me
.cdfilesel
.setStorage(value
);
121 items
.push(me
.cdstoragesel
);
122 items
.push(me
.cdfilesel
);
128 boxLabel
: gettext('Use physical CD/DVD Drive')
135 boxLabel
: gettext('Do not use any media')
138 if (me
.insideWizard
) {
148 Ext
.define('PVE.qemu.CDEdit', {
149 extend
: 'PVE.window.Edit',
151 initComponent : function() {
154 var nodename
= me
.pveSelNode
.data
.node
;
156 throw "no node name specified";
159 me
.isCreate
= me
.confid
? false : true;
161 var ipanel
= Ext
.create('PVE.qemu.CDInputPanel', {
167 subject
: 'CD/DVD Drive',
174 success: function(response
, options
) {
175 ipanel
.setVMConfig(response
.result
.data
);
177 var value
= response
.result
.data
[me
.confid
];
178 var drive
= PVE
.Parser
.parseQemuDrive(me
.confid
, value
);
180 Ext
.Msg
.alert('Error', 'Unable to parse drive options');
184 ipanel
.setDrive(drive
);