1- function startReloadUI ( ) {
2- const div = document . createElement ( "div" )
3- div . className = "msgbox-overlay"
4- div . style . opacity = 1
5- div . style . textAlign = "center"
6- div . innerHTML = `<div class="msgbox">
7- <div class="msg">Reloading container</div>
8- </div>`
9- document . querySelector ( ".monaco-workbench" ) . appendChild ( div )
10- }
11-
12- function removeElementsByClass ( className ) {
13- let elements = document . getElementsByClassName ( className ) ;
14- for ( let e of elements ) {
15- e . parentNode . removeChild ( e )
1+ function ( ) {
2+ function startReloadUI ( ) {
3+ const div = document . createElement ( "div" )
4+ div . className = "msgbox-overlay"
5+ div . style . opacity = 1
6+ div . style . textAlign = "center"
7+ div . innerHTML = `<div class="msgbox">
8+ <div class="msg">Reloading container</div>
9+ </div>`
10+ document . querySelector ( ".monaco-workbench" ) . appendChild ( div )
1611 }
17- }
18-
19- function stopReloadUI ( ) {
20- removeElementsByClass ( "msgbox-overlay" )
21- }
2212
23- function rebuild ( ) {
24- const tsrv = window . ide . workbench . terminalService
13+ function removeElementsByClass ( className ) {
14+ let elements = document . getElementsByClassName ( className ) ;
15+ for ( let e of elements ) {
16+ e . parentNode . removeChild ( e )
17+ }
18+ }
2519
26- if ( tty == null ) {
27- tty = tsrv . createTerminal ( {
28- name : "sail" ,
29- isRendererOnly : true ,
30- } , false )
31- } else {
32- tty . clear ( )
20+ function stopReloadUI ( ) {
21+ removeElementsByClass ( "msgbox-overlay" )
3322 }
34- let oldTTY = tsrv . getActiveInstance ( )
35- tsrv . setActiveInstance ( tty )
36- // Show the panel and focus it to prevent the user from editing the Dockerfile.
37- tsrv . showPanel ( true )
3823
39- startReloadUI ( )
24+ let tty
25+ function rebuild ( ) {
26+ const tsrv = window . ide . workbench . terminalService
4027
41- const ws = new WebSocket ( "ws://" + location . host + "/sail/api/v1/reload" )
42- ws . onmessage = ( ev ) => {
43- const msg = JSON . parse ( ev . data )
44- const out = atob ( msg . v ) . replace ( / \n / g, "\n\r" )
45- tty . write ( out )
46- }
47- ws . onclose = ( ev ) => {
48- if ( ev . code === 1000 ) {
49- tsrv . setActiveInstance ( oldTTY )
28+ if ( tty == null ) {
29+ tty = tsrv . createTerminal ( {
30+ name : "sail" ,
31+ isRendererOnly : true ,
32+ } , false )
5033 } else {
51- alert ( "reload failed; please see logs in sail terminal" )
34+ tty . clear ( )
5235 }
53- stopReloadUI ( )
54- }
55- }
36+ let oldTTY = tsrv . getActiveInstance ( )
37+ tsrv . setActiveInstance ( tty )
38+ // Show the panel and focus it to prevent the user from editing the Dockerfile.
39+ tsrv . showPanel ( true )
5640
57- let tty
58- window . addEventListener ( "ide-ready" , ( ) => {
59- const statusBarService = window . ide . workbench . statusbarService
60- statusBarService . addEntry ( {
61- text : "rebuild" ,
62- tooltip : "press super+alt+r to rebuild" ,
63- command : "rebuild-sail-container"
64- // showBeak: true <- what does this do?
65- } , 0 )
41+ startReloadUI ( )
6642
67- const commandRegistry = window . ide . workbench . commandRegistry
68- commandRegistry . registerCommand ( {
69- id : "rebuild-sail-container" ,
70- handler : ( accessor , args ) => {
71- rebuild ( )
72- } ,
73- description : {
74- description : "Rebuild sail container" ,
75- args : [ ]
43+ const ws = new WebSocket ( "ws://" + location . host + "/sail/api/v1/reload" )
44+ ws . onmessage = ( ev ) => {
45+ const msg = JSON . parse ( ev . data )
46+ const out = atob ( msg . v ) . replace ( / \n / g, "\n\r" )
47+ tty . write ( out )
7648 }
77- } )
49+ ws . onclose = ( ev ) => {
50+ if ( ev . code === 1000 ) {
51+ tsrv . setActiveInstance ( oldTTY )
52+ } else {
53+ alert ( "reload failed; please see logs in sail terminal" )
54+ }
55+ stopReloadUI ( )
56+ }
57+ }
7858
79- const
80- } )
59+ window . addEventListener ( "ide-ready" , ( ) => {
60+ const statusBarService = window . ide . workbench . statusbarService
61+ statusBarService . addEntry ( {
62+ text : "rebuild" ,
63+ tooltip : "press super+alt+r to rebuild" ,
64+ command : "rebuild-sail-container"
65+ // showBeak: true <- what does this do?
66+ } , 0 )
67+
68+ const commandRegistry = window . ide . workbench . commandRegistry
69+ commandRegistry . registerCommand ( {
70+ id : "rebuild-sail-container" ,
71+ handler : ( accessor , args ) => {
72+ rebuild ( )
73+ } ,
74+ description : {
75+ description : "Rebuild sail container" ,
76+ args : [ ]
77+ }
78+ } )
79+ } )
80+ }
0 commit comments