@@ -5,39 +5,41 @@ import * as bazelproject from './bazelproject';
55import * as bazelmodule from './bazelmodule' ;
66
77
8- export function handleMessages ( extCtx : vscode . ExtensionContext , webPanel : vscode . WebviewPanel , message : any ) {
9- switch ( message . command ) {
10- case 'importProject' : {
11- const bi : bazelproject . BazelProject = new bazelproject . BazelProject ( message . source , message . target ) ;
12- bi . openProject ( message . modules ) ;
13- return ;
14- }
15- case 'browseWorkspace' :
16- vscode . window . showOpenDialog ( {
17- 'title' : 'Select WORKSPACE location' ,
18- 'canSelectFolders' : false ,
19- 'canSelectFiles' : true ,
20- 'canSelectMany' : false ,
21- 'openLabel' : 'Select'
22- } ) . then ( ( fileUri ) => postLocation ( fileUri , webPanel , 'setworkspace' ) ) ;
23- return ;
24- case 'browseTarget' :
25- vscode . window . showOpenDialog ( {
26- 'title' : 'Select target folder' ,
27- 'canSelectFolders' : true ,
28- 'canSelectFiles' : false ,
29- 'canSelectMany' : false ,
30- 'openLabel' : 'Select'
31- } ) . then ( ( fileUri ) => postLocation ( fileUri , webPanel , 'settarget' ) ) ;
32- return ;
33- case 'loadModules' : {
34- const bi : bazelproject . BazelProject = new bazelproject . BazelProject ( message . source , message . target ) ;
35- const modules : bazelmodule . BazelModule [ ] = bi . lookupModules ( ) ;
36- webPanel . webview . postMessage ( {
37- command : 'listModules' ,
38- data : modules
39- } ) ;
40- return ;
8+ export function handleMessages ( extCtx : vscode . ExtensionContext , webPanel : vscode . WebviewPanel | undefined , message : any ) {
9+ if ( webPanel ) {
10+ switch ( message . command ) {
11+ case 'importProject' : {
12+ const bi : bazelproject . BazelProject = new bazelproject . BazelProject ( message . source , message . target ) ;
13+ bi . openProject ( message . modules ) ;
14+ return ;
15+ }
16+ case 'browseWorkspace' :
17+ vscode . window . showOpenDialog ( {
18+ 'title' : 'Select WORKSPACE location' ,
19+ 'canSelectFolders' : false ,
20+ 'canSelectFiles' : true ,
21+ 'canSelectMany' : false ,
22+ 'openLabel' : 'Select'
23+ } ) . then ( ( fileUri ) => postLocation ( fileUri , webPanel , 'setworkspace' ) ) ;
24+ return ;
25+ case 'browseTarget' :
26+ vscode . window . showOpenDialog ( {
27+ 'title' : 'Select target folder' ,
28+ 'canSelectFolders' : true ,
29+ 'canSelectFiles' : false ,
30+ 'canSelectMany' : false ,
31+ 'openLabel' : 'Select'
32+ } ) . then ( ( fileUri ) => postLocation ( fileUri , webPanel , 'settarget' ) ) ;
33+ return ;
34+ case 'loadModules' : {
35+ const bi : bazelproject . BazelProject = new bazelproject . BazelProject ( message . source , message . target ) ;
36+ const modules : bazelmodule . BazelModule [ ] = bi . lookupModules ( ) ;
37+ webPanel . webview . postMessage ( {
38+ command : 'listModules' ,
39+ data : modules
40+ } ) ;
41+ return ;
42+ }
4143 }
4244 }
4345}
@@ -87,7 +89,7 @@ export function getWebviewContent(panel: vscode.WebviewPanel, extCtx: vscode.Ext
8789 <br>
8890 <div>
8991 <div>
90- <label for="filterModules">Filter modules:</label>
92+ <label for="filterModules">Filter modules by name :</label>
9193 <input type="text" id="filterModules" name="filterModules" style="width: 50%; height: 1.5em;" disabled>
9294 <button id="resetFilter" name="resetFilter" style="height: 1.5em;" disabled>Reset filter</button>
9395 </div>
@@ -96,6 +98,7 @@ export function getWebviewContent(panel: vscode.WebviewPanel, extCtx: vscode.Ext
9698 <label for="useSelected">Filter selected modules</label>
9799 </div>
98100 </div>
101+ <br>
99102 <hr>
100103
101104 <div id="moduleList" style="width: 100%; height: 50%; overflow-y: scroll;">
0 commit comments