From 4f7f55c271acff5afa391205e188796b8e690b25 Mon Sep 17 00:00:00 2001 From: pdmurray Date: Fri, 2 Sep 2022 23:47:50 -0700 Subject: [PATCH 1/2] Trigger layout invalidation on widget display --- ipywidgets_bokeh/src/manager.ts | 3 ++- ipywidgets_bokeh/src/widget.ts | 2 +- ipywidgets_bokeh/webpack.config.js | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/ipywidgets_bokeh/src/manager.ts b/ipywidgets_bokeh/src/manager.ts index c3054dd..af8bd63 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}, } From 88f3132a8781ebe608b96e2ec778d2eedc54b737 Mon Sep 17 00:00:00 2001 From: pdmurray Date: Thu, 3 Apr 2025 12:00:03 -0700 Subject: [PATCH 2/2] Make linter happy --- ipywidgets_bokeh/src/manager.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ipywidgets_bokeh/src/manager.ts b/ipywidgets_bokeh/src/manager.ts index af8bd63..82cf141 100644 --- a/ipywidgets_bokeh/src/manager.ts +++ b/ipywidgets_bokeh/src/manager.ts @@ -190,7 +190,7 @@ export class WidgetManager extends HTMLManager { } const view = await this.create_view(model, {el}) - view.on('displayed', onDisplay) + view.on("displayed", onDisplay) await this.display_view(view, el) return view } finally {