]> git.proxmox.com Git - pmg-gui.git/blobdiff - js/SystemOptions.js
rules: use tree panel instead of grouping feature of the grid
[pmg-gui.git] / js / SystemOptions.js
index 91c76be74e914ecc53009af2a694058708d6ea3f..7a22e1a55df2222510eeb5d7218439a009fb0e06 100644 (file)
@@ -8,34 +8,66 @@ Ext.define('PMG.SystemOptions', {
 
     url: '/api2/json/config/admin',
     editorConfig: {
-       url: '/api2/extjs/config/admin'
+       url: '/api2/extjs/config/admin',
+       onlineHelp: 'pmgconfig_systemconfig',
     },
 
     controller: {
        xclass: 'Ext.app.ViewController',
 
        onEdit: function() {
-           var me = this.getView();
-           me.run_editor();
-       }
+           let view = this.getView();
+           view.run_editor();
+       },
     },
 
     tbar: [{
        text: gettext('Edit'),
        xtype: 'proxmoxButton',
        disabled: true,
-       handler: 'onEdit'
+       handler: 'onEdit',
     }],
 
     listeners: {
        itemdblclick: 'onEdit',
     },
 
-    initComponent : function() {
-       var me = this;
+    add_proxy_row: function(name, text, opts) {
+       let me = this;
 
-       me.add_boolean_row('dailyreport', gettext('Send daily reports'),
-                          { defaultValue: 1});
+       opts = opts || {};
+       me.rows = me.rows || {};
+
+       me.rows[name] = {
+           required: true,
+           defaultValue: Proxmox.Utils.noneText,
+           header: text,
+           editor: {
+               xtype: 'proxmoxWindowEdit',
+               onlineHelp: 'pmgconfig_systemconfig',
+               subject: text,
+               items: {
+                   xtype: 'proxmoxtextfield',
+                   vtype: 'HttpProxy',
+                   name: name,
+                   deleteEmpty: true,
+                   emptyText: Proxmox.Utils.noneText,
+                   labelWidth: Proxmox.Utils.compute_min_label_width(
+                       text, opts.labelWidth),
+                   fieldLabel: text,
+               },
+           },
+       };
+    },
+
+    initComponent: function() {
+       let me = this;
+
+       me.add_boolean_row('dailyreport', gettext('Send daily admin reports'),
+                          { defaultValue: 1 });
+
+       me.add_boolean_row('advfilter', gettext('Use advanced statistic filters'),
+                          { defaultValue: 0 });
 
        me.add_integer_row('statlifetime', gettext('User statistic lifetime (days)'),
                           { minValue: 1, defaultValue: 7, deleteEmpty: true });
@@ -43,10 +75,12 @@ Ext.define('PMG.SystemOptions', {
        me.add_text_row('email', gettext("Administrator EMail"),
                        { deleteEmpty: true, defaultValue: Proxmox.Utils.noneText });
 
+       me.add_proxy_row('http_proxy', gettext("HTTP proxy"));
+
        me.callParent();
 
        me.on('activate', me.rstore.startUpdate);
+       me.on('deactivate', me.rstore.stopUpdate);
        me.on('destroy', me.rstore.stopUpdate);
-    }
-})
-
+    },
+});