fix LogViewer updates

Seems ExtJS onShow/onHide wrappers does not work for panels.
This commit is contained in:
Dietmar Maurer 2012-02-14 08:59:18 +01:00
parent 593f25a8c6
commit d8340bb49a
4 changed files with 47 additions and 52 deletions

View File

@ -1,3 +1,9 @@
pve-manager (2.0-24) unstable; urgency=low
* fix log viewer (correctly refresh display)
-- Proxmox Support Team <support@proxmox.com> Tue, 14 Feb 2012 09:01:07 +0100
pve-manager (2.0-23) unstable; urgency=low
* fix openvz live migration

View File

@ -2,7 +2,7 @@ RELEASE=2.0
VERSION=2.0
PACKAGE=pve-manager
PACKAGERELEASE=23
PACKAGERELEASE=24
BINDIR=${DESTDIR}/usr/bin
PERLLIBDIR=${DESTDIR}/usr/share/perl5

View File

@ -116,11 +116,13 @@ Ext.define('PVE.panel.LogView', {
}
var viewEnd = parseInt(((top + me.getHeight())/ me.lineHeight) + 1, 10);
var info = me.viewInfo;
if (info && !force) {
if (viewStart >= info.start && viewEnd <= info.end) {
return;
}
}
var line = parseInt((top / me.lineHeight) - (me.pageSize / 2) + 10, 10);
if (line < 0) {
line = 0;
@ -143,55 +145,6 @@ Ext.define('PVE.panel.LogView', {
}, 20);
},
onShow: function() {
/*jslint confusion: true */
var me = this;
me.callParent(arguments);
var target = me.getTargetEl();
target.dom.scrollTop = me.savedScrollTop;
me.task = Ext.TaskManager.start({
run: function() {
if (!me.scrollToEnd || !me.viewInfo) {
return;
}
var maxDown = me.getMaxDown();
if (maxDown > 0) {
return;
}
me.requestUpdate(undefined, true);
},
interval: 1000
});
},
onHide: function() {
var me = this;
var target = me.getTargetEl();
// Hack: chrome reset scrollTop to 0, so we save/restore
me.savedScrollTop = target.dom.scrollTop;
if (me.task) {
Ext.TaskManager.stop(me.task);
}
me.callParent(arguments);
},
onDestroy: function() {
var me = this;
if (me.task) {
Ext.TaskManager.stop(me.task);
}
me.callParent(arguments);
},
initComponent : function() {
var me = this;
@ -204,11 +157,45 @@ Ext.define('PVE.panel.LogView', {
'line-height: ' + me.lineHeight.toString() + 'px; white-space: pre;'
});
me.task = Ext.TaskManager.start({
run: function() {
if (!me.isVisible() || !me.scrollToEnd || !me.viewInfo) {
return;
}
var maxDown = me.getMaxDown();
if (maxDown > 0) {
return;
}
me.requestUpdate(undefined, true);
},
interval: 1000
});
Ext.apply(me, {
autoScroll: true,
layout: 'auto',
items: me.dataCmp,
bodyStyle: 'padding: 5px;'
bodyStyle: 'padding: 5px;',
listeners: {
show: function() {
var target = me.getTargetEl();
if (target && target.dom) {
target.dom.scrollTop = me.savedScrollTop;
}
},
beforehide: function() {
// Hack: chrome reset scrollTop to 0, so we save/restore
var target = me.getTargetEl();
if (target && target.dom) {
me.savedScrollTop = target.dom.scrollTop;
}
},
destroy: function() {
Ext.TaskManager.stop(me.task);
}
}
});
me.callParent();

View File

@ -121,7 +121,9 @@ Ext.define('PVE.window.TaskViewer', {
}]
});
me.callParent();
me.callParent();
logView.fireEvent('show', logView);
}
});