]>
git.proxmox.com Git - pve-manager.git/blob - www/manager/lxc/Options.js
fffd8e78a8f6191944ebe0d734a0b9ea2e273d70
1 /*jslint confusion: true */
2 Ext
.define('PVE.lxc.Options', {
3 extend
: 'PVE.grid.ObjectGrid',
4 alias
: ['widget.pveLxcOptions'],
6 initComponent : function() {
10 var nodename
= me
.pveSelNode
.data
.node
;
12 throw "no node name specified";
15 var vmid
= me
.pveSelNode
.data
.vmid
;
17 throw "no VM ID specified";
20 var caps
= Ext
.state
.Manager
.get('GuiCap');
24 header
: gettext('Start at boot'),
26 renderer
: PVE
.Utils
.format_boolean
,
27 editor
: caps
.vms
['VM.Config.Options'] ? {
28 xtype
: 'pveWindowEdit',
29 subject
: gettext('Start at boot'),
35 fieldLabel
: gettext('Start at boot')
40 header
: gettext('Start/Shutdown order'),
42 renderer
: PVE
.Utils
.render_kvm_startup
,
43 editor
: caps
.vms
['VM.Config.Options'] && caps
.nodes
['Sys.Modify'] ?
44 'PVE.qemu.StartupEdit' : undefined
47 header
: gettext('OS Type'),
48 defaultValue
: PVE
.Utils
.unknownText
51 header
: gettext('Architecture'),
52 defaultValue
: PVE
.Utils
.unknownText
55 header
: gettext('Enable /dev/console'),
57 renderer
: PVE
.Utils
.format_boolean
,
58 editor
: caps
.vms
['VM.Config.Options'] ? {
59 xtype
: 'pveWindowEdit',
60 subject
: gettext('Enable /dev/console'),
66 deleteDefaultValue
: true,
68 fieldLabel
: gettext('Enable /dev/console')
73 header
: gettext('TTY count'),
75 editor
: caps
.vms
['VM.Config.Options'] ? {
76 xtype
: 'pveWindowEdit',
77 subject
: gettext('TTY count'),
85 fieldLabel
: gettext('TTY count'),
86 allowEmpty
: gettext('Default'),
87 getSubmitData: function() {
89 var val
= me
.getSubmitValue();
90 if (val
!== null && val
!== '' && val
!== '2') {
93 return { 'delete' : 'tty' };
101 header
: gettext('Console mode'),
103 editor
: caps
.vms
['VM.Config.Options'] ? {
104 xtype
: 'pveWindowEdit',
105 subject
: gettext('Console mode'),
107 xtype
: 'pveKVComboBox',
112 ['', PVE
.Utils
.defaultText
+ " (tty)"],
113 ['tty', "/dev/tty[X]"],
114 ['console', "/dev/console"],
117 fieldLabel
: gettext('Console mode')
122 header
: gettext('CT protection'),
124 renderer
: PVE
.Utils
.format_boolean
,
125 editor
: caps
.vms
['VM.Config.Options'] ? {
126 xtype
: 'pveWindowEdit',
127 subject
: gettext('CT protection'),
129 xtype
: 'pvecheckbox',
133 deleteDefaultValue
: true,
134 fieldLabel
: gettext('Enabled')
140 var baseurl
= 'nodes/' + nodename
+ '/lxc/' + vmid
+ '/config';
142 var reload = function() {
146 var sm
= Ext
.create('Ext.selection.RowModel', {});
148 var run_editor = function() {
149 var rec
= sm
.getSelection()[0];
154 var rowdef
= rows
[rec
.data
.key
];
155 if (!rowdef
.editor
) {
160 if (Ext
.isString(rowdef
.editor
)) {
161 win
= Ext
.create(rowdef
.editor
, {
162 pveSelNode
: me
.pveSelNode
,
163 confid
: rec
.data
.key
,
164 url
: '/api2/extjs/' + baseurl
167 var config
= Ext
.apply({
168 pveSelNode
: me
.pveSelNode
,
169 confid
: rec
.data
.key
,
170 url
: '/api2/extjs/' + baseurl
172 win
= Ext
.createWidget(rowdef
.editor
.xtype
, config
);
177 win
.on('destroy', reload
);
180 var edit_btn
= new PVE
.button
.Button({
181 text
: gettext('Edit'),
184 enableFn: function(rec
) {
185 var rowdef
= rows
[rec
.data
.key
];
186 return !!rowdef
.editor
;
192 url
: "/api2/json/nodes/" + nodename
+ "/lxc/" + vmid
+ "/config",
198 itemdblclick
: run_editor
204 me
.on('show', reload
);