]>
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'),
114 xtype
: 'pveTagFieldSet',
120 onGetValues: function(values
) {
121 ['name', 'pool', 'onboot', 'agent'].forEach(function(field
) {
122 if (!values
[field
]) {
123 delete values
[field
];
127 var res
= PVE
.Parser
.printStartup({
134 values
.startup
= res
;
151 title
: gettext('OS'),
154 xtype
: 'pveQemuCDInputPanel',
156 nodename
: '{nodename}',
162 xtype
: 'pveQemuOSTypePanel',
168 xtype
: 'pveQemuSystemPanel',
169 title
: gettext('System'),
174 xtype
: 'pveMultiHDPanel',
176 nodename
: '{nodename}',
178 title
: gettext('Disks'),
181 xtype
: 'pveQemuProcessorPanel',
183 title
: gettext('CPU'),
186 xtype
: 'pveQemuMemoryPanel',
188 title
: gettext('Memory'),
191 xtype
: 'pveQemuNetworkInputPanel',
193 nodename
: '{nodename}',
195 title
: gettext('Network'),
199 title
: gettext('Confirm'),
212 { header
: 'Key', width
: 150, dataIndex
: 'key' },
213 { header
: 'Value', flex
: 1, dataIndex
: 'value' },
219 xtype
: 'proxmoxcheckbox',
223 boxLabel
: gettext('Start after created'),
227 show: function(panel
) {
228 var kv
= this.up('window').getValues();
230 Ext
.Object
.each(kv
, function(key
, value
) {
231 if (key
=== 'delete') { // ignore
234 data
.push({ key
: key
, value
: value
});
237 var summarystore
= panel
.down('grid').getStore();
238 summarystore
.suspendEvents();
239 summarystore
.removeAll();
240 summarystore
.add(data
);
242 summarystore
.resumeEvents();
243 summarystore
.fireEvent('refresh');
246 onSubmit: function() {
247 var wizard
= this.up('window');
248 var kv
= wizard
.getValues();
251 var nodename
= kv
.nodename
;
254 Proxmox
.Utils
.API2Request({
255 url
: '/nodes/' + nodename
+ '/qemu',
256 waitMsgTarget
: wizard
,
259 success: function(response
) {
262 failure: function(response
, opts
) {
263 Ext
.Msg
.alert(gettext('Error'), response
.htmlStatus
);