@@ -7,59 +7,54 @@ import {
7
7
} from './manager' ;
8
8
9
9
import {
10
- Kernel , ServerConnection , KernelMessage
10
+ KernelManager , ServerConnection , KernelMessage
11
11
} from '@jupyterlab/services' ;
12
12
13
13
let BASEURL = prompt ( 'Notebook BASEURL' , 'http://localhost:8888' ) ;
14
14
let WSURL = 'ws:' + BASEURL . split ( ':' ) . slice ( 1 ) . join ( ':' ) ;
15
15
16
- document . addEventListener ( 'DOMContentLoaded' , function ( event ) {
16
+ document . addEventListener ( 'DOMContentLoaded' , async function ( event ) {
17
17
18
18
// Connect to the notebook webserver.
19
19
let connectionInfo = ServerConnection . makeSettings ( {
20
20
baseUrl : BASEURL ,
21
21
wsUrl : WSURL
22
22
} ) ;
23
- Kernel . getSpecs ( connectionInfo ) . then ( kernelSpecs => {
24
- return Kernel . startNew ( {
25
- name : kernelSpecs . default ,
26
- serverSettings : connectionInfo
27
- } ) ;
28
- } ) . then ( kernel => {
29
-
30
- // Create a codemirror instance
31
- let code = require ( '../widget_code.json' ) . join ( '\n' ) ;
32
- let inputarea = document . getElementsByClassName ( 'inputarea' ) [ 0 ] as HTMLElement ;
33
- CodeMirror ( inputarea , {
34
- value : code ,
35
- mode : 'python' ,
36
- tabSize : 4 ,
37
- showCursorWhenSelecting : true ,
38
- viewportMargin : Infinity ,
39
- readOnly : true
40
- } ) ;
41
-
42
- // Create the widget area and widget manager
43
- let widgetarea = document . getElementsByClassName ( 'widgetarea' ) [ 0 ] as HTMLElement ;
44
- let manager = new WidgetManager ( kernel , widgetarea ) ;
23
+ let kernelManager = new KernelManager ( { serverSettings : connectionInfo } ) ;
24
+ let kernel = await kernelManager . startNew ( ) ;
25
+
26
+ // Create a codemirror instance
27
+ let code = require ( '../widget_code.json' ) . join ( '\n' ) ;
28
+ let inputarea = document . getElementsByClassName ( 'inputarea' ) [ 0 ] as HTMLElement ;
29
+ CodeMirror ( inputarea , {
30
+ value : code ,
31
+ mode : 'python' ,
32
+ tabSize : 4 ,
33
+ showCursorWhenSelecting : true ,
34
+ viewportMargin : Infinity ,
35
+ readOnly : true
36
+ } ) ;
45
37
46
- // Run backend code to create the widgets. You could also create the
47
- // widgets in the frontend, like the other widget examples demonstrate.
48
- let execution = kernel . requestExecute ( { code : code } ) ;
49
- execution . onIOPub = ( msg ) => {
50
- // If we have a display message, display the widget.
51
- if ( KernelMessage . isDisplayDataMsg ( msg ) ) {
52
- let widgetData : any = msg . content . data [ 'application/vnd.jupyter.widget-view+json' ] ;
53
- if ( widgetData !== undefined && widgetData . version_major === 2 ) {
54
- let model = manager . get_model ( widgetData . model_id ) ;
55
- if ( model !== undefined ) {
56
- model . then ( model => {
57
- manager . display_model ( msg , model ) ;
58
- } ) ;
59
- }
38
+ // Create the widget area and widget manager
39
+ let widgetarea = document . getElementsByClassName ( 'widgetarea' ) [ 0 ] as HTMLElement ;
40
+ let manager = new WidgetManager ( kernel , widgetarea ) ;
41
+
42
+ // Run backend code to create the widgets. You could also create the
43
+ // widgets in the frontend, like the other widget examples demonstrate.
44
+ let execution = kernel . requestExecute ( { code : code } ) ;
45
+ execution . onIOPub = ( msg ) => {
46
+ // If we have a display message, display the widget.
47
+ if ( KernelMessage . isDisplayDataMsg ( msg ) ) {
48
+ let widgetData : any = msg . content . data [ 'application/vnd.jupyter.widget-view+json' ] ;
49
+ if ( widgetData !== undefined && widgetData . version_major === 2 ) {
50
+ let model = manager . get_model ( widgetData . model_id ) ;
51
+ if ( model !== undefined ) {
52
+ model . then ( model => {
53
+ manager . display_model ( msg , model ) ;
54
+ } ) ;
60
55
}
61
56
}
62
- } ;
63
- } ) ;
57
+ }
58
+ } ;
64
59
} ) ;
65
60
0 commit comments