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 existingjsondash_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.