Skip to content

Commit 8489a1e

Browse files
Trigger layout invalidation on widget display (#64)
* Trigger layout invalidation on widget display * Make linter happy
1 parent 4d05b0a commit 8489a1e

File tree

3 files changed

+4
-3
lines changed

3 files changed

+4
-3
lines changed

ipywidgets_bokeh/src/manager.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ export class WidgetManager extends HTMLManager {
162162
model.comm_live = true
163163
}
164164

165-
async render(bundle: ModelBundle, el: HTMLElement): Promise<WidgetView | null> {
165+
async render(bundle: ModelBundle, el: HTMLElement, onDisplay: () => void): Promise<WidgetView | null> {
166166
const {spec, state} = bundle
167167
const new_models = state.state
168168
for (const [id, new_model] of entries(new_models)) {
@@ -190,6 +190,7 @@ export class WidgetManager extends HTMLManager {
190190
}
191191

192192
const view = await this.create_view(model, {el})
193+
view.on("displayed", onDisplay)
193194
await this.display_view(view, el)
194195
return view
195196
} finally {

ipywidgets_bokeh/src/widget.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ export class IPyWidgetView extends LayoutDOMView {
8686
const manager = widget_managers.get(document)
8787
assert(manager != null, "manager is null")
8888

89-
this.ipy_view = await manager.render(this.model.bundle, this.container)
89+
this.ipy_view = await manager.render(this.model.bundle, this.container, () => this.invalidate_layout())
9090
} else {
9191
this.container.append(this.ipy_view.el)
9292
}

ipywidgets_bokeh/webpack.config.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ module.exports = (env={}, argv={}) => {
3434
}
3535
],
3636
module: {rules},
37-
devtool: minimize ? false : "source-map",
37+
devtool: mode === "development" ? 'inline-source-map' : false,
3838
mode,
3939
optimization: {minimize},
4040
}

0 commit comments

Comments
 (0)