]>
git.proxmox.com Git - pve-manager.git/blob - www/manager/qemu/CreateWizard.js
1 // fixme: howto avoid jslint type confusion?
2 /*jslint confusion: true */
3 Ext
.define('PVE.qemu.CreateWizard', {
4 extend
: 'PVE.window.Wizard',
6 initComponent: function() {
9 var summarystore
= Ext
.create('Ext.data.Store', {
19 var cdpanel
= Ext
.create('PVE.qemu.CDInputPanel', {
28 var hdpanel
= Ext
.create('PVE.qemu.HDInputPanel', {
29 title
: gettext('Hard Disk'),
34 var networkpanel
= Ext
.create('PVE.qemu.NetworkInputPanel', {
35 title
: gettext('Network'),
40 subject
: gettext('Virtual Machine'),
44 title
: gettext('General'),
47 xtype
: 'PVE.form.NodeSelector',
49 fieldLabel
: gettext('Node'),
51 onlineValidator
: true,
53 change: function(f
, value
) {
54 networkpanel
.setNodename(value
);
55 hdpanel
.setNodename(value
);
56 cdpanel
.setNodename(value
);
61 xtype
: 'pveVMIDSelector',
64 loadNextFreeVMID
: true,
71 fieldLabel
: gettext('Name'),
77 xtype
: 'pvePoolSelector',
78 fieldLabel
: gettext('Resource Pool'),
84 onGetValues: function(values
) {
96 xtype
: 'PVE.qemu.OSTypeInputPanel'
101 xtype
: 'PVE.qemu.ProcessorInputPanel',
105 xtype
: 'PVE.qemu.MemoryInputPanel',
107 title
: gettext('Memory')
111 title
: gettext('Confirm'),
115 title
: gettext('Settings'),
119 {header
: 'Key', width
: 150, dataIndex
: 'key'},
120 {header
: 'Value', flex
: 1, dataIndex
: 'value'}
125 show: function(panel
) {
126 var form
= me
.down('form').getForm();
127 var kv
= me
.getValues();
129 Ext
.Object
.each(kv
, function(key
, value
) {
130 if (key
=== 'delete') { // ignore
133 var html
= Ext
.htmlEncode(Ext
.JSON
.encode(value
));
134 data
.push({ key
: key
, value
: value
});
136 summarystore
.suspendEvents();
137 summarystore
.removeAll();
138 summarystore
.add(data
);
140 summarystore
.resumeEvents();
141 summarystore
.fireEvent('datachanged', summarystore
);
145 onSubmit: function() {
146 var kv
= me
.getValues();
149 var nodename
= kv
.nodename
;
152 PVE
.Utils
.API2Request({
153 url
: '/nodes/' + nodename
+ '/qemu',
157 success: function(response
){
160 failure: function(response
, opts
) {
161 Ext
.Msg
.alert(gettext('Error'), response
.htmlStatus
);