]> git.proxmox.com Git - pmg-gui.git/blobdiff - js/DomainStatistics.js
StatTimeSelector: don't show invalid month/day combinations
[pmg-gui.git] / js / DomainStatistics.js
index eb51c0f845be8b917fc71e9412f1c048c367f79a..190fe2944e58e2f08b243a0fd26a26862799f359 100644 (file)
@@ -4,9 +4,10 @@ Ext.define('PMG.DomainStatistics', {
 
     title: gettext('Statistics') + ': ' + gettext('Domain'),
 
-    tbar: [ { xtype: 'pmgStatTimeSelector' } ],
+    tbar: [{ xtype: 'pmgStatTimeSelector' }],
 
     layout: 'fit',
+    border: false,
 
     initComponent: function() {
        var me = this;
@@ -19,23 +20,23 @@ Ext.define('PMG.DomainStatistics', {
            { type: 'integer', name: 'spamcount_out' },
            { type: 'integer', name: 'viruscount_in' },
            { type: 'integer', name: 'viruscount_out' },
-           { type: 'number', name: 'mbytes_in' },
-           { type: 'number', name: 'mbytes_out' }
+           { type: 'number', name: 'bytes_in' },
+           { type: 'number', name: 'bytes_out' },
        ];
 
        var store = Ext.create('PMG.data.StatStore', {
            staturl: '/api2/json/statistics/domains',
-           fields: fields
+           fields: fields,
        });
 
        var store_in = Ext.create('Ext.data.ArrayStore', {
            fields: fields,
-           filters: [ function(item) { return item.data.count_in > 0; } ]
+           filters: [function(item) { return item.data.count_in > 0; }],
        });
 
        var store_out = Ext.create('Ext.data.ArrayStore', {
            fields: fields,
-           filters: [ function(item) { return item.data.count_out > 0; } ]
+           filters: [function(item) { return item.data.count_out > 0; }],
        });
 
        store.on('load', function(s, records, successful) {
@@ -46,13 +47,13 @@ Ext.define('PMG.DomainStatistics', {
                store_in.setData(records);
                store_out.setData(records);
            }
-       })
+       });
 
        var render_domain = function(v) {
-           return v === '' ? '--- EMPTY ADDRESS ---' : v;
+           return v === '' ? '--- EMPTY ADDRESS ---' : Ext.htmlEncode(v);
        };
 
-       me.items = {
+       me.items = [{
            xtype: 'tabpanel',
            border: false,
            items: [
@@ -62,9 +63,9 @@ Ext.define('PMG.DomainStatistics', {
                    border: false,
                    disableSelection: true,
                    store: store_in,
-                   emptyText: gettext('No data in database.'),
+                   emptyText: gettext('No data in database'),
                    viewConfig: {
-                       deferEmptyText: false
+                       deferEmptyText: false,
                    },
                    columns: [
                        {
@@ -72,33 +73,33 @@ Ext.define('PMG.DomainStatistics', {
                                gettext('Receiver') + ')',
                            flex: 1,
                            renderer: render_domain,
-                           dataIndex: 'domain'
+                           dataIndex: 'domain',
                        },
                        {
                            text: gettext('Traffic') + ' (MB)',
-                           dataIndex: 'mbytes_in',
+                           dataIndex: 'bytes_in',
                            renderer: function(v) {
-                               return Ext.Number.toFixed(v, 2);
-                           }
+                               return Ext.Number.toFixed(v/(1024*1024), 2);
+                           },
                        },
                        {
                            text: gettext('Count'),
                            columns: [
                                {
                                    text: gettext('Mail'),
-                                   dataIndex: 'count_in'
+                                   dataIndex: 'count_in',
                                },
                                {
                                    header: gettext('Virus'),
-                                   dataIndex: 'viruscount_in'
+                                   dataIndex: 'viruscount_in',
                                },
                                {
                                    header: gettext('Spam'),
-                                   dataIndex: 'spamcount_in'
-                               }
-                           ]
-                       }
-                   ]
+                                   dataIndex: 'spamcount_in',
+                               },
+                           ],
+                       },
+                   ],
                },
                {
                    xtype: 'grid',
@@ -106,9 +107,9 @@ Ext.define('PMG.DomainStatistics', {
                    border: false,
                    disableSelection: true,
                    store: store_out,
-                   emptyText: gettext('No data in database.'),
+                   emptyText: gettext('No data in database'),
                    viewConfig: {
-                       deferEmptyText: false
+                       deferEmptyText: false,
                    },
                    columns: [
                        {
@@ -116,37 +117,37 @@ Ext.define('PMG.DomainStatistics', {
                                gettext('Receiver') + ')',
                            flex: 1,
                            renderer: render_domain,
-                           dataIndex: 'domain'
+                           dataIndex: 'domain',
                        },
                        {
                            text: gettext('Traffic') + ' (MB)',
-                           dataIndex: 'mbytes_out',
+                           dataIndex: 'bytes_out',
                            renderer: function(v) {
-                               return Ext.Number.toFixed(v, 2);
-                           }
+                               return Ext.Number.toFixed(v/(1024*1024), 2);
+                           },
                        },
                        {
                            text: gettext('Count'),
                            columns: [
                                {
                                    text: gettext('Mail'),
-                                   dataIndex: 'count_out'
+                                   dataIndex: 'count_out',
                                },
                                {
                                    header: gettext('Virus'),
-                                   dataIndex: 'viruscount_out'
-                               }
-                           ]
-                       }
-                   ]
-               }
-           ]
-       };
+                                   dataIndex: 'viruscount_out',
+                               },
+                           ],
+                       },
+                   ],
+               },
+           ],
+       }];
 
        me.callParent();
 
        Proxmox.Utils.monStoreErrors(me, store);
 
        me.on('destroy', store.destroy, store);
-    }
+    },
 });