Skip to content

Commit ee1eb50

Browse files
authored
Do not drop events while blocked (#204)
* Do not drop events while blocked * Fix indentation * Fix logic bug
1 parent 38d8fd5 commit ee1eb50

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

src/widgets.ts

+8-1
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ export class BokehView extends DOMWidgetView {
8383
private _receiver: Receiver
8484
private _blocked: boolean
8585
private _msgs: any[]
86+
private _events: any[]
8687
private _idle: boolean
8788
private _combine: boolean
8889

@@ -175,7 +176,7 @@ export class BokehView extends DOMWidgetView {
175176
if (
176177
msg.msg_data.event_values.model == null ||
177178
msg.msg_data.event_values.model.id !=
178-
new_msg.msg_data.event_values.model.id ||
179+
new_msg.msg_data.event_values.model.id ||
179180
msg.msg_data.event_name != new_msg.msg_data.event_name
180181
) {
181182
new_msgs.push(msg)
@@ -198,6 +199,7 @@ export class BokehView extends DOMWidgetView {
198199

199200
protected _change_event(event: DocumentChangedEvent): void {
200201
if (this._blocked) {
202+
this._events.push(event)
201203
return
202204
}
203205
const { Serializer } = bk_require('core/serialization')
@@ -228,6 +230,11 @@ export class BokehView extends DOMWidgetView {
228230
this._document.apply_json_patch(comm_msg.content, comm_msg.buffers)
229231
} finally {
230232
this._blocked = false
233+
const events = [...this._events]
234+
this._events = []
235+
for (const event of events) {
236+
this._change_event(event)
237+
}
231238
}
232239
}
233240
}

0 commit comments

Comments
 (0)