]>
git.proxmox.com Git - pmg-gui.git/blob - js/ContactStatistics.js
1 Ext
.define('PMG.ContactDetails', {
2 extend
: 'Ext.grid.GridPanel',
3 xtype
: 'pmgContactDetails',
11 html
: gettext('Please select a Contact.')
15 disableSelection
: true,
17 setUrl: function(url
, title
) {
21 Proxmox
.Utils
.setErrorMask(me
, false);
24 var infopanel
= me
.getComponent('info');
26 infopanel
.update(title
);
28 infopanel
.update(gettext('Please select a Contact'));
37 'sender', 'virusinfo',
38 { type
: 'integer', name
: 'bytes' },
39 { type
: 'boolean', name
: 'blocked' },
40 { type
: 'integer', name
: 'spamlevel' },
41 { type
: 'date', dateFormat
: 'timestamp', name
: 'time' }
57 text
: gettext('Sender'),
58 renderer
: Ext
.htmlEncode
,
63 header
: gettext('Size') + ' (KB)',
64 renderer: function(v
) { return Ext
.Number
.toFixed(v
/1024, 0); },
69 header
: gettext('Date'),
75 header
: gettext('Time'),
81 initComponent: function() {
85 Proxmox
.Utils
.monStoreErrors(me
, me
.store
, true);
89 Ext
.define('PMG.ContactList', {
90 extend
: 'Ext.grid.GridPanel',
91 alias
: 'widget.pmgContactList',
93 title
: gettext('Statistics') + ': ' + gettext('Contact'),
95 multiColumnSort
: true,
96 plugins
: 'gridfilters',
98 emptyText
: gettext('No data in database.'),
100 deferEmptyText
: false
103 tbar
: [ { xtype
: 'pmgStatTimeSelector' } ],
106 type
: 'pmgStatStore',
107 staturl
: '/api2/json/statistics/contact',
112 { type
: 'integer', name
: 'count' },
113 { type
: 'integer', name
: 'viruscount' },
114 { type
: 'integer', name
: 'bytes' },
117 type
: 'pmgfilterproxy',
118 sortParam
: 'orderby',
119 filterId
: 'x-gridfilter-contact'
139 text
: gettext('Contact'),
141 renderer
: Ext
.htmlEncode
,
142 dataIndex
: 'contact',
146 // any Ext.form.field.Text configs accepted
151 text
: gettext('Count'),
154 text
: gettext('Mail'),
158 header
: gettext('Virus'),
159 dataIndex
: 'viruscount'
164 text
: gettext('Size') + ' (KB)',
166 renderer: function(v
) {
167 return Ext
.Number
.toFixed(v
/1024, 0);
172 initComponent: function() {
176 Proxmox
.Utils
.monStoreErrors(me
, me
.store
, true);
180 Ext
.define('PMG.ContactStatistics', {
181 extend
: 'Ext.panel.Panel',
182 xtype
: 'pmgContactStatistics',
191 xclass
: 'Ext.app.ViewController',
193 selectionChange: function(grid
, selected
, eOpts
) {
194 var details
= this.lookupReference('details');
195 if (selected
.length
> 0) {
196 var contact
= selected
[0].data
.contact
;
197 var url
= "/api2/json/statistics/contact/" +
198 encodeURIComponent(contact
);
199 details
.setUrl(url
, '<b>' + gettext('Contact') + ':</b> ' + Ext
.htmlEncode(contact
));
208 xtype
: 'pmgContactList',
209 multiColumnSort
: true,
214 listeners
: { selectionchange
: 'selectionChange' },
217 xtype
: 'pmgContactDetails',
219 reference
: 'details',