]>
git.proxmox.com Git - pmg-gui.git/blob - js/DomainStatistics.js
2 Ext
.define('PMG.DomainStatistics', {
3 extend
: 'Ext.panel.Panel',
4 xtype
: 'pmgDomainStatistics',
6 title
: gettext('Statistics') + ': ' + gettext('Domain'),
8 tbar
: [ { xtype
: 'pmgStatTimeSelector' } ],
13 initComponent: function() {
18 { type
: 'integer', name
: 'count_in' },
19 { type
: 'integer', name
: 'count_out' },
20 { type
: 'integer', name
: 'spamcount_in' },
21 { type
: 'integer', name
: 'spamcount_out' },
22 { type
: 'integer', name
: 'viruscount_in' },
23 { type
: 'integer', name
: 'viruscount_out' },
24 { type
: 'number', name
: 'bytes_in' },
25 { type
: 'number', name
: 'bytes_out' }
28 var store
= Ext
.create('PMG.data.StatStore', {
29 staturl
: '/api2/json/statistics/domains',
33 var store_in
= Ext
.create('Ext.data.ArrayStore', {
35 filters
: [ function(item
) { return item
.data
.count_in
> 0; } ]
38 var store_out
= Ext
.create('Ext.data.ArrayStore', {
40 filters
: [ function(item
) { return item
.data
.count_out
> 0; } ]
43 store
.on('load', function(s
, records
, successful
) {
46 store_out
.setData([]);
48 store_in
.setData(records
);
49 store_out
.setData(records
);
53 var render_domain = function(v
) {
54 return v
=== '' ? '--- EMPTY ADDRESS ---' : Ext
.htmlEncode(v
);
63 title
: gettext('Incoming'),
65 disableSelection
: true,
67 emptyText
: gettext('No data in database'),
73 text
: gettext('Domain')+ ' (' +
74 gettext('Receiver') + ')',
76 renderer
: render_domain
,
80 text
: gettext('Traffic') + ' (MB)',
81 dataIndex
: 'bytes_in',
82 renderer: function(v
) {
83 return Ext
.Number
.toFixed(v
/(1024*1024), 2);
87 text
: gettext('Count'),
90 text
: gettext('Mail'),
94 header
: gettext('Virus'),
95 dataIndex
: 'viruscount_in'
98 header
: gettext('Spam'),
99 dataIndex
: 'spamcount_in'
107 title
: gettext('Outgoing'),
109 disableSelection
: true,
111 emptyText
: gettext('No data in database'),
113 deferEmptyText
: false
117 text
: gettext('Domain')+ ' (' +
118 gettext('Receiver') + ')',
120 renderer
: render_domain
,
124 text
: gettext('Traffic') + ' (MB)',
125 dataIndex
: 'bytes_out',
126 renderer: function(v
) {
127 return Ext
.Number
.toFixed(v
/(1024*1024), 2);
131 text
: gettext('Count'),
134 text
: gettext('Mail'),
135 dataIndex
: 'count_out'
138 header
: gettext('Virus'),
139 dataIndex
: 'viruscount_out'
150 Proxmox
.Utils
.monStoreErrors(me
, store
);
152 me
.on('destroy', store
.destroy
, store
);