diff --git a/ipywidgets_bokeh/src/manager.ts b/ipywidgets_bokeh/src/manager.ts index c3054dd..82cf141 100644 --- a/ipywidgets_bokeh/src/manager.ts +++ b/ipywidgets_bokeh/src/manager.ts @@ -162,7 +162,7 @@ export class WidgetManager extends HTMLManager { model.comm_live = true } - async render(bundle: ModelBundle, el: HTMLElement): Promise { + async render(bundle: ModelBundle, el: HTMLElement, onDisplay: () => void): Promise { const {spec, state} = bundle const new_models = state.state for (const [id, new_model] of entries(new_models)) { @@ -190,6 +190,7 @@ export class WidgetManager extends HTMLManager { } const view = await this.create_view(model, {el}) + view.on("displayed", onDisplay) await this.display_view(view, el) return view } finally { diff --git a/ipywidgets_bokeh/src/widget.ts b/ipywidgets_bokeh/src/widget.ts index 5d2320a..662908d 100644 --- a/ipywidgets_bokeh/src/widget.ts +++ b/ipywidgets_bokeh/src/widget.ts @@ -86,7 +86,7 @@ export class IPyWidgetView extends LayoutDOMView { const manager = widget_managers.get(document) assert(manager != null, "manager is null") - this.ipy_view = await manager.render(this.model.bundle, this.container) + this.ipy_view = await manager.render(this.model.bundle, this.container, () => this.invalidate_layout()) } else { this.container.append(this.ipy_view.el) } diff --git a/ipywidgets_bokeh/webpack.config.js b/ipywidgets_bokeh/webpack.config.js index bbee06e..18d2ddf 100644 --- a/ipywidgets_bokeh/webpack.config.js +++ b/ipywidgets_bokeh/webpack.config.js @@ -34,7 +34,7 @@ module.exports = (env={}, argv={}) => { } ], module: {rules}, - devtool: minimize ? false : "source-map", + devtool: mode === "development" ? 'inline-source-map' : false, mode, optimization: {minimize}, }