]>
Commit | Line | Data |
---|---|---|
5289a1b8 EK |
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 | ||
d457e903 DM |
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 | ||
0c7c0d6b | 13 | var logstore = Ext.create('Proxmox.data.UpdateStore', { |
d457e903 | 14 | storeid: 'pve-cluster-log', |
56a353b9 | 15 | model: 'proxmox-cluster-log', |
d457e903 | 16 | proxy: { |
56a353b9 | 17 | type: 'proxmox', |
d457e903 DM |
18 | url: '/api2/json/cluster/log' |
19 | } | |
20 | }); | |
21 | ||
eaa018d7 | 22 | var store = Ext.create('Proxmox.data.DiffStore', { |
d457e903 | 23 | rstore: logstore, |
2a4971d8 | 24 | appendAtStart: true |
d457e903 DM |
25 | }); |
26 | ||
27 | Ext.apply(me, { | |
28 | store: store, | |
29 | stateful: false, | |
30 | ||
31 | viewConfig: { | |
32 | trackOver: false, | |
8c1c7742 | 33 | stripeRows: true, |
2a4971d8 | 34 | |
d457e903 DM |
35 | getRowClass: function(record, index) { |
36 | var pri = record.get('pri'); | |
37 | ||
38 | if (pri && pri <= 3) { | |
3ab7e0ec | 39 | return "proxmox-invalid-row"; |
d457e903 DM |
40 | } |
41 | } | |
42 | }, | |
43 | sortableColumns: false, | |
44 | columns: [ | |
2a4971d8 TL |
45 | { |
46 | header: gettext("Time"), | |
d457e903 | 47 | dataIndex: 'time', |
a26b2cb9 | 48 | width: 150, |
2a4971d8 TL |
49 | renderer: function(value) { |
50 | return Ext.Date.format(value, "M d H:i:s"); | |
d457e903 DM |
51 | } |
52 | }, | |
2a4971d8 TL |
53 | { |
54 | header: gettext("Node"), | |
d457e903 | 55 | dataIndex: 'node', |
a26b2cb9 | 56 | width: 150 |
d457e903 | 57 | }, |
2a4971d8 TL |
58 | { |
59 | header: gettext("Service"), | |
d457e903 DM |
60 | dataIndex: 'tag', |
61 | width: 100 | |
62 | }, | |
2a4971d8 TL |
63 | { |
64 | header: "PID", | |
d457e903 | 65 | dataIndex: 'pid', |
2a4971d8 | 66 | width: 100 |
d457e903 | 67 | }, |
2a4971d8 TL |
68 | { |
69 | header: gettext("User name"), | |
d457e903 | 70 | dataIndex: 'user', |
1011b569 | 71 | renderer: Ext.String.htmlEncode, |
d457e903 DM |
72 | width: 150 |
73 | }, | |
2a4971d8 TL |
74 | { |
75 | header: gettext("Severity"), | |
d457e903 DM |
76 | dataIndex: 'pri', |
77 | renderer: PVE.Utils.render_serverity, | |
2a4971d8 | 78 | width: 100 |
d457e903 | 79 | }, |
2a4971d8 TL |
80 | { |
81 | header: gettext("Message"), | |
d457e903 | 82 | dataIndex: 'msg', |
1011b569 | 83 | renderer: Ext.String.htmlEncode, |
2a4971d8 | 84 | flex: 1 |
d457e903 DM |
85 | } |
86 | ], | |
87 | listeners: { | |
6386068d TL |
88 | activate: () => logstore.startUpdate(), |
89 | deactivate: () => logstore.stopUpdate(), | |
90 | destroy: () => logstore.stopUpdate(), | |
d457e903 DM |
91 | } |
92 | }); | |
93 | ||
94 | me.callParent(); | |
95 | } | |
eaa018d7 | 96 | }); |