This PR adds tools to the viewers to allow exporting the current figure to an interactive HTML file. This is essentially the equivalent of the Plotly export tools for the matplotlib and bqplot viewers, but since the viewers here are already using Plotly, we can just directly use the viewer figure's ability to export to HTML. Since we restrict a lot of the default Plotly functionality (zooming, selection, panning, etc.) and then expose them via tools in the viewer, we make sure to re-enable these in the exported HTML.
For selecting an export filepath, these tools use the same ipyfilechooser setup that the bqplot exporters already use. Thus, I've refactored this out into a base Jupyter export tool so that both the exporters and this saving tool can share that functionality.
This PR adds tools to the viewers to allow exporting the current figure to an interactive HTML file. This is essentially the equivalent of the Plotly export tools for the matplotlib and bqplot viewers, but since the viewers here are already using Plotly, we can just directly use the viewer figure's ability to export to HTML. Since we restrict a lot of the default Plotly functionality (zooming, selection, panning, etc.) and then expose them via tools in the viewer, we make sure to re-enable these in the exported HTML.
For selecting an export filepath, these tools use the same
ipyfilechooser
setup that the bqplot exporters already use. Thus, I've refactored this out into a base Jupyter export tool so that both the exporters and this saving tool can share that functionality.