Skip to content

Commit 0fadc0b

Browse files
Make IStatusBar optional for resourceStatusPlugin (#207)
It does not exist for nb interface and so we should load it optionally
1 parent dd0ce33 commit 0fadc0b

File tree

1 file changed

+14
-11
lines changed

1 file changed

+14
-11
lines changed

packages/labextension/src/index.ts

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -73,22 +73,25 @@ namespace CommandIDs {
7373
const resourceStatusPlugin: JupyterFrontEndPlugin<void> = {
7474
id: '@jupyter-server/resource-usage:status-item',
7575
autoStart: true,
76-
requires: [IStatusBar, ITranslator],
76+
requires: [ITranslator],
77+
optional: [IStatusBar],
7778
activate: (
7879
app: JupyterFrontEnd,
79-
statusBar: IStatusBar,
80-
translator: ITranslator
80+
translator: ITranslator,
81+
statusBar: IStatusBar | null
8182
) => {
8283
const trans = translator.load('jupyter-resource-usage');
8384
const item = new ResourceUsageStatus(trans);
8485

85-
statusBar.registerStatusItem(resourceStatusPlugin.id, {
86-
item,
87-
align: 'left',
88-
rank: 2,
89-
isActive: () => item.model.metricsAvailable,
90-
activeStateChanged: item.model.stateChanged,
91-
});
86+
if (statusBar) {
87+
statusBar.registerStatusItem(resourceStatusPlugin.id, {
88+
item,
89+
align: 'left',
90+
rank: 2,
91+
isActive: () => item.model.metricsAvailable,
92+
activeStateChanged: item.model.stateChanged,
93+
});
94+
}
9295
},
9396
};
9497

@@ -103,7 +106,7 @@ const systemMonitorPlugin: JupyterFrontEndPlugin<void> = {
103106
activate: async (
104107
app: JupyterFrontEnd,
105108
toolbarRegistry: IToolbarWidgetRegistry,
106-
settingRegistry: ISettingRegistry
109+
settingRegistry: ISettingRegistry | null
107110
) => {
108111
let enablePlugin = DEFAULT_ENABLE_SYSTEM_MONITOR;
109112
let refreshRate = DEFAULT_REFRESH_RATE;

0 commit comments

Comments
 (0)