]>
git.proxmox.com Git - pve-manager.git/blob - www/old/StatusPanel.js
3 PVE
.LogViewer
= Ext
.extend(Ext
.list
.ListView
, {
5 initComponent : function() {
9 { name
: 'time', type
: 'date', dateFormat
: 'timestamp' },
10 { name
: 'pri', type
: 'int' },
11 { name
: 'pid', type
: 'int' },
12 'node', 'user', 'tag', 'msg' ];
14 var logstore
= new PVE
.data
.UpdateStore({
23 startUpdate: function() { logstore
.startUpdate(); },
24 stopUpdate: function() { logstore
.stopUpdate(); },
27 { header
: "Time", width
: 0.10, dataIndex
: 'time',
28 tpl
: '{time:date("M d H:i:s")}'
30 { header
: "Node", width
: 0.05, dataIndex
: 'node' },
31 { header
: "Tag", width
: 0.05, dataIndex
: 'tag' },
32 { header
: "PID", width
: 0.05, dataIndex
: 'pid' },
33 { header
: "User", width
: 0.05, dataIndex
: 'user' },
34 { header
: "Severity", width
: 0.05, dataIndex
: 'pri',
35 tpl
: '{[ PVE.Utils.render_serverity(values.pri) ]}'
37 { header
: "Message", dataIndex
: 'msg' }
40 var move_to_end
= true;
42 logstore
.on("load", function() {
45 var count
= logstore
.getCount();
47 var item
= self
.getNode(count
- 1);
49 Ext
.fly(item
).scrollIntoView(self
.innerBody
.dom
.parentNode
);
54 PVE
.LogViewer
.superclass
.initComponent
.call(self
);
59 PVE
.ClusterTasks
= Ext
.extend(Ext
.grid
.GridPanel
, {
61 initComponent : function() {
65 { name
: 'starttime', type
: 'date', dateFormat
: 'timestamp' },
66 { name
: 'endtime', type
: 'date', dateFormat
: 'timestamp' },
67 { name
: 'pid', type
: 'int' },
68 'node', 'upid', 'user', 'status', 'type', 'id'];
70 // fixme: use/define a storage which append new values, but
71 // defer removing old values until a maximum numer of entries
73 var taskstore
= new PVE
.data
.UpdateStore({
76 url
: '/api2/json/cluster/tasks',
84 startUpdate: function() { taskstore
.startUpdate(); },
85 stopUpdate: function() { taskstore
.stopUpdate(); },
87 autoExpandColumn
: 'status',
89 getRowClass: function(record
, index
) {
90 var status
= record
.get('status');
92 if (status
&& status
!= 'OK')
93 return "x-form-invalid";
97 { header
: "Start Time", dataIndex
: 'starttime',
99 renderer: function(value
) { return value
.format("M d H:i:s"); }
101 { header
: "End Time", dataIndex
: 'endtime',
103 renderer: function(value
, metaData
, record
) {
104 if (record
.data
.pid
) {
105 metaData
.css
= "x-grid-row-loading";
108 return value
.format("M d H:i:s");
111 { header
: "Node", dataIndex
: 'node',
114 { header
: "User", dataIndex
: 'user',
117 { id
: 'desc', header
: "Description", dataIndex
: 'upid',
119 renderer
: PVE
.Utils
.render_upid
121 { id
: 'status', header
: "Status", dataIndex
: 'status',
123 renderer: function(value
, metaData
, record
) {
124 if (record
.data
.pid
) {
125 metaData
.css
= "x-grid-row-loading";
130 // metaData.attr = 'style="color:red;"';
131 return "ERROR: " + value
;
136 PVE
.ClusterTasks
.superclass
.initComponent
.call(self
);
140 PVE
.StatusPanel
= Ext
.extend(Ext
.Panel
, {
142 initComponent : function() {
145 self
.title
= "Realtime logfile viewer";
148 var syslogview
= new PVE
.LogViewer({
149 url
: '/api2/json/nodes/localhost/syslog'
151 var cllogview
= new PVE
.LogViewer({
152 url
: '/api2/json/cluster/log',
154 var tasklist
= new PVE
.ClusterTasks();
159 tabPosition
: 'bottom',
162 defaults
: { layout
: 'fit' },
166 title
: 'Cluster Log',
170 cllogview
.startUpdate();
173 cllogview
.stopUpdate();
182 syslogview
.startUpdate();
185 syslogview
.stopUpdate();
194 tasklist
.startUpdate();
197 tasklist
.stopUpdate();
204 PVE
.StatusPanel
.superclass
.initComponent
.call(self
);
209 Ext
.reg('pveStatusPanel', PVE
.StatusPanel
);