]>
git.proxmox.com Git - pmg-gui.git/blob - js/SenderStatistics.js
1 Ext
.define('PMG.SenderDetails', {
2 extend
: 'Ext.grid.GridPanel',
3 xtype
: 'pmgSenderDetails',
11 html
: gettext('Please select a sender.')
15 disableSelection
: true,
17 plugins
: 'gridfilters',
19 setUrl: function(url
, title
) {
23 Proxmox
.Utils
.setErrorMask(me
, false);
26 var infopanel
= me
.getComponent('info');
28 infopanel
.update(title
);
30 infopanel
.update(gettext('Please select a sender.'));
40 'receiver', 'virusinfo',
41 { type
: 'integer', name
: 'bytes' },
42 { type
: 'boolean', name
: 'blocked' },
43 { type
: 'integer', name
: 'spamlevel' },
44 { type
: 'date', dateFormat
: 'timestamp', name
: 'time' }
47 type
: 'pmgfilterproxy',
48 filterId
: 'x-gridfilter-receiver',
61 text
: gettext('Receiver'),
62 renderer
: Ext
.htmlEncode
,
64 filter
: { type
: 'string' },
68 header
: gettext('Size') + ' (KB)',
69 renderer: function(v
) { return Ext
.Number
.toFixed(v
/1024, 0); },
74 header
: gettext('Date'),
80 header
: gettext('Time'),
86 initComponent: function() {
90 Proxmox
.Utils
.monStoreErrors(me
, me
.store
, true);
94 Ext
.define('PMG.SenderList', {
95 extend
: 'Ext.grid.GridPanel',
96 alias
: 'widget.pmgSenderList',
98 title
: gettext('Statistics') + ': ' + gettext('Sender'),
100 multiColumnSort
: true,
101 plugins
: 'gridfilters',
103 emptyText
: gettext('No data in database.'),
105 deferEmptyText
: false
108 tbar
: [ { xtype
: 'pmgStatTimeSelector' } ],
111 type
: 'pmgStatStore',
112 staturl
: '/api2/json/statistics/sender',
117 { type
: 'integer', name
: 'count' },
118 { type
: 'integer', name
: 'bytes' },
119 { type
: 'integer', name
: 'viruscount' }
122 type
: 'pmgfilterproxy',
123 sortParam
: 'orderby',
124 filterId
: 'x-gridfilter-sender'
144 text
: gettext('Sender'),
146 renderer
: Ext
.htmlEncode
,
151 // any Ext.form.field.Text configs accepted
156 text
: gettext('Count'),
159 text
: gettext('Mail'),
163 header
: gettext('Virus'),
164 dataIndex
: 'viruscount'
169 text
: gettext('Size') + ' (KB)',
171 renderer: function(v
) {
172 return Ext
.Number
.toFixed(v
/1024, 0);
177 initComponent: function() {
181 Proxmox
.Utils
.monStoreErrors(me
, me
.store
, true);
185 Ext
.define('PMG.SenderStatistics', {
186 extend
: 'Ext.panel.Panel',
187 xtype
: 'pmgSenderStatistics',
196 xclass
: 'Ext.app.ViewController',
198 selectionChange: function(grid
, selected
, eOpts
) {
199 var details
= this.lookupReference('details');
200 if (selected
.length
> 0) {
201 var sender
= selected
[0].data
.sender
;
202 var url
= "/api2/json/statistics/sender/" +
203 encodeURIComponent(sender
);
204 details
.setUrl(url
, '<b>' + gettext('Sender') + ':</b> ' + Ext
.htmlEncode(sender
));
213 xtype
: 'pmgSenderList',
214 multiColumnSort
: true,
219 listeners
: { selectionchange
: 'selectionChange' },
222 xtype
: 'pmgSenderDetails',
224 reference
: 'details',