[pve-devel] [PATCH widget-toolkit v4 4/4] rrdchart: add dummy listener for legend clicks
Aaron Lauterer
a.lauterer at proxmox.com
Sat Jul 26 03:06:04 CEST 2025
This way we can define a listener when needed to react to any clicks in
the legend. Usually enabling/disabling some data series.
The event was nowhere documented, but by using the following snippet,
right where we add the listener, it can be observed to happen.
```
Ext.mixin.Observable.capture(this, function(evname) {console.log(evname, arguments);})
```
This would be `me.legend` in that scenario.
Signed-off-by: Aaron Lauterer <a.lauterer at proxmox.com>
---
src/panel/RRDChart.js | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/panel/RRDChart.js b/src/panel/RRDChart.js
index 7f0b923..c81e2e7 100644
--- a/src/panel/RRDChart.js
+++ b/src/panel/RRDChart.js
@@ -67,6 +67,8 @@ Ext.define('Proxmox.widget.RRDChart', {
// set to empty string to suppress warning in debug mode
downloadServerUrl: '-',
+ onLegendChange: Ext.emptyFn, // empty dummy function so we can add listener for legend events when needed
+
controller: {
xclass: 'Ext.app.ViewController',
@@ -261,6 +263,8 @@ Ext.define('Proxmox.widget.RRDChart', {
me.updateHeader();
if (me.header && me.legend) {
+ // event itemclick is not documented for legend, but found it by printing all events happening
+ me.legend.addListener('itemclick', me.onLegendChange);
me.header.padding = '4 9 4';
me.header.add(me.legend);
me.legend = undefined;
--
2.39.5
More information about the pve-devel
mailing list