5
5
import { INotebookTracker } from '@jupyterlab/notebook' ;
6
6
import { LabIcon } from '@jupyterlab/ui-components' ;
7
7
import { ICommandPalette } from '@jupyterlab/apputils' ;
8
- import { nullTranslator } from '@jupyterlab/translation' ;
9
8
import { KernelUsagePanel } from './panel' ;
10
9
import tachometer from '../style/tachometer.svg' ;
11
10
@@ -22,30 +21,39 @@ namespace CommandIDs {
22
21
/**
23
22
* Initialization data for the jupyter-resource-usage extension.
24
23
*/
25
- const extension : JupyterFrontEndPlugin < void > = {
26
- id : '@jupyter-server/resource-usage:memory-kernel- status-item' ,
24
+ const memory_extension : JupyterFrontEndPlugin < void > = {
25
+ id : '@jupyter-server/resource-usage:memory-status-item' ,
27
26
autoStart : true ,
28
- optional : [ IStatusBar , ITranslator , ICommandPalette , INotebookTracker ] ,
27
+ requires : [ IStatusBar , ITranslator ] ,
29
28
activate : (
30
29
app : JupyterFrontEnd ,
31
- statusBar : IStatusBar | null ,
32
- translator : ITranslator | null ,
33
- palette : ICommandPalette | null ,
34
- notebookTracker : INotebookTracker | null
30
+ statusBar : IStatusBar ,
31
+ translator : ITranslator
35
32
) => {
36
- translator = translator || nullTranslator ;
37
33
const trans = translator . load ( 'jupyter-resource-usage' ) ;
38
34
const item = new MemoryUsage ( trans ) ;
39
35
40
- if ( statusBar ) {
41
- statusBar . registerStatusItem ( extension . id , {
42
- item,
43
- align : 'left' ,
44
- rank : 2 ,
45
- isActive : ( ) => item . model . metricsAvailable ,
46
- activeStateChanged : item . model . stateChanged ,
47
- } ) ;
48
- }
36
+ statusBar . registerStatusItem ( memory_extension . id , {
37
+ item,
38
+ align : 'left' ,
39
+ rank : 2 ,
40
+ isActive : ( ) => item . model . metricsAvailable ,
41
+ activeStateChanged : item . model . stateChanged ,
42
+ } ) ;
43
+ } ,
44
+ } ;
45
+
46
+ const kernel_extension : JupyterFrontEndPlugin < void > = {
47
+ id : '@jupyter-server/resource-usage:kernel-panel-item' ,
48
+ autoStart : true ,
49
+ requires : [ ITranslator , ICommandPalette , INotebookTracker ] ,
50
+ activate : (
51
+ app : JupyterFrontEnd ,
52
+ translator : ITranslator ,
53
+ palette : ICommandPalette ,
54
+ notebookTracker : INotebookTracker
55
+ ) => {
56
+ const trans = translator . load ( 'jupyter-resource-usage' ) ;
49
57
50
58
const { commands, shell } = app ;
51
59
const category = trans . __ ( 'Kernel Resource' ) ;
@@ -81,4 +89,8 @@ const extension: JupyterFrontEndPlugin<void> = {
81
89
} ,
82
90
} ;
83
91
84
- export default extension ;
92
+ const plugins : JupyterFrontEndPlugin < any > [ ] = [
93
+ memory_extension ,
94
+ kernel_extension ,
95
+ ] ;
96
+ export default plugins ;
0 commit comments