-/*global Proxmox*/
Ext.define('PMG.DomainStatistics', {
extend: 'Ext.panel.Panel',
xtype: 'pmgDomainStatistics',
title: gettext('Statistics') + ': ' + gettext('Domain'),
- tbar: [ { xtype: 'pmgStatTimeSelector' } ],
+ tbar: [{ xtype: 'pmgStatTimeSelector' }],
layout: 'fit',
border: false,
{ 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) {
store_in.setData(records);
store_out.setData(records);
}
- })
+ });
var render_domain = function(v) {
return v === '' ? '--- EMPTY ADDRESS ---' : Ext.htmlEncode(v);
};
- me.items = {
+ me.items = [{
xtype: 'tabpanel',
border: false,
items: [
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: [
{
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',
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: [
{
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);
- }
+ },
});