https://panel.holoviz.org/gallery/param/loading_indicator.html
import time
import numpy as np
import holoviews as hv
import panel as pn
pn.extension()
pn.config.sizing_mode = "stretch_both"
template = pn.template.MaterialTemplate()
dot = template.busy_indicator
bar = pn.widgets.Progress(active=False)
print(dot)
# dot.jslink(bar, value="active")
template.sidebar.append(bar)
button = pn.widgets.Button(name="Update", button_type="primary")
def random_plot(event):
if event: time.sleep(10)
return hv.Points(np.random.rand(100, 2)).opts(
width=400, height=400, size=5)
col = pn.Column(button, pn.panel(hv.DynamicMap(pn.bind(random_plot, button)), loading_indicator=True))
template.main.append(col)
template.servable()
Doesn’t seem to work if wrapping a DynamicMap around