From 4bd6ad3cdec0ad2eb2dc4896c85bd9844f9e4f8e Mon Sep 17 00:00:00 2001 From: Stephan de Wit Date: Mon, 5 Aug 2024 11:09:38 +0200 Subject: [PATCH] dashboard: allow and persist vertical resize --- src/opnsense/www/js/opnsense_widget_manager.js | 8 +++++++- src/opnsense/www/js/widgets/Interfaces.js | 3 +-- src/opnsense/www/js/widgets/IpsecLeases.js | 1 - src/opnsense/www/js/widgets/IpsecTunnels.js | 1 - src/opnsense/www/js/widgets/OpenVPNClients.js | 1 - src/opnsense/www/js/widgets/OpenVPNServers.js | 1 - src/opnsense/www/js/widgets/Wireguard.js | 1 - 7 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/opnsense/www/js/opnsense_widget_manager.js b/src/opnsense/www/js/opnsense_widget_manager.js index 551d40837..ae94b34eb 100644 --- a/src/opnsense/www/js/opnsense_widget_manager.js +++ b/src/opnsense/www/js/opnsense_widget_manager.js @@ -198,7 +198,13 @@ class WidgetManager { let content = widget.getMarkup(); let $panel = this._makeWidget(id, this.widgetTranslations[id].title, content); - const options = widget.getGridOptions(); + let options = widget.getGridOptions(persistedConfig); + + if ('sizeToContent' in options && 'h' in persistedConfig) { + // override the sizeToContent option with the persisted height to allow for manual resizing with scrollbar + options.sizeToContent = persistedConfig.h; + } + const gridElement = { content: $panel.prop('outerHTML'), id: id, diff --git a/src/opnsense/www/js/widgets/Interfaces.js b/src/opnsense/www/js/widgets/Interfaces.js index c84813bf4..d33d27e37 100644 --- a/src/opnsense/www/js/widgets/Interfaces.js +++ b/src/opnsense/www/js/widgets/Interfaces.js @@ -29,13 +29,12 @@ import BaseTableWidget from "./BaseTableWidget.js"; export default class Interfaces extends BaseTableWidget { constructor() { super(); - this.resizeHandles = "e, w"; } getGridOptions() { return { // trigger overflow-y:scroll after 650px height - sizeToContent: 350 + sizeToContent: 650 } } diff --git a/src/opnsense/www/js/widgets/IpsecLeases.js b/src/opnsense/www/js/widgets/IpsecLeases.js index 1b027fc2a..549bdb11e 100644 --- a/src/opnsense/www/js/widgets/IpsecLeases.js +++ b/src/opnsense/www/js/widgets/IpsecLeases.js @@ -29,7 +29,6 @@ import BaseTableWidget from "./BaseTableWidget.js"; export default class IpsecLeases extends BaseTableWidget { constructor() { super(); - this.resizeHandles = "e, w"; this.currentLeases = {}; } diff --git a/src/opnsense/www/js/widgets/IpsecTunnels.js b/src/opnsense/www/js/widgets/IpsecTunnels.js index 58c483c05..8f5ddb95f 100644 --- a/src/opnsense/www/js/widgets/IpsecTunnels.js +++ b/src/opnsense/www/js/widgets/IpsecTunnels.js @@ -29,7 +29,6 @@ import BaseTableWidget from "./BaseTableWidget.js"; export default class IpsecTunnels extends BaseTableWidget { constructor() { super(); - this.resizeHandles = "e, w"; this.currentTunnels = {}; } diff --git a/src/opnsense/www/js/widgets/OpenVPNClients.js b/src/opnsense/www/js/widgets/OpenVPNClients.js index acfc05fad..ee75a3422 100644 --- a/src/opnsense/www/js/widgets/OpenVPNClients.js +++ b/src/opnsense/www/js/widgets/OpenVPNClients.js @@ -29,7 +29,6 @@ import BaseTableWidget from "./BaseTableWidget.js"; export default class OpenVPNClients extends BaseTableWidget { constructor(config) { super(config); - this.resizeHandles = "e, w"; this.locked = false; } diff --git a/src/opnsense/www/js/widgets/OpenVPNServers.js b/src/opnsense/www/js/widgets/OpenVPNServers.js index e93a0cd58..db84c5686 100644 --- a/src/opnsense/www/js/widgets/OpenVPNServers.js +++ b/src/opnsense/www/js/widgets/OpenVPNServers.js @@ -29,7 +29,6 @@ import BaseTableWidget from "./BaseTableWidget.js"; export default class OpenVPNServers extends BaseTableWidget { constructor() { super(); - this.resizeHandles = "e, w"; } getGridOptions() { diff --git a/src/opnsense/www/js/widgets/Wireguard.js b/src/opnsense/www/js/widgets/Wireguard.js index 991846aae..2dd46d7ba 100644 --- a/src/opnsense/www/js/widgets/Wireguard.js +++ b/src/opnsense/www/js/widgets/Wireguard.js @@ -30,7 +30,6 @@ import BaseTableWidget from "./BaseTableWidget.js"; export default class Wireguard extends BaseTableWidget { constructor() { super(); - this.resizeHandles = "e, w"; this.currentTunnels = {}; }