]> git.proxmox.com Git - pve-manager.git/blob - www/manager6/dc/Log.js
use RestProxy from widget toolkit
[pve-manager.git] / www / manager6 / dc / Log.js
1 /* This class defines the "Cluster log" tab of the bottom status panel
2 * A log entry is a timestamp associated with an action on a cluster
3 */
4
5 Ext.define('PVE.dc.Log', {
6 extend: 'Ext.grid.GridPanel',
7
8 alias: ['widget.pveClusterLog'],
9
10 initComponent : function() {
11 var me = this;
12
13 var logstore = Ext.create('Proxmox.data.UpdateStore', {
14 storeid: 'pve-cluster-log',
15 model: 'proxmox-cluster-log',
16 proxy: {
17 type: 'proxmox',
18 url: '/api2/json/cluster/log'
19 }
20 });
21
22 var store = Ext.create('Proxmox.data.DiffStore', {
23 rstore: logstore,
24 appendAtStart: true
25 });
26
27 Ext.apply(me, {
28 store: store,
29 stateful: false,
30
31 viewConfig: {
32 trackOver: false,
33 stripeRows: true,
34
35 getRowClass: function(record, index) {
36 var pri = record.get('pri');
37
38 if (pri && pri <= 3) {
39 return "proxmox-invalid-row";
40 }
41 }
42 },
43 sortableColumns: false,
44 columns: [
45 {
46 header: gettext("Time"),
47 dataIndex: 'time',
48 width: 150,
49 renderer: function(value) {
50 return Ext.Date.format(value, "M d H:i:s");
51 }
52 },
53 {
54 header: gettext("Node"),
55 dataIndex: 'node',
56 width: 150
57 },
58 {
59 header: gettext("Service"),
60 dataIndex: 'tag',
61 width: 100
62 },
63 {
64 header: "PID",
65 dataIndex: 'pid',
66 width: 100
67 },
68 {
69 header: gettext("User name"),
70 dataIndex: 'user',
71 width: 150
72 },
73 {
74 header: gettext("Severity"),
75 dataIndex: 'pri',
76 renderer: PVE.Utils.render_serverity,
77 width: 100
78 },
79 {
80 header: gettext("Message"),
81 dataIndex: 'msg',
82 flex: 1
83 }
84 ],
85 listeners: {
86 activate: logstore.startUpdate,
87 deactivate: logstore.stopUpdate,
88 destroy: logstore.stopUpdate
89 }
90 });
91
92 me.callParent();
93 }
94 });