christabor / flask_jsondash

:snake: :bar_chart: :chart_with_upwards_trend: Build complex dashboards without any front-end code. Use your own endpoints. JSON config only. Ready to go.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Add embeddable mode

christabor opened this issue · comments

Use case:

As a user I need to be able to create more complex dashboards and pages than what is supported in the schema/tool. But I don't want the tool to be so complex that the schema and language effectively become a DSL and are as complex (or more so) than just doing it all myself.

To that end, it would be easiest to embed using a traditional iframe. This allows more complex dashboards to wrap this one.

Tradeoffs:

  • Any con associated with using iframes in general.

Implementation:

  • This would be used as an iframe.
  • An embedded=true query parameter will be inserted into the url which is then used within the flask blueprint to toggle features off. Exactly the same implementation method as the existing jsondash_demo_mode option.
  • No way to avoid duplicate asset loading/sharing of assets (e.g I use d3 in my site and also use it within here).

Requirements:

  • Should have a transparent bg so it fits well with other wrapped page designs
  • Should hide all titles and editable elements
  • Should hide all dragging/dropping/resizing ability
  • Should hide all large titles and buttons, only showing the charts and their refresh buttons.

Testing

Unit tests will suffice

Examples

Config should be provided that creates a single full width chart that contains the embedded version as an iframe. This gives people an idea and provides fixtures for testing/demoing.