1- //define(["nbextensions/vpython_libraries/plotly.min",
2- // "nbextensions/vpython_libraries/glow.min",
3- // "nbextensions/vpython_libraries/jquery-ui.custom.min"], function(Plotly) {
4-
51import 'script-loader!./vpython_libraries/jquery.min.js' ;
62import 'script-loader!./vpython_libraries/jquery-ui.custom.min.js' ;
73import 'script-loader!./vpython_libraries/glow.min.js' ;
84import 'script-loader!./vpython_libraries/plotly.min.js' ;
95import '../style/jquery-ui.custom.css'
106import '../style/ide.css'
117
8+ // Ensure downstream JupyterLab webpack places the fonts and images in predictable locations
9+ import '!!file-loader?name=/vpython_data/[name].[ext]!../vpython_data/earth_texture.jpg'
10+ import '!!file-loader?name=/vpython_data/[name].[ext]!../vpython_data/favicon.ico'
11+ import '!!file-loader?name=/vpython_data/[name].[ext]!../vpython_data/flower_texture.jpg'
12+ import '!!file-loader?name=/vpython_data/[name].[ext]!../vpython_data/granite_texture.jpg'
13+ import '!!file-loader?name=/vpython_data/[name].[ext]!../vpython_data/gravel_bumpmap.jpg'
14+ import '!!file-loader?name=/vpython_data/[name].[ext]!../vpython_data/gravel_texture.jpg'
15+ import '!!file-loader?name=/vpython_data/[name].[ext]!../vpython_data/metal_texture.jpg'
16+ import '!!file-loader?name=/vpython_data/[name].[ext]!../vpython_data/NimbusRomNo9L-Med.otf'
17+ import '!!file-loader?name=/vpython_data/[name].[ext]!../vpython_data/Roboto-Medium.ttf'
18+ import '!!file-loader?name=/vpython_data/[name].[ext]!../vpython_data/rock_bumpmap.jpg'
19+ import '!!file-loader?name=/vpython_data/[name].[ext]!../vpython_data/rock_texture.jpg'
20+ import '!!file-loader?name=/vpython_data/[name].[ext]!../vpython_data/rough_texture.jpg'
21+ import '!!file-loader?name=/vpython_data/[name].[ext]!../vpython_data/rug_texture.jpg'
22+ import '!!file-loader?name=/vpython_data/[name].[ext]!../vpython_data/stones_bumpmap.jpg'
23+ import '!!file-loader?name=/vpython_data/[name].[ext]!../vpython_data/stones_texture.jpg'
24+ import '!!file-loader?name=/vpython_data/[name].[ext]!../vpython_data/stucco_bumpmap.jpg'
25+ import '!!file-loader?name=/vpython_data/[name].[ext]!../vpython_data/stucco_texture.jpg'
26+ import '!!file-loader?name=/vpython_data/[name].[ext]!../vpython_data/wood_old_bumpmap.jpg'
27+ import '!!file-loader?name=/vpython_data/[name].[ext]!../vpython_data/wood_old_texture.jpg'
28+ import '!!file-loader?name=/vpython_data/[name].[ext]!../vpython_data/wood_texture.jpg'
29+
1230export var comm
1331var ws = null
1432var isopen = false
1533
1634console . log ( 'START OF GLOWCOMM' )
1735
18- export function createWebsocket ( msg ) {
36+ export function createWebsocket ( msg , serviceUrl ) {
1937 if ( msg . content . data . wsport !== undefined ) {
2038 // create websocket instance
21- var port = msg . content . data . wsport
22- var uri = msg . content . data . wsuri
23- ws = new WebSocket ( "ws://localhost:" + port + uri ) ;
24- ws . binaryType = "arraybuffer" ;
39+ var port = msg . content . data . wsport
40+ var uri = msg . content . data . wsuri
41+ var url ;
42+
43+ if ( document . location . hostname . includes ( "localhost" ) ) {
44+ url = "ws://localhost:" + port + uri ;
45+ }
46+ else {
47+ url = serviceUrl + port + uri ;
48+ }
49+ ws = new WebSocket ( url ) ;
50+ ws . binaryType = "arraybuffer" ;
2551
2652 // Handle incoming websocket message callback
2753 ws . onmessage = function ( evt ) {
28- console . log ( "WebSocket Message Received: " + evt . data )
54+ console . log ( "WebSocket Message Received: " + evt . data )
2955 } ;
3056
3157 // Close Websocket callback
@@ -43,25 +69,22 @@ export function createWebsocket(msg) {
4369 }
4470}
4571
46- var wsmsg
47-
48- function wscheckfontsloaded ( ) {
72+ function wscheckfontsloaded ( msg , serviceUrl ) {
4973 "use strict" ;
5074 if ( window . __font_sans === undefined || window . __font_serif === undefined ) {
51- setTimeout ( wscheckfontsloaded , 10 )
75+ setTimeout ( wscheckfontsloaded , 10 , msg , serviceUrl )
5276 } else {
53- createWebsocket ( wsmsg )
77+ createWebsocket ( msg , serviceUrl )
5478 }
5579}
5680
57- export function setupWebsocket ( msg ) {
81+ export function setupWebsocket ( msg , serviceUrl ) {
5882 "use strict" ;
59- wsmsg = msg
60- wscheckfontsloaded ( )
83+ wscheckfontsloaded ( msg , serviceUrl )
6184}
6285
63- var datadir = window . location . href + ' /static/vpython_data/'
64- window . Jupyter_VPython = "/lab/ static/vpython_data/" // prefix used by glow.min.js for textures
86+ var datadir = '. /static/lab /vpython_data/'
87+ window . Jupyter_VPython = "./ static/lab /vpython_data/" // prefix used by glow.min.js for textures
6588
6689function fontloading ( ) {
6790 "use strict" ;
@@ -183,7 +206,6 @@ ellipsoid = vp_ellipsoid
183206ring = vp_ring
184207arrow = vp_arrow
185208compound = vp_compound
186-
187209function msclock ( ) {
188210 "use strict" ;
189211 if ( performance . now ) return performance . now ( )
0 commit comments