Skip to content

Commit af6d651

Browse files
committed
Handle KernelWidgetManager in the JupyterLab OutputModel
1 parent 58adde2 commit af6d651

File tree

1 file changed

+16
-8
lines changed

1 file changed

+16
-8
lines changed

python/jupyterlab_widgets/src/output.ts

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import { JupyterLuminoPanelWidget } from '@jupyter-widgets/base';
77

88
import { Panel } from '@lumino/widgets';
99

10-
import { WidgetManager } from './manager';
10+
import { KernelWidgetManager, WidgetManager } from './manager';
1111

1212
import { OutputAreaModel, OutputArea } from '@jupyterlab/outputarea';
1313

@@ -33,11 +33,14 @@ export class OutputModel extends outputBase.OutputModel {
3333
return false;
3434
};
3535

36-
this.widget_manager.context.sessionContext.kernelChanged.connect(
37-
(sender, args) => {
38-
this._handleKernelChanged(args);
39-
}
40-
);
36+
// if the context is available, react on kernel changes
37+
if (this.widget_manager instanceof WidgetManager) {
38+
this.widget_manager.context.sessionContext.kernelChanged.connect(
39+
(sender, args) => {
40+
this._handleKernelChanged(args);
41+
}
42+
);
43+
}
4144
this.listenTo(this, 'change:msg_id', this.reset_msg_id);
4245
this.listenTo(this, 'change:outputs', this.setOutputs);
4346
this.setOutputs();
@@ -60,7 +63,12 @@ export class OutputModel extends outputBase.OutputModel {
6063
* Reset the message id.
6164
*/
6265
reset_msg_id(): void {
63-
const kernel = this.widget_manager.context.sessionContext?.session?.kernel;
66+
let kernel;
67+
if (this.widget_manager instanceof WidgetManager) {
68+
kernel = this.widget_manager.context.sessionContext?.session?.kernel;
69+
} else if (this.widget_manager instanceof KernelWidgetManager) {
70+
kernel = this.widget_manager.kernel;
71+
}
6472
const msgId = this.get('msg_id');
6573
const oldMsgId = this.previous('msg_id');
6674

@@ -114,7 +122,7 @@ export class OutputModel extends outputBase.OutputModel {
114122
}
115123
}
116124

117-
widget_manager: WidgetManager;
125+
widget_manager: WidgetManager | KernelWidgetManager;
118126

119127
private _msgHook: (msg: KernelMessage.IIOPubMessage) => boolean;
120128
private _outputs: OutputAreaModel;

0 commit comments

Comments
 (0)