]>
git.proxmox.com Git - pve-manager.git/blob - www/manager6/window/Settings.js
1 Ext
.define('PVE.window.Settings', {
2 extend
: 'Ext.window.Window',
5 title
: gettext('My Settings'),
12 text
: gettext('Close'),
14 this.up('window').close();
24 xclass
: 'Ext.app.ViewController',
26 init: function(view
) {
28 var sp
= Ext
.state
.Manager
.getProvider();
30 var username
= sp
.get('login-username') || Proxmox
.Utils
.noneText
;
31 me
.lookupReference('savedUserName').setValue(username
);
33 var settings
= ['fontSize', 'fontFamily', 'letterSpacing', 'lineHeight'];
34 var defaultSettings
= true;
35 settings
.forEach(function(setting
) {
36 var val
= localStorage
.getItem('pve-xterm-' + setting
);
37 if (val
!== undefined && val
!== null) {
38 var field
= me
.lookup(setting
);
40 defaultSettings
= false;
44 me
.lookup('xtermsave').setDisabled(true);
45 me
.lookup('xtermreset').setDisabled(defaultSettings
);
50 change: function(field
) {
52 me
.lookup('xtermsave').setDisabled(false);
53 me
.lookup('xtermreset').setDisabled(false);
57 click: function(button
) {
59 var settings
= ['fontSize', 'fontFamily', 'letterSpacing', 'lineHeight'];
60 settings
.forEach(function(setting
) {
61 var field
= me
.lookup(setting
);
62 if (button
.reference
=== 'xtermsave') {
63 var value
= field
.getValue();
65 localStorage
.setItem('pve-xterm-' + setting
, value
);
67 localStorage
.removeItem('pve-xterm-' + setting
);
69 } else if (button
.reference
=== 'xtermreset') {
70 field
.setValue(undefined);
71 localStorage
.removeItem('pve-xterm-' + setting
);
74 button
.setDisabled(true);
77 'button[name=reset]': {
79 var blacklist
= ['GuiCap', 'login-username', 'dash-storages'];
80 var sp
= Ext
.state
.Manager
.getProvider();
82 for (state
in sp
.state
) {
83 if (sp
.state
.hasOwnProperty(state
)) {
84 if (blacklist
.indexOf(state
) !== -1) {
92 window
.location
.reload();
95 'button[name=clear-username]': {
98 var usernamefield
= me
.lookupReference('savedUserName');
99 var sp
= Ext
.state
.Manager
.getProvider();
101 usernamefield
.setValue(Proxmox
.Utils
.noneText
);
102 sp
.clear('login-username');
105 'grid[reference=dashboard-storages]': {
106 selectionchange: function(grid
, selected
) {
108 var sp
= Ext
.state
.Manager
.getProvider();
110 // saves the selected storageids as
112 // or clears the variable
113 if (selected
.length
> 0) {
114 sp
.set('dash-storages',
115 Ext
.Array
.pluck(selected
, 'id').join(','));
117 sp
.clear('dash-storages');
120 afterrender: function(grid
) {
122 var sp
= Ext
.state
.Manager
.getProvider();
123 var store
= me
.getStore();
125 me
.suspendEvent('selectionchange');
126 var storages
= sp
.get('dash-storages') || '';
127 storages
.split(',').forEach(function(storage
){
128 // we have to get the records
129 // to be able to select them
130 if (storage
!== '') {
131 var item
= store
.getById(storage
);
137 me
.getSelectionModel().select(items
);
138 me
.resumeEvent('selectionchange');
147 title
: gettext('Webinterface Settings'),
159 xtype
: 'displayfield',
160 fieldLabel
: gettext('Dashboard Storages'),
167 reference
: 'dashboard-storages',
169 selType
: 'checkboxmodel'
172 header
: gettext('Name'),
173 dataIndex
: 'storage',
176 header
: gettext('Node'),
182 field
: ['type', 'storage', 'id', 'node'],
183 rstore
: PVE
.data
.ResourceStore
,
188 sorters
: [ 'node','storage']
196 xtype
: 'displayfield',
197 fieldLabel
: gettext('Saved User name'),
200 stateId
: 'login-username',
201 reference
: 'savedUserName',
206 cls
: 'x-btn-default-toolbar-small proxmox-inline-button',
207 text
: gettext('Clear User name'),
209 name
: 'clear-username'
216 xtype
: 'displayfield',
217 fieldLabel
: gettext('Layout'),
223 cls
: 'x-btn-default-toolbar-small proxmox-inline-button',
224 text
: gettext('Reset Layout'),
234 title
: gettext('xterm.js Settings'),
247 reference
: 'fontFamily',
248 emptyText
: Proxmox
.Utils
.defaultText
,
249 fieldLabel
: gettext('Font-Family')
252 xtype
: 'proxmoxintegerfield',
253 emptyText
: Proxmox
.Utils
.defaultText
,
255 reference
: 'fontSize',
257 fieldLabel
: gettext('Font-Size')
260 xtype
: 'numberfield',
261 name
: 'letterSpacing',
262 reference
: 'letterSpacing',
263 emptyText
: Proxmox
.Utils
.defaultText
,
264 fieldLabel
: gettext('Letter Spacing')
267 xtype
: 'numberfield',
270 reference
: 'lineHeight',
271 emptyText
: Proxmox
.Utils
.defaultText
,
272 fieldLabel
: gettext('Line Height')
283 reference
: 'xtermreset',
285 text
: gettext('Reset')
289 reference
: 'xtermsave',
291 text
: gettext('Save')