]> git.proxmox.com Git - proxmox-widget-toolkit.git/commitdiff
panel/RRDChart: fix legend/undoZoom
authorDominik Csapak <d.csapak@proxmox.com>
Wed, 26 May 2021 08:58:33 +0000 (10:58 +0200)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Thu, 27 May 2021 11:37:36 +0000 (13:37 +0200)
the legend is by default of type 'sprite', rever to 'dom'
but we now have to unset the '.legend', else on destruction
extjs tries to destroy it twice

also change the onAfterAnimation listener to 'redraw', since
the original event does not exist anymore, add a buffer to it
so that it is not that heavy

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
src/css/ext6-pmx.css
src/panel/RRDChart.js

index 7cedaa9f0cb39891e81e64560cbdd1e71ce0eb04..0c83d8a3f01191e86003802636ab95f52123ffa6 100644 (file)
@@ -122,3 +122,8 @@ div.right-aligned {
 .x-treelist-pve-nav {
     background-color: #f5f5f5;
 }
+
+/* fix padding for legend in header */
+.x-legend-inner {
+    padding: 0;
+}
index 49b3ad236871ee65f5cbf4f780219df4208508cf..859cb39c0eda01a11f93747614f83bb3c6deff6e 100644 (file)
@@ -121,6 +121,9 @@ Ext.define('Proxmox.widget.RRDChart', {
        },
 
        onAfterAnimation: function(chart, eopts) {
+           if (!chart.header || !chart.header.tools) {
+               return;
+           }
            // if the undo button is disabled, disable our tool
            let ourUndoZoomButton = chart.header.tools[0];
            let undoButton = chart.interactions[0].getUndoButton();
@@ -137,10 +140,16 @@ Ext.define('Proxmox.widget.RRDChart', {
        },
     ],
     legend: {
+       type: 'dom',
        padding: 0,
     },
     listeners: {
-       animationend: 'onAfterAnimation',
+       redraw: {
+           fn: 'onAfterAnimation',
+           options: {
+               buffer: 500,
+           },
+       },
     },
 
     constructor: function(config) {
@@ -200,6 +209,7 @@ Ext.define('Proxmox.widget.RRDChart', {
        if (me.header && me.legend) {
            me.header.padding = '4 9 4';
            me.header.add(me.legend);
+           me.legend = undefined;
        }
 
        if (!me.noTool) {