From: Christian Ebner <c.ebner@proxmox.com>
To: Dominik Csapak <d.csapak@proxmox.com>, pbs-devel@lists.proxmox.com
Subject: Re: [PATCH widget-toolkit] fix #7721: fix zoom interaction on charts with no initial store
Date: Tue, 21 Jul 2026 14:50:50 +0200 [thread overview]
Message-ID: <cac0aa55-044c-410f-af0f-132f013adbca@proxmox.com> (raw)
In-Reply-To: <20260617125812.3418396-1-d.csapak@proxmox.com>
On 6/17/26 2:57 PM, Dominik Csapak wrote:
> In our current ExtJs version (7.0), having animations disabled on charts
> breaks the zoom interaction. One can zoom in and out once, but never
> again.
>
> We generally keep animations enabled on our proxmoxRRDChart, but only
> after the store's first load, to avoid animating from the empty store to
> the initial data. This happens in initComponent on the store that was
> given during instantiation.
>
> In some cases, however (e.g. the PBS datastore summary panel), the chart
> has no initial store and instead gets one via 'setStore'. Here, the
> event of the old (non-existent) store was never fired, so animations
> were never activated and the zoom interaction was buggy.
>
> Fix this by overriding `setStore` to install an event handler for the
> new store that enables the animations. If this runs more than once, it
> would just set the animation value to the same again, which is fine.
>
> Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
> ---
Checked this fixes the zoom issue on the datastore summary panels and
that they are animated. Other RRD charts (e.g. in PVE) are unaffected.
This however breaks rendering of the panel when switching back and fort
between 2 datastores for me, not being an issue with the un-patched
widget toolkit, console logs:
```
Uncaught (in promise) Error: undefined
ExtJS 55
ext-all.js:22:31982
Uncaught (in promise) Error: undefined
ExtJS 55
ext-all.js:22:31982
Uncaught TypeError: can't access property "unmask", me.down(...) is null
initComponent https://172.16.0.18:8007/js/proxmox-backup-gui.js:14631
ExtJS 7
onProxyLoad https://172.16.0.18:8007/widgettoolkit/proxmoxlib.js:1785
ExtJS 25
run_load_task https://172.16.0.18:8007/widgettoolkit/proxmoxlib.js:3697
ExtJS 5
run_load_task https://172.16.0.18:8007/widgettoolkit/proxmoxlib.js:3700
ExtJS 25
run_load_task https://172.16.0.18:8007/widgettoolkit/proxmoxlib.js:3697
h ExtJS
proxmox-backup-gui.js:14631:16
Uncaught TypeError: can't access property "unmask", me.down(...) is null
initComponent https://172.16.0.18:8007/js/proxmox-backup-gui.js:14631
ExtJS 7
onProxyLoad https://172.16.0.18:8007/widgettoolkit/proxmoxlib.js:1785
ExtJS 25
run_load_task https://172.16.0.18:8007/widgettoolkit/proxmoxlib.js:3697
ExtJS 5
run_load_task https://172.16.0.18:8007/widgettoolkit/proxmoxlib.js:3700
ExtJS 25
run_load_task https://172.16.0.18:8007/widgettoolkit/proxmoxlib.js:3697
h ExtJS
proxmox-backup-gui.js:14631:16
```
I do fail to see however how this patch might be related to the
`pbsDataStoreInfo` there?
prev parent reply other threads:[~2026-07-21 12:50 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-17 12:58 [PATCH widget-toolkit] fix #7721: fix zoom interaction on charts with no initial store Dominik Csapak
2026-07-21 12:50 ` Christian Ebner [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cac0aa55-044c-410f-af0f-132f013adbca@proxmox.com \
--to=c.ebner@proxmox.com \
--cc=d.csapak@proxmox.com \
--cc=pbs-devel@lists.proxmox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox