h2oai / wave

Realtime Web Apps and Dashboards for Python and R
https://wave.h2o.ai
Apache License 2.0
4.01k stars 328 forks source link

Support printing via the browser from sdk #486

Open VijithaEkanayake-zz opened 3 years ago

VijithaEkanayake-zz commented 3 years ago

Is your feature request related to a problem? Please describe

H2O Wave is a great tool for building beautiful, browser-based applications and dashboards. It would be very useful to have an option to generate a PDF version of any of the wave app screens. Providing support for printing via the browser by capturing the wave components is a good option. Currently, print capture only the visible part of the page. With this users can capture the client-side state changes without a hassle. (ex: changes made to the interactive plots on the client-side)

Describe the solution you'd like

Support printing via the browser. This can be achieved by introducing appropriate CSS rules to @media print section.

Describe alternatives you've considered

(A clear and concise description of any alternative solutions or features you've considered.)

Additional context

Captures only the visible part of the screen.

wave_capture
lo5 commented 3 years ago

Using a print CSS for this is not a comprehensive solution, since the print CSS will not be able to handle corner-cases that arise for different screen breakpoints when using ui.layout().

We should design this properly as part of ui.layout() e.g. have a breakpoint-agnostic print layout mode.

This is not a priority right now - let's tackle this after we have prebuilt templates in place (#38).