]>
git.proxmox.com Git - pve-manager.git/blob - www/manager6/lxc/Options.js
1 /*jslint confusion: true */
2 Ext
.define('PVE.lxc.Options', {
3 extend
: 'PVE.grid.ObjectGrid',
4 alias
: ['widget.pveLxcOptions'],
6 onlineHelp
: 'pct_options',
8 initComponent : function() {
12 var nodename
= me
.pveSelNode
.data
.node
;
14 throw "no node name specified";
17 var vmid
= me
.pveSelNode
.data
.vmid
;
19 throw "no VM ID specified";
22 var caps
= Ext
.state
.Manager
.get('GuiCap');
26 header
: gettext('Start at boot'),
28 renderer
: PVE
.Utils
.format_boolean
,
29 editor
: caps
.vms
['VM.Config.Options'] ? {
30 xtype
: 'pveWindowEdit',
31 subject
: gettext('Start at boot'),
37 fieldLabel
: gettext('Start at boot')
42 header
: gettext('Start/Shutdown order'),
44 renderer
: PVE
.Utils
.render_kvm_startup
,
45 editor
: caps
.vms
['VM.Config.Options'] && caps
.nodes
['Sys.Modify'] ?
47 xtype
: 'pveWindowStartupEdit',
48 onlineHelp
: 'pct_startup_and_shutdown'
52 header
: gettext('OS Type'),
53 defaultValue
: PVE
.Utils
.unknownText
56 header
: gettext('Architecture'),
57 defaultValue
: PVE
.Utils
.unknownText
60 header
: '/dev/console',
62 renderer
: PVE
.Utils
.format_enabled_toggle
,
63 editor
: caps
.vms
['VM.Config.Options'] ? {
64 xtype
: 'pveWindowEdit',
65 subject
: '/dev/console',
71 deleteDefaultValue
: true,
73 fieldLabel
: '/dev/console'
78 header
: gettext('TTY count'),
80 editor
: caps
.vms
['VM.Config.Options'] ? {
81 xtype
: 'pveWindowEdit',
82 subject
: gettext('TTY count'),
84 xtype
: 'pveIntegerField',
89 fieldLabel
: gettext('TTY count'),
90 allowEmpty
: gettext('Default'),
91 getSubmitData: function() {
93 var val
= me
.getSubmitValue();
94 if (val
!== null && val
!== '' && val
!== '2') {
97 return { 'delete' : 'tty' };
105 header
: gettext('Console mode'),
107 editor
: caps
.vms
['VM.Config.Options'] ? {
108 xtype
: 'pveWindowEdit',
109 subject
: gettext('Console mode'),
111 xtype
: 'pveKVComboBox',
114 value
: '__default__',
116 ['__default__', PVE
.Utils
.defaultText
+ " (tty)"],
117 ['tty', "/dev/tty[X]"],
118 ['console', "/dev/console"],
121 fieldLabel
: gettext('Console mode')
126 header
: gettext('Protection'),
128 renderer
: PVE
.Utils
.format_boolean
,
129 editor
: caps
.vms
['VM.Config.Options'] ? {
130 xtype
: 'pveWindowEdit',
131 subject
: gettext('Protection'),
133 xtype
: 'pvecheckbox',
137 deleteDefaultValue
: true,
138 fieldLabel
: gettext('Enabled')
143 header
: gettext('Unprivileged container'),
144 renderer
: PVE
.Utils
.format_boolean
,
149 var baseurl
= 'nodes/' + nodename
+ '/lxc/' + vmid
+ '/config';
151 var reload = function() {
155 var sm
= Ext
.create('Ext.selection.RowModel', {});
157 var run_editor = function() {
158 var rec
= sm
.getSelection()[0];
163 var rowdef
= rows
[rec
.data
.key
];
164 if (!rowdef
.editor
) {
169 if (Ext
.isString(rowdef
.editor
)) {
170 win
= Ext
.create(rowdef
.editor
, {
171 pveSelNode
: me
.pveSelNode
,
172 confid
: rec
.data
.key
,
173 url
: '/api2/extjs/' + baseurl
176 var config
= Ext
.apply({
177 pveSelNode
: me
.pveSelNode
,
178 confid
: rec
.data
.key
,
179 url
: '/api2/extjs/' + baseurl
181 win
= Ext
.createWidget(rowdef
.editor
.xtype
, config
);
186 win
.on('destroy', reload
);
189 var edit_btn
= new PVE
.button
.Button({
190 text
: gettext('Edit'),
193 enableFn: function(rec
) {
194 var rowdef
= rows
[rec
.data
.key
];
195 return !!rowdef
.editor
;
201 url
: "/api2/json/nodes/" + nodename
+ "/lxc/" + vmid
+ "/config",
206 itemdblclick
: run_editor
,