]> git.proxmox.com Git - pve-manager-legacy.git/commitdiff
fix LogViewer updates
authorDietmar Maurer <dietmar@proxmox.com>
Tue, 14 Feb 2012 07:59:18 +0000 (08:59 +0100)
committerDietmar Maurer <dietmar@proxmox.com>
Tue, 14 Feb 2012 08:01:24 +0000 (09:01 +0100)
Seems ExtJS onShow/onHide wrappers does not work for panels.

debian/changelog.Debian
defines.mk
www/manager/panel/LogView.js
www/manager/window/TaskViewer.js

index ea5a82b1d59f26504e48ba66c9f9abada63ea440..e1b1fa34558346c74c374e6a28e419875ae465cd 100644 (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
index 2c899ddb470c1cf82cb7ecd4ccf325a6eaa8d2d1..91bb36a7d286a7734b6fbb8253e74584de625026 100644 (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
index 8e6d52716ca127de07267c8e6dc49143d8b4519c..f1d132a5a5692fabadc9281982a9a2630e82327e 100644 (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,21 +145,24 @@ Ext.define('PVE.panel.LogView', {
        }, 20);
     },
 
-    onShow: function() {
-       /*jslint confusion: true */
+    initComponent : function() {
        var me = this;
 
-        me.callParent(arguments);
-       var target = me.getTargetEl();
-       target.dom.scrollTop = me.savedScrollTop;
+       if (!me.url) {
+           throw "no url specified";
+       }
+
+       me.dataCmp = Ext.create('Ext.Component', {
+           style: 'font:normal 11px tahoma, arial, verdana, sans-serif;' +
+               'line-height: ' + me.lineHeight.toString() + 'px; white-space: pre;'
+       });
 
        me.task = Ext.TaskManager.start({
            run: function() {
-               if (!me.scrollToEnd || !me.viewInfo) {
+               if (!me.isVisible() || !me.scrollToEnd || !me.viewInfo) {
                    return;
                }
-
+               
                var maxDown = me.getMaxDown();
                if (maxDown > 0) {
                    return;
@@ -167,48 +172,30 @@ Ext.define('PVE.panel.LogView', {
            },
            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;
-
-       if (!me.url) {
-           throw "no url specified";
-       }
-
-       me.dataCmp = Ext.create('Ext.Component', {
-           style: 'font:normal 11px tahoma, arial, verdana, sans-serif;' +
-               'line-height: ' + me.lineHeight.toString() + 'px; white-space: pre;'
-       });
 
        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();
index 75e91b5e035825b5324b3947f6cc904be1509a46..6bfd95fee2deb399ceb74cccb8cb8b4b79676251 100644 (file)
@@ -121,7 +121,9 @@ Ext.define('PVE.window.TaskViewer', {
            }]
         });
 
-        me.callParent();
+       me.callParent();
+
+       logView.fireEvent('show', logView);
     }
 });