mirror of
https://git.proxmox.com/git/pmg-gui
synced 2025-08-14 03:20:40 +00:00
implement sender statistic grid
This commit is contained in:
parent
73fa787589
commit
6d979e4e53
@ -1,14 +1,79 @@
|
|||||||
Ext.define('PMG.SenderStatistics', {
|
Ext.define('PMG.SenderStatistics', {
|
||||||
extend: 'Ext.panel.Panel',
|
extend: 'Ext.grid.GridPanel',
|
||||||
xtype: 'pmgSenderStatistics',
|
xtype: 'pmgSenderStatistics',
|
||||||
|
|
||||||
title: gettext('Statistics') + ': ' + gettext('Sender'),
|
title: gettext('Statistics') + ': ' + gettext('Sender'),
|
||||||
|
|
||||||
tbar: [ { xtype: 'pmgStatTimeSelector' } ],
|
tbar: [ { xtype: 'pmgStatTimeSelector' } ],
|
||||||
|
|
||||||
layout: 'fit'
|
layout: 'fit',
|
||||||
|
|
||||||
|
plugins: 'gridfilters',
|
||||||
|
|
||||||
|
store: {
|
||||||
|
type: 'pmgStatStore',
|
||||||
|
staturl: '/api2/json/statistics/sender',
|
||||||
|
remoteSort: true,
|
||||||
|
remoteFilter: true,
|
||||||
|
fields: [
|
||||||
|
'sender',
|
||||||
|
{ type: 'integer', name: 'count' },
|
||||||
|
{ type: 'integer', name: 'bytes' },
|
||||||
|
{ type: 'integer', name: 'viruscount' }
|
||||||
|
],
|
||||||
|
proxy: {
|
||||||
|
type: 'proxmox',
|
||||||
|
sortParam: 'orderby',
|
||||||
|
getParams: function(operation) {
|
||||||
|
var me = this, i;
|
||||||
|
if (!operation.isReadOperation) {
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
var params = Ext.data.RestProxy.prototype.getParams.apply(me, arguments);
|
||||||
|
|
||||||
|
var filters = operation.getFilters() || [];
|
||||||
|
for (i = 0; i < filters.length; i++) {
|
||||||
|
filter = filters[i];
|
||||||
|
if (filter.config.id === 'x-gridfilter-sender') {
|
||||||
|
var v = filter.getValue();
|
||||||
|
if (v !== undefined && v !== '') {
|
||||||
|
params.filter = v;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return params;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
sorters: [
|
||||||
|
{
|
||||||
|
property: 'count',
|
||||||
|
direction: 'DESC'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
columns: [
|
||||||
|
{
|
||||||
|
text: gettext('Sender'),
|
||||||
|
flex: 1,
|
||||||
|
dataIndex: 'sender',
|
||||||
|
filter: {
|
||||||
|
type: 'string',
|
||||||
|
itemDefaults: {
|
||||||
|
// any Ext.form.field.Text configs accepted
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: gettext('Count'),
|
||||||
|
dataIndex: 'count'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: gettext('Size') + ' (KB)',
|
||||||
|
dataIndex: 'bytes',
|
||||||
|
renderer: function(v) {
|
||||||
|
return Ext.Number.toFixed(v/1024, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user