[pve-devel] r5482 - pve-manager/pve2/www/manager
svn-commits at proxmox.com
svn-commits at proxmox.com
Wed Feb 2 14:41:02 CET 2011
Author: dietmar
Date: 2011-02-02 14:41:02 +0100 (Wed, 02 Feb 2011)
New Revision: 5482
Modified:
pve-manager/pve2/www/manager/StatusPanel.js
Log:
factor out log viewer
Modified: pve-manager/pve2/www/manager/StatusPanel.js
===================================================================
--- pve-manager/pve2/www/manager/StatusPanel.js 2011-02-02 12:45:44 UTC (rev 5481)
+++ pve-manager/pve2/www/manager/StatusPanel.js 2011-02-02 13:41:02 UTC (rev 5482)
@@ -1,35 +1,27 @@
Ext.ns("PVE");
-PVE.StatusPanel = Ext.extend(Ext.Panel, {
+PVE.LogViewer = Ext.extend(Ext.list.ListView, {
initComponent : function() {
var self = this;
- self.title = "Realtime logfile viewer";
- self.layout = 'fit';
-
var fields = [
{ name: 'time', type : 'date', dateFormat: 'timestamp' },
{ name: 'pri', type: 'int' },
{ name: 'pid', type: 'int' },
'node', 'user', 'tag', 'msg' ];
- var sysstore = new PVE.data.UpdateStore({
- itype: 'storage',
+ var logstore = new PVE.data.UpdateStore({
+ itype: 'log',
autoDestroy: true,
- url: '/api2/json/nodes/maui/syslog',
+ url: self.url,
fields: fields
});
- var clstore = new PVE.data.UpdateStore({
- itype: 'storage',
- autoDestroy: false,
- url: '/api2/json/cluster/log',
- fields: fields
- });
-
- var cllogview = new Ext.list.ListView({
- store: clstore,
+ Ext.apply(self, {
+ store: logstore,
+ startUpdate: function() { logstore.startUpdate(); },
+ stopUpdate: function() { logstore.stopUpdate(); },
columnSort: false,
columns: [
{ header: "Time", width: 0.10, dataIndex: 'time',
@@ -45,50 +37,38 @@
{ header: "Message", dataIndex: 'msg' }
]});
- var cl_move_to_end = true;
+ var move_to_end = true;
- clstore.on("load", function() {
- if (cl_move_to_end) {
- cl_move_to_end = false;
- var count = clstore.getCount();
+ logstore.on("load", function() {
+ if (move_to_end) {
+ move_to_end = false;
+ var count = logstore.getCount();
if (count) {
- var item = cllogview.getNode(count - 1);
+ var item = self.getNode(count - 1);
if (item)
- Ext.fly(item).scrollIntoView(cllogview.innerBody.dom.parentNode);
+ Ext.fly(item).scrollIntoView(self.innerBody.dom.parentNode);
}
}
});
+
+ PVE.LogViewer.superclass.initComponent.call(self);
+ }
+});
- var sysview = new Ext.list.ListView({
- store: sysstore,
- columnSort: false,
- columns: [
- { header: "Time", width: 0.10, dataIndex: 'time',
- tpl: '{time:date("M d H:i:s")}'
- },
- { header: "Node", width: 0.05, dataIndex: 'node' },
- { header: "Tag", width: 0.05, dataIndex: 'tag' },
- { header: "PID", width: 0.05, dataIndex: 'pid' },
- { header: "User", width: 0.05, dataIndex: 'user' },
- { header: "Severity", width: 0.05, dataIndex: 'pri',
- tpl: '{[ PVE.Utils.render_serverity(values.pri) ]}'
- },
- { header: "Message", dataIndex: 'msg' }
- ]});
+PVE.StatusPanel = Ext.extend(Ext.Panel, {
- var sys_move_to_end = true;
+ initComponent : function() {
+ var self = this;
- sysstore.on("load", function() {
- if (sys_move_to_end) {
- sys_move_to_end = false;
- var count = sysstore.getCount();
- if (count) {
- var item = sysview.getNode(count - 1);
- if (item)
- Ext.fly(item).scrollIntoView(sysview.innerBody.dom.parentNode);
- }
- }
+ self.title = "Realtime logfile viewer";
+ self.layout = 'fit';
+
+ var syslogview = new PVE.LogViewer({
+ url: '/api2/json/nodes/localhost/syslog'
});
+ var cllogview = new PVE.LogViewer({
+ url: '/api2/json/cluster/log',
+ });
self.items = {
xtype: 'tabpanel',
@@ -104,22 +84,22 @@
items: cllogview,
listeners: {
show: function() {
- clstore.startUpdate();
+ cllogview.startUpdate();
},
hide: function() {
- clstore.stopUpdate();
+ cllogview.stopUpdate();
}
}
},
{
title: 'System Log',
- items: sysview,
+ items: syslogview,
listeners: {
show: function() {
- sysstore.startUpdate();
+ syslogview.startUpdate();
},
hide: function() {
- sysstore.stopUpdate();
+ syslogview.stopUpdate();
}
}
},
More information about the pve-devel
mailing list