Dashboards & Visualizations

SVG Panel display problem using JQuery toggle function in BaseSplunkView

mathu
Path Finder

Hi

I've implemented a javascript (Simple XML) extension to toggle dashboard panels. The script hides some panels on page load and toggles them on a mouse click event. That helps me to keep my dashboards clean.

I use JQuery toggle() or slideToggle() functions inside an extended BaseSplunkView class.

Ths script works for panels that do not relate to SVG dashboard elements. For example it works for Single Value or HTML panels, but it does not work for chart panels.

The problem looks obvious:
When my javascript class is loaded, I call component.$el.toggle() to hide the panel. But at this time, the SVG elements are not yet painted and therefore not visible in the HTML DOM.
When I call toggle() again in case of a click event, the panel shows up, but it is empty.

When I resize the panel (or browser window) a little bit, the chart shows up immediately. That means the SVG elements are now here, but initially painted on an invisible HTML element.

So how can I tell Splunk in my javascript to refresh the SVG container after toggling the panel?

Kind regards
Mathias

0 Karma
1 Solution

mathu
Path Finder

.. after hours of debugging, the solution is that simple.

Calling the resize function on the panel element after toggling it, solves my problem.

component.$el.toggle();
component.$el.resize();

View solution in original post

mathu
Path Finder

.. after hours of debugging, the solution is that simple.

Calling the resize function on the panel element after toggling it, solves my problem.

component.$el.toggle();
component.$el.resize();
Get Updates on the Splunk Community!

Routing logs with Splunk OTel Collector for Kubernetes

The Splunk Distribution of the OpenTelemetry (OTel) Collector is a product that provides a way to ingest ...

Welcome to the Splunk Community!

(view in My Videos) We're so glad you're here! The Splunk Community is place to connect, learn, give back, and ...

Tech Talk | Elevating Digital Service Excellence: The Synergy of Splunk RUM & APM

Elevating Digital Service Excellence: The Synergy of Real User Monitoring and Application Performance ...