Mavenomics / MavenWorks

Agile Dashboarding, anywhere
https://mavenworks.com
GNU General Public License v3.0
18 stars 2 forks source link

Add: In-process and embedded dashboard links #74

Closed quigleyj-mavenomics closed 4 years ago

quigleyj-mavenomics commented 4 years ago

This makes a number of changes to Dashboard Links, transforming them into something much more useful and iterable for dashboard authors.

DashboardLinks now run in-process (as opposed to in-an-iframe), which brings a number of significant technical gains. Links load much faster, have much lower overhead, and are noticeably more responsive. They have also been upgraded in status to being a framework feature- this will allow other sorts of parts to leverage DashboardLinks.

The most significant user-facing enhancement in this PR is "embedded" dashboards. Previously, DashboardLinks could only refer to a different dashboard (making them painful to iterate on, and especially painful to use in Jupyter). Now, DashboardLinks can also refer to a part of the dashboard they render in! This 'subregion' is treated as a template, and transformed into an independent model by DashboardSerializer.toJsonFromPartial. These subregions can be safely hidden away in the main dashboard, and need no network requests to load (unlike DashboardLinks relying on a separate file).

Here's a dashboard to test the feature:

EmbeddedHoverTest.dashboard.txt

And a screenshot of it in action (with the templated subregion shown on the left for clarity):

image

Fixes #69 Fixes #72 Fixes #73