]>
git.proxmox.com Git - pve-manager.git/blob - www/manager6/qemu/CreateWizard.js
1 Ext
.define('PVE.qemu.CreateWizard', {
2 extend
: 'PVE.window.Wizard',
3 alias
: 'widget.pveQemuCreateWizard',
4 mixins
: ['Proxmox.Mixin.CBind'],
14 cgroupMode: function(get) {
15 const nodeInfo
= PVE
.data
.ResourceStore
.getNodes().find(
16 node
=> node
.node
=== get('nodename'),
18 return nodeInfo
? nodeInfo
['cgroup-mode'] : 2;
27 subject
: gettext('Virtual Machine'),
32 title
: gettext('General'),
33 onlineHelp
: 'qm_general_settings',
36 xtype
: 'pveNodeSelector',
39 selectCurNode
: '{!nodename}',
40 preferredValue
: '{nodename}',
45 fieldLabel
: gettext('Node'),
47 onlineValidator
: true,
50 xtype
: 'pveGuestIDSelector',
55 validateExists
: false,
62 fieldLabel
: gettext('Name'),
68 xtype
: 'pvePoolSelector',
69 fieldLabel
: gettext('Resource Pool'),
77 xtype
: 'proxmoxcheckbox',
81 deleteDefaultValue
: true,
82 fieldLabel
: gettext('Start at boot'),
92 fieldLabel
: gettext('Start/Shutdown order'),
100 fieldLabel
: gettext('Startup delay'),
106 emptyText
: 'default',
108 fieldLabel
: gettext('Shutdown timeout'),
111 onGetValues: function(values
) {
112 ['name', 'pool', 'onboot', 'agent'].forEach(function(field
) {
113 if (!values
[field
]) {
114 delete values
[field
];
118 var res
= PVE
.Parser
.printStartup({
125 values
.startup
= res
;
142 title
: gettext('OS'),
145 xtype
: 'pveQemuCDInputPanel',
147 nodename
: '{nodename}',
153 xtype
: 'pveQemuOSTypePanel',
159 xtype
: 'pveQemuSystemPanel',
160 title
: gettext('System'),
165 xtype
: 'pveMultiHDPanel',
167 nodename
: '{nodename}',
169 title
: gettext('Disks'),
172 xtype
: 'pveQemuProcessorPanel',
174 title
: gettext('CPU'),
177 xtype
: 'pveQemuMemoryPanel',
179 title
: gettext('Memory'),
182 xtype
: 'pveQemuNetworkInputPanel',
184 nodename
: '{nodename}',
186 title
: gettext('Network'),
190 title
: gettext('Confirm'),
203 { header
: 'Key', width
: 150, dataIndex
: 'key' },
204 { header
: 'Value', flex
: 1, dataIndex
: 'value' },
210 xtype
: 'proxmoxcheckbox',
214 boxLabel
: gettext('Start after created'),
218 show: function(panel
) {
219 var kv
= this.up('window').getValues();
221 Ext
.Object
.each(kv
, function(key
, value
) {
222 if (key
=== 'delete') { // ignore
225 data
.push({ key
: key
, value
: value
});
228 var summarystore
= panel
.down('grid').getStore();
229 summarystore
.suspendEvents();
230 summarystore
.removeAll();
231 summarystore
.add(data
);
233 summarystore
.resumeEvents();
234 summarystore
.fireEvent('refresh');
237 onSubmit: function() {
238 var wizard
= this.up('window');
239 var kv
= wizard
.getValues();
242 var nodename
= kv
.nodename
;
245 Proxmox
.Utils
.API2Request({
246 url
: '/nodes/' + nodename
+ '/qemu',
247 waitMsgTarget
: wizard
,
250 success: function(response
) {
253 failure: function(response
, opts
) {
254 Ext
.Msg
.alert(gettext('Error'), response
.htmlStatus
);