]>
git.proxmox.com Git - pve-manager.git/blob - www/manager6/dc/OptionView.js
1 /*jslint confusion: true*/
2 Ext
.define('PVE.dc.OptionView', {
3 extend
: 'Proxmox.grid.ObjectGrid',
4 alias
: ['widget.pveDcOptionView'],
6 onlineHelp
: 'datacenter_configuration_file',
10 add_inputpanel_row: function(name
, text
, opts
) {
14 me
.rows
= me
.rows
|| {};
16 var canEdit
= (opts
.caps
=== undefined || opts
.caps
);
19 defaultValue
: opts
.defaultValue
,
21 renderer
: opts
.renderer
,
23 xtype
: 'proxmoxWindowEdit',
27 labelWidth
: opts
.labelWidth
|| 100
29 setValues: function(values
) {
30 // FIXME: run through parsePropertyString if not an object?
31 var edit_value
= values
[name
];
32 Ext
.Array
.each(this.query('inputpanel'), function(panel
) {
33 panel
.setValues(edit_value
);
39 onGetValues: function(values
) {
40 if (values
=== undefined || Object
.keys(values
).length
=== 0) {
41 return { 'delete': name
};
44 ret_val
[name
] = PVE
.Parser
.printPropertyString(values
);
53 initComponent : function() {
56 var caps
= Ext
.state
.Manager
.get('GuiCap');
58 me
.add_combobox_row('keyboard', gettext('Keyboard Layout'), {
59 renderer
: PVE
.Utils
.render_kvm_language
,
60 comboItems
: PVE
.Utils
.kvm_keymap_array(),
61 defaultValue
: '__default__',
64 me
.add_text_row('http_proxy', gettext('HTTP proxy'), {
65 defaultValue
: Proxmox
.Utils
.noneText
,
69 me
.add_combobox_row('console', gettext('Console Viewer'), {
70 renderer
: PVE
.Utils
.render_console_viewer
,
71 comboItems
: PVE
.Utils
.console_viewer_array(),
72 defaultValue
: '__default__',
75 me
.add_text_row('email_from', gettext('Email from address'), {
78 defaultValue
: 'root@$hostname'
80 me
.add_text_row('mac_prefix', gettext('MAC address prefix'), {
83 defaultValue
: Proxmox
.Utils
.noneText
85 me
.add_inputpanel_row('migration', gettext('Migration Settings'), {
86 renderer
: PVE
.Utils
.render_dc_ha_opts
,
87 caps
: caps
.vms
['Sys.Modify'],
89 url
: "/api2/extjs/cluster/options",
92 xtype
: 'displayfield',
94 fieldLabel
: gettext('Type'),
97 vtype
: 'IPCIDRAddress'
99 xtype
: 'proxmoxNetworkSelector',
101 fieldLabel
: gettext('Network'),
103 emptyText
: Proxmox
.Utils
.defaultText
,
108 me
.add_inputpanel_row('ha', gettext('HA Settings'), {
109 renderer
: PVE
.Utils
.render_dc_ha_opts
,
110 caps
: caps
.vms
['Sys.Modify'],
112 url
: "/api2/extjs/cluster/options",
114 xtype
: 'proxmoxKVComboBox',
115 name
: 'shutdown_policy',
116 fieldLabel
: gettext('Shutdown Policy'),
118 value
: '__default__',
120 ['__default__', Proxmox
.Utils
.defaultText
+ ' (conditional)' ],
121 ['freeze', 'freeze'],
122 ['failover', 'failover'],
123 ['conditional', 'conditional']
125 defaultValue
: '__default__'
129 // TODO: bwlimits, migration net, u2f?
131 me
.selModel
= Ext
.create('Ext.selection.RowModel', {});
135 text
: gettext('Edit'),
136 xtype
: 'proxmoxButton',
138 handler: function() { me
.run_editor(); },
139 selModel
: me
.selModel
141 url
: "/api2/json/cluster/options",
143 url
: "/api2/extjs/cluster/options"
148 itemdblclick
: me
.run_editor
154 // set the new value for the default console
155 me
.mon(me
.rstore
, 'load', function(store
, records
, success
) {
160 var rec
= store
.getById('console');
161 PVE
.VersionInfo
.console
= rec
.data
.value
;
162 if (rec
.data
.value
=== '__default__') {
163 delete PVE
.VersionInfo
.console
;
167 me
.on('activate', me
.rstore
.startUpdate
);
168 me
.on('destroy', me
.rstore
.stopUpdate
);
169 me
.on('deactivate', me
.rstore
.stopUpdate
);