Using loading_indicator with hv.DynamicMap

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