I’m using a st.pydeck object but because of existing confirmed bugs the performance is poor and I’m looking into rendering the component through components.html (streamlit.components.v1)
Example:
import streamlit as st
import streamlit.components.v1 as components
import pydeck as pdk
...
r2 = pdk.Deck(...)
components.html(r2.to_html(as_string=True), height=600)
This somewhat works but I’m trying to figure out how to enable fullscreen, specially the arrow icons ↖↘ that appear when you hover over a streamlit element that allow you to full-screen it.
I see this related issue but I can’t quite figure it out:
Sharing my comment from the GitHub Issue here as well:
While we don’t prevent st.html components from calling Element.requestFullscreen() (which you can read more about here), we also don’t automatically add a fullscreen button overlay on the st.html component.
As a result, to have a fullscreen option display, you would need to do the following:
If you want a button to appear to allow users to select the fullscreen option, you’d need to implement it with HTML + JS in the code passed to st.html.
@Caroline - to confirm would this enable the native streamlit fullscreen ↖↘ icon (top right of the element in question to appear). Are there any examples you could share of how this could work? In my use case I’m rending a pydeck chart into the component as follows
What would need to be added exactly and where in this HTML to achieve the full-screen icon to appear? Want to make sure I’m understanding things correctly, so if I need to modify this HTML in memory I can replace / inject what I need correctly.