@@ -6,6 +6,7 @@ const vscode = acquireVsCodeApi();
66// data document vars
77let documentUrl = '' ;
88let fileName = '' ;
9+ let saveDataFileName = '' ;
910
1011// table view vars
1112let tableContainer , table , progressRing , saveFileTypeSelector ;
@@ -187,9 +188,15 @@ function loadData(tableData, documentUrl) {
187188 downloadReady : function ( fileContents , blob ) {
188189 // fileContents - unencoded contents of the file to save
189190 // blob - blob object for data file download/save
190- console . log ( fileContents ) ;
191+ // console.log(fileContents);
191192
192- // TODO: save data via vscode workspace.fs api
193+ // request data file save
194+ vscode . postMessage ( {
195+ command : 'saveData' ,
196+ data : fileContents ,
197+ dataFileType : saveFileTypeSelector . value ,
198+ dataFileName : saveDataFileName
199+ } ) ;
193200
194201 // Note: this must return a blob to proceed with the download in a browser,
195202 // or false to abort download and handle it in table view extension with workspace.fs
@@ -240,13 +247,14 @@ function addData(table, tableData) {
240247}
241248
242249/**
243- * Saves table data.
250+ * Saves table data as CSV or JSON for now .
244251 */
245252function saveData ( ) {
246253 const dataFileType = saveFileTypeSelector . value ;
247254 const dataFileName = fileName . substring ( 0 , fileName . lastIndexOf ( '.' ) + 1 ) ;
248- console . log ( 'tabView:saveData(): saving data:' , dataFileName + dataFileType ) ;
249- table . download ( dataFileType , dataFileName + dataFileType ) ;
255+ saveDataFileName = dataFileName + dataFileType ;
256+ console . log ( 'tabView:saveData(): saving data:' , saveDataFileName ) ;
257+ table . download ( dataFileType , saveDataFileName ) ;
250258}
251259
252260/**
0 commit comments