]> git.proxmox.com Git - pve-manager.git/blobdiff - www/manager6/window/Settings.js
ui: ceph install mask: avoid showing version
[pve-manager.git] / www / manager6 / window / Settings.js
index 984c8ac92eecb376b00dbbf689ebe2db74eb5745..3bf974f0e046e8012fe0d5c1279b257285c20dae 100644 (file)
@@ -23,10 +23,7 @@ Ext.define('PVE.window.Settings', {
        }
     ],
 
-    layout: {
-       type: 'hbox',
-       align: 'top'
-    },
+    layout: 'hbox',
 
     controller: {
        xclass: 'Ext.app.ViewController',
@@ -36,12 +33,17 @@ Ext.define('PVE.window.Settings', {
            var sp = Ext.state.Manager.getProvider();
 
            var username = sp.get('login-username') || Proxmox.Utils.noneText;
-           me.lookupReference('savedUserName').setValue(username);
+           me.lookupReference('savedUserName').setValue(Ext.String.htmlEncode(username));
            var vncMode = sp.get('novnc-scaling');
            if (vncMode !== undefined) {
-               me.lookupReference('noVNCScalingGroup').setValue(vncMode);
+               me.lookupReference('noVNCScalingGroup').setValue({ noVNCScalingField: vncMode });
            }
 
+           let summarycolumns = sp.get('summarycolumns', 'auto');
+           me.lookup('summarycolumns').setValue(summarycolumns);
+
+           me.lookup('guestNotesCollapse').setValue(sp.get('guest-notes-collapse', 'never'));
+
            var settings = ['fontSize', 'fontFamily', 'letterSpacing', 'lineHeight'];
            settings.forEach(function(setting) {
                var val = localStorage.getItem('pve-xterm-' + setting);
@@ -163,13 +165,24 @@ Ext.define('PVE.window.Settings', {
                    me.getSelectionModel().select(items);
                    me.resumeEvent('selectionchange');
                }
-           }
+           },
+           'field[reference=summarycolumns]': {
+               change: function(el, newValue) {
+                   var sp = Ext.state.Manager.getProvider();
+                   sp.set('summarycolumns', newValue);
+               }
+           },
+           'field[reference=guestNotesCollapse]': {
+               change: function(e, v) {
+                   Ext.state.Manager.getProvider().set('guest-notes-collapse', v);
+               },
+           },
        }
     },
 
     items: [{
        xtype: 'fieldset',
-       width: '50%',
+       flex: 1,
        title: gettext('Webinterface Settings'),
        margin: '5',
        layout: {
@@ -219,43 +232,83 @@ Ext.define('PVE.window.Settings', {
                autoEl: { tag: 'hr'}
            },
            {
-               xtype: 'displayfield',
-               fieldLabel: gettext('Saved User name'),
-               labelAlign: 'left',
-               labelWidth: '50%',
-               stateId: 'login-username',
-               reference: 'savedUserName',
-               value: ''
+               xtype: 'container',
+               layout:  'hbox',
+               items: [
+                   {
+                       xtype: 'displayfield',
+                       fieldLabel: gettext('Saved User Name') + ':',
+                       labelWidth: '150',
+                       stateId: 'login-username',
+                       reference: 'savedUserName',
+                       flex: 1,
+                       value: ''
+                   },
+                   {
+                       xtype: 'button',
+                       cls: 'x-btn-default-toolbar-small proxmox-inline-button',
+                       text: gettext('Reset'),
+                       name: 'clear-username',
+                   },
+               ]
            },
            {
-               xtype: 'button',
-               cls: 'x-btn-default-toolbar-small proxmox-inline-button',
-               text: gettext('Clear User name'),
-               width: 'auto',
-               name: 'clear-username'
+               xtype: 'box',
+               autoEl: { tag: 'hr'}
+           },
+           {
+               xtype: 'container',
+               layout: 'hbox',
+               items: [
+                   {
+                       xtype: 'displayfield',
+                       fieldLabel: gettext('Layout') + ':',
+                       flex: 1,
+                   },
+                   {
+                       xtype: 'button',
+                       cls: 'x-btn-default-toolbar-small proxmox-inline-button',
+                       text: gettext('Reset'),
+                       tooltip: gettext('Reset all layout changes (for example, column widths)'),
+                       name: 'reset',
+                   },
+               ]
            },
            {
                xtype: 'box',
                autoEl: { tag: 'hr'}
            },
            {
-               xtype: 'displayfield',
-               fieldLabel: gettext('Layout'),
-               labelAlign: 'left',
-               labelWidth: '50%'
+               xtype: 'proxmoxKVComboBox',
+               fieldLabel: gettext('Summary columns') + ':',
+               labelWidth: 150,
+               stateId: 'summarycolumns',
+               reference: 'summarycolumns',
+               comboItems: [
+                   ['auto', 'auto'],
+                   ['1', '1'],
+                   ['2', '2'],
+                   ['3', '3'],
+               ],
            },
            {
-               xtype: 'button',
-               cls: 'x-btn-default-toolbar-small proxmox-inline-button',
-               text: gettext('Reset Layout'),
-               width: 'auto',
-               name: 'reset'
+               xtype: 'proxmoxKVComboBox',
+               fieldLabel: gettext('Guest Notes') + ':',
+               labelWidth: 150,
+               stateId: 'guest-notes-collapse',
+               reference: 'guestNotesCollapse',
+               comboItems: [
+                   ['never', 'Show by default'],
+                   ['always', 'Collapse by default'],
+                   ['auto', 'auto (Collapse if empty)'],
+               ],
            },
        ]
-    },{
+    },
+    {
        xtype: 'container',
        layout: 'vbox',
-       width: '50%',
+       flex: 1,
        margin: '5',
        defaults: {
            width: '100%',
@@ -317,6 +370,9 @@ Ext.define('PVE.window.Settings', {
                                type: 'hbox',
                                pack: 'end'
                            },
+                           defaults: {
+                               margin: '0 0 0 5',
+                           },
                            items: [
                                {
                                    xtype: 'button',
@@ -364,7 +420,7 @@ Ext.define('PVE.window.Settings', {
                        listeners: {
                            change: function(el, newValue, undefined) {
                                var sp = Ext.state.Manager.getProvider();
-                               sp.set('novnc-scaling', newValue);
+                               sp.set('novnc-scaling', newValue.noVNCScalingField);
                            }
                        },
                    },
@@ -372,9 +428,4 @@ Ext.define('PVE.window.Settings', {
            },
        ]
     }],
-
-    onShow: function() {
-       var me = this;
-       me.callParent();
-    }
 });