]>
git.proxmox.com Git - pmg-gui.git/blob - js/PostfixMailQueue.js
63c9cfa3904f8cc9a5b4a37d6c588e1eab21bb1b
1 Ext
.define('pmg-mailq', {
2 extend
: 'Ext.data.Model',
4 'queue_id', 'queue_name',
5 { type
: 'date', dateFormat
: 'timestamp', name
: 'arrival_time'},
6 { type
: 'integer', name
: 'message_size'},
7 'sender', 'receiver', 'reason'
12 Ext
.define('PMG.Postfix.MailQueue', {
13 extend
: 'Ext.grid.GridPanel',
14 alias
: 'widget.pmgPostfixMailQueue',
20 xclass
: 'Ext.data.BufferedStore',
28 xclass
: 'Ext.app.ViewController',
30 init: function(view
) {
31 if (view
.nodename
) view
.setNodename(view
.nodename
);
33 view
.delayFilterTask
= new Ext
.util
.DelayedTask(function() {
34 var filter
= view
.lookupReference('filter').getValue();
41 onChangeFilter: function(f
, v
) {
42 var view
= this.getView();
43 view
.delayFilterTask
.delay(500);
47 'field[reference=filter]': {
48 change
: 'onChangeFilter'
56 html
: gettext('Filter') + ':'
67 header
: gettext('Time'),
69 renderer
: Ext
.util
.Format
.dateRenderer("Y-m-d H:i:s"),
70 dataIndex
: 'arrival_time'
75 dataIndex
: 'message_size'
78 header
: gettext('Sender'),
83 header
: gettext('Receiver'),
88 header
: gettext('Reason'),
96 updateProxy: function() {
99 if (me
.pendingLoad
) return;
105 url
: "/api2/json/nodes/" + me
.nodename
+ "/postfix/mailq"
108 var filter
= me
.filter
;
109 var nodename
= me
.nodename
;
111 if (filter
) { proxy
.extraParams
= { filter
: filter
}; }
114 me
.store
.setProxy(proxy
);
116 me
.pendingLoad
= true;
118 me
.store
.load(function() {
119 me
.pendingLoad
= false;
120 if (me
.nodename
!= nodename
|| me
.filter
!= filter
) {
121 setTimeout(function() {
128 setFilter: function(filter
) {
129 this.lookupReference('filter').setValue(filter
);
132 setNodename: function(nodename
) {
135 me
.nodename
= nodename
;