From f075d2d3db0d6d8314dd0e370ddfda2f479906cd Mon Sep 17 00:00:00 2001 From: Stephan de Wit Date: Wed, 15 May 2024 13:23:02 +0200 Subject: [PATCH] dashboard: properly remove charts on widget close action --- src/opnsense/www/js/widgets/Disk.js | 10 ++++++++++ src/opnsense/www/js/widgets/Firewall.js | 4 ++++ src/opnsense/www/js/widgets/InterfaceStatistics.js | 6 ++++++ src/opnsense/www/js/widgets/Memory.js | 6 ++++++ 4 files changed, 26 insertions(+) diff --git a/src/opnsense/www/js/widgets/Disk.js b/src/opnsense/www/js/widgets/Disk.js index 9370fbd95..1b548d0f4 100644 --- a/src/opnsense/www/js/widgets/Disk.js +++ b/src/opnsense/www/js/widgets/Disk.js @@ -248,4 +248,14 @@ export default class Disk extends BaseWidget { } } + onWidgetClose() { + if (this.simple_chart !== null) { + this.simple_chart.destroy(); + } + + if (this.detailed_chart !== null) { + this.detailed_chart.destroy(); + } + } + } diff --git a/src/opnsense/www/js/widgets/Firewall.js b/src/opnsense/www/js/widgets/Firewall.js index 0d8c6c739..dbaa16157 100644 --- a/src/opnsense/www/js/widgets/Firewall.js +++ b/src/opnsense/www/js/widgets/Firewall.js @@ -288,6 +288,10 @@ export default class Firewall extends BaseTableWidget { if (this.eventSource !== null) { this.eventSource.close(); } + + if (this.chart !== null) { + this.chart.destroy(); + } } onWidgetResize(elem, width, height) { diff --git a/src/opnsense/www/js/widgets/InterfaceStatistics.js b/src/opnsense/www/js/widgets/InterfaceStatistics.js index 85a72015f..67bfbe4cd 100644 --- a/src/opnsense/www/js/widgets/InterfaceStatistics.js +++ b/src/opnsense/www/js/widgets/InterfaceStatistics.js @@ -185,4 +185,10 @@ export default class InterfaceStatistics extends BaseWidget { return true; } + onWidgetClose() { + if (this.chart !== null) { + this.chart.destroy(); + } + } + } diff --git a/src/opnsense/www/js/widgets/Memory.js b/src/opnsense/www/js/widgets/Memory.js index f3cb5f269..f56155542 100644 --- a/src/opnsense/www/js/widgets/Memory.js +++ b/src/opnsense/www/js/widgets/Memory.js @@ -129,4 +129,10 @@ export default class Memory extends BaseWidget { } }); } + + onWidgetClose() { + if (this.chart !== null) { + this.chart.destroy(); + } + } }