]>
git.proxmox.com Git - pmg-gui.git/blob - js/Settings.js
1 Ext
.define('PMG.window.Settings', {
2 extend
: 'Ext.window.Window',
5 title
: gettext('My Settings'),
14 text
: gettext('Close'),
16 this.up('window').close();
24 xclass
: 'Ext.app.ViewController',
26 init: function(view
) {
28 let sp
= Ext
.state
.Manager
.getProvider();
30 let username
= sp
.get('login-username') || Proxmox
.Utils
.noneText
;
31 me
.lookupReference('savedUserName').setValue(Ext
.String
.htmlEncode(username
));
33 let summarycolumns
= sp
.get('summarycolumns', 'auto');
34 me
.lookup('summarycolumns').setValue(summarycolumns
);
36 let settings
= ['fontSize', 'fontFamily', 'letterSpacing', 'lineHeight'];
37 settings
.forEach(function(setting
) {
38 let val
= localStorage
.getItem('pve-xterm-' + setting
);
39 if (val
!== undefined && val
!== null) {
40 let field
= me
.lookup(setting
);
42 field
.resetOriginalValue();
47 set_button_status: function() {
50 let form
= me
.lookup('xtermform');
51 let valid
= form
.isValid();
52 let dirty
= form
.isDirty();
54 let hasvalues
= false;
55 let values
= form
.getValues();
56 Ext
.Object
.eachValue(values
, function(value
) {
64 me
.lookup('xtermsave').setDisabled(!dirty
|| !valid
);
65 me
.lookup('xtermreset').setDisabled(!hasvalues
);
70 dirtychange
: 'set_button_status',
71 validitychange
: 'set_button_status',
74 click: function(button
) {
76 let settings
= ['fontSize', 'fontFamily', 'letterSpacing', 'lineHeight'];
77 settings
.forEach(function(setting
) {
78 let field
= me
.lookup(setting
);
79 if (button
.reference
=== 'xtermsave') {
80 let value
= field
.getValue();
82 localStorage
.setItem('pve-xterm-' + setting
, value
);
84 localStorage
.removeItem('pve-xterm-' + setting
);
86 } else if (button
.reference
=== 'xtermreset') {
87 field
.setValue(undefined);
88 localStorage
.removeItem('pve-xterm-' + setting
);
90 field
.resetOriginalValue();
92 me
.set_button_status();
95 'button[name=reset]': {
97 let blacklist
= ['login-username'];
98 let sp
= Ext
.state
.Manager
.getProvider();
99 for (const state
of Object
.values(sp
.state
)) {
100 if (blacklist
.indexOf(state
) !== -1) {
107 window
.location
.reload();
110 'button[name=clear-username]': {
113 let usernamefield
= me
.lookupReference('savedUserName');
114 let sp
= Ext
.state
.Manager
.getProvider();
116 usernamefield
.setValue(Proxmox
.Utils
.noneText
);
117 sp
.clear('login-username');
120 'field[reference=summarycolumns]': {
121 change: function(el
, newValue
) {
122 var sp
= Ext
.state
.Manager
.getProvider();
123 sp
.set('summarycolumns', newValue
);
132 title
: gettext('Webinterface Settings'),
148 xtype
: 'displayfield',
149 fieldLabel
: gettext('Saved User Name') + ':',
151 stateId
: 'login-username',
152 reference
: 'savedUserName',
158 cls
: 'x-btn-default-toolbar-small proxmox-inline-button',
159 text
: gettext('Reset'),
160 name
: 'clear-username',
166 autoEl
: { tag
: 'hr' },
173 xtype
: 'displayfield',
174 fieldLabel
: gettext('Layout') + ':',
179 cls
: 'x-btn-default-toolbar-small proxmox-inline-button',
180 text
: gettext('Reset'),
181 tooltip
: gettext('Reset all layout changes (for example, column widths)'),
188 autoEl
: { tag
: 'hr' },
191 xtype
: 'proxmoxKVComboBox',
192 fieldLabel
: gettext('Summary/Dashboard columns') + ':',
194 stateId
: 'summarycolumns',
195 reference
: 'summarycolumns',
212 // right margin ensures that the right border of the fieldsets
220 title
: gettext('xterm.js Settings'),
223 reference
: 'xtermform',
237 reference
: 'fontFamily',
238 emptyText
: Proxmox
.Utils
.defaultText
,
239 fieldLabel
: gettext('Font-Family'),
242 xtype
: 'proxmoxintegerfield',
243 emptyText
: Proxmox
.Utils
.defaultText
,
245 reference
: 'fontSize',
247 fieldLabel
: gettext('Font-Size'),
250 xtype
: 'numberfield',
251 name
: 'letterSpacing',
252 reference
: 'letterSpacing',
253 emptyText
: Proxmox
.Utils
.defaultText
,
254 fieldLabel
: gettext('Letter Spacing'),
257 xtype
: 'numberfield',
260 reference
: 'lineHeight',
261 emptyText
: Proxmox
.Utils
.defaultText
,
262 fieldLabel
: gettext('Line Height'),
276 reference
: 'xtermreset',
278 text
: gettext('Reset'),
282 reference
: 'xtermsave',
284 text
: gettext('Save'),