]> git.proxmox.com Git - pmg-gui.git/blobdiff - js/SenderStatistics.js
utils: anchor regex expression
[pmg-gui.git] / js / SenderStatistics.js
index b685c50244373e8d34ffbd8d89d31cf0813cb91a..830f5fb2d723bfa2a82580c084322c88f431dbef 100644 (file)
@@ -1,4 +1,3 @@
-/*global Proxmox*/
 Ext.define('PMG.SenderDetails', {
     extend: 'Ext.grid.GridPanel',
     xtype: 'pmgSenderDetails',
@@ -9,18 +8,18 @@ Ext.define('PMG.SenderDetails', {
            xtype: 'panel',
            itemId: 'info',
            bodyPadding: 10,
-           html: gettext('Please select a sender.')
-       }
+           html: gettext('Please select a sender.'),
+       },
     ],
 
     disableSelection: true,
 
     plugins: 'gridfilters',
 
-    setUrl: function(url, title) {
+    setUrl: function(url, extraparam, title) {
        var me = this;
 
-       me.store.setUrl(url);
+       me.store.setUrl(url, extraparam);
        me.store.setRemoteFilter(url !== undefined);
        Proxmox.Utils.setErrorMask(me, false);
        me.store.reload();
@@ -43,19 +42,19 @@ Ext.define('PMG.SenderDetails', {
            { type: 'integer', name: 'bytes' },
            { type: 'boolean', name: 'blocked' },
            { type: 'integer', name: 'spamlevel' },
-            { type: 'date', dateFormat: 'timestamp', name: 'time' }
+            { type: 'date', dateFormat: 'timestamp', name: 'time' },
        ],
        proxy: {
            type: 'pmgfilterproxy',
            filterId: 'x-gridfilter-receiver',
-           sortParam: 'orderby'
+           sortParam: 'orderby',
        },
        sorters: [
            {
                property: 'time',
-               direction: 'ASC'
-           }
-       ]
+               direction: 'ASC',
+           },
+       ],
     },
 
     columns: [
@@ -64,24 +63,24 @@ Ext.define('PMG.SenderDetails', {
            renderer: Ext.htmlEncode,
            flex: 1,
            filter: { type: 'string' },
-           dataIndex: 'receiver'
+           dataIndex: 'receiver',
        },
        {
            header: gettext('Size') + ' (KB)',
            renderer: function(v) { return Ext.Number.toFixed(v/1024, 0); },
-           dataIndex: 'bytes'
+           dataIndex: 'bytes',
        },
        {
            xtype: 'datecolumn',
            header: gettext('Date'),
            format: 'Y-m-d',
-           dataIndex: 'time'
+           dataIndex: 'time',
        },
        {
            xtype: 'datecolumn',
            header: gettext('Time'),
            format: 'H:i:s',
-           dataIndex: 'time'
+           dataIndex: 'time',
        },
     ],
 
@@ -90,7 +89,7 @@ Ext.define('PMG.SenderDetails', {
        me.callParent();
 
        Proxmox.Utils.monStoreErrors(me, me.store, true);
-    }
+    },
 });
 
 Ext.define('PMG.SenderList', {
@@ -103,12 +102,12 @@ Ext.define('PMG.SenderList', {
     multiColumnSort: true,
     plugins: 'gridfilters',
 
-    emptyText: gettext('No data in database.'),
+    emptyText: gettext('No data in database'),
     viewConfig: {
-       deferEmptyText: false
+       deferEmptyText: false,
     },
 
-    tbar: [ { xtype: 'pmgStatTimeSelector' } ],
+    tbar: [{ xtype: 'pmgStatTimeSelector' }],
 
     store: {
        type: 'pmgStatStore',
@@ -119,27 +118,27 @@ Ext.define('PMG.SenderList', {
            'sender',
            { type: 'integer', name: 'count' },
            { type: 'integer', name: 'bytes' },
-           { type: 'integer', name: 'viruscount' }
+           { type: 'integer', name: 'viruscount' },
        ],
        proxy: {
            type: 'pmgfilterproxy',
            sortParam: 'orderby',
-           filterId: 'x-gridfilter-sender'
+           filterId: 'x-gridfilter-sender',
        },
        sorters: [
            {
                property: 'count',
-               direction: 'DESC'
+               direction: 'DESC',
            },
            {
                property: 'bytes',
-               direction: 'DESC'
+               direction: 'DESC',
            },
            {
                property: 'sender',
-               direction: 'ASC'
-           }
-       ]
+               direction: 'ASC',
+           },
+       ],
     },
 
     columns: [
@@ -152,29 +151,29 @@ Ext.define('PMG.SenderList', {
                type: 'string',
                itemDefaults: {
                    // any Ext.form.field.Text configs accepted
-               }
-           }
+               },
+           },
        },
        {
            text: gettext('Count'),
            columns: [
                {
                    text: gettext('Mail'),
-                   dataIndex: 'count'
+                   dataIndex: 'count',
                },
                {
                    header: gettext('Virus'),
-                   dataIndex: 'viruscount'
-               }
-           ]
+                   dataIndex: 'viruscount',
+               },
+           ],
        },
        {
            text: gettext('Size') + ' (KB)',
            dataIndex: 'bytes',
            renderer: function(v) {
                return Ext.Number.toFixed(v/1024, 0);
-           }
-       }
+           },
+       },
     ],
 
     initComponent: function() {
@@ -182,7 +181,7 @@ Ext.define('PMG.SenderList', {
        me.callParent();
 
        Proxmox.Utils.monStoreErrors(me, me.store, true);
-    }
+    },
 });
 
 Ext.define('PMG.SenderStatistics', {
@@ -199,16 +198,16 @@ Ext.define('PMG.SenderStatistics', {
        xclass: 'Ext.app.ViewController',
 
        selectionChange: function(grid, selected, eOpts) {
-           var details =  this.lookupReference('details');
+           var details = this.lookupReference('details');
            if (selected.length > 0) {
                var sender = selected[0].data.sender;
-               var url = "/api2/json/statistics/sender/" +
-                   encodeURIComponent(sender);
-               details.setUrl(url, '<b>' + gettext('Sender') + ':</b> ' + Ext.htmlEncode(sender));
+               var extraparam = { address: sender, type: 'sender' };
+               var url = "/api2/json/statistics/detail";
+               details.setUrl(url, extraparam, '<b>' + gettext('Sender') + ':</b> ' + Ext.htmlEncode(sender));
            } else {
                details.setUrl();
            }
-       }
+       },
     },
 
     items: [
@@ -226,7 +225,7 @@ Ext.define('PMG.SenderStatistics', {
            region: 'east',
            reference: 'details',
            split: true,
-           flex: 1
-       }
-    ]
+           flex: 1,
+       },
+    ],
 });