]> git.proxmox.com Git - pmg-gui.git/blob - js/PostfixMailQueue.js
PostfixMailQueue.js: add widget to display mail queue
[pmg-gui.git] / js / PostfixMailQueue.js
1 Ext.define('pmg-mailq', {
2 extend: 'Ext.data.Model',
3 fields: [
4 'queue_id', 'queue_name',
5 { type: 'date', dateFormat: 'timestamp', name: 'arrival_time'},
6 { type: 'integer', name: 'message_size'},
7 'sender', 'receiver', 'reason'
8 ],
9 idProperty: 'queue_id'
10 });
11
12 Ext.define('PMG.Postfix.MailQueue', {
13 extend: 'Ext.grid.GridPanel',
14 alias: 'widget.pmgPostfixMailQueue',
15
16 nodename : undefined,
17 filter: undefined,
18
19 store: { model: 'pmg-mailq' },
20
21 controller: {
22
23 xclass: 'Ext.app.ViewController',
24
25 init: function(view) {
26 if (view.nodename) view.setNodename(view.nodename);
27 }
28 },
29
30 columns: [
31 {
32 header: gettext('Time'),
33 width: 150,
34 renderer: Ext.util.Format.dateRenderer("Y-m-d H:i:s"),
35 dataIndex: 'arrival_time'
36 },
37 {
38 header: 'KByte',
39 width: 80,
40 dataIndex: 'message_size'
41 },
42 {
43 header: gettext('Sender'),
44 width: 200,
45 dataIndex: 'sender'
46 },
47 {
48 header: gettext('Receiver'),
49 width: 200,
50 dataIndex: 'receiver'
51 },
52 {
53 header: gettext('Reason'),
54 flex: 1,
55 dataIndex: 'reason'
56 }
57 ],
58
59 setNodename: function(nodename) {
60 var me = this;
61
62 me.nodename = nodename;
63
64 me.store.setProxy({
65 type: 'proxmox',
66 url: "/api2/json/nodes/" + nodename + "/postfix/mailq"
67 });
68 me.store.load();
69 }
70
71 });