@@ -50,6 +50,7 @@ export class TableView {
5050 private _totalRows : number = 0 ;
5151 private _loadTime : number = 0 ; // load time in milliseconds
5252 private _loadedDataPage : number = 0 ;
53+ private _tableConfig : any = { } ;
5354
5455
5556 // TODO: move the settings below to tabular data viewer config options later
@@ -65,8 +66,10 @@ export class TableView {
6566 * @param extensionUri Extension directory Uri.
6667 * @param documentUri Data document Uri.
6768 * @param webviewPanel Optional webview panel instance.
69+ * @param tableConfig Table view config to restore.
6870 */
69- public static render ( extensionUri : Uri , documentUri : Uri , webviewPanel ?: WebviewPanel ) {
71+ public static render ( extensionUri : Uri , documentUri : Uri ,
72+ webviewPanel ?: WebviewPanel , tableConfig ?: any ) {
7073 // create table view Uri
7174 const viewUri : Uri = documentUri . with ( { scheme : 'tabular-data' } ) ;
7275 console . log ( 'tabular.data.view:render(): loading table view:' , viewUri . toString ( true ) ) ; // skip encoding
@@ -97,7 +100,7 @@ export class TableView {
97100 path . join ( extensionUri . fsPath , './resources/icons/tabular-data-viewer.svg' ) ) ;
98101
99102 // set as current table view
100- TableView . currentView = new TableView ( webviewPanel , extensionUri , documentUri ) ;
103+ TableView . currentView = new TableView ( webviewPanel , extensionUri , documentUri , tableConfig ) ;
101104 }
102105 }
103106
@@ -131,11 +134,20 @@ export class TableView {
131134 * @param webviewPanel Reference to the webview panel.
132135 * @param extensionUri Extension directory Uri.
133136 * @param documentUri Data document Uri.
137+ * @param tableConfig Optional table view config to restore.
134138 */
135- private constructor ( webviewPanel : WebviewPanel , extensionUri : Uri , documentUri : Uri ) {
139+ private constructor ( webviewPanel : WebviewPanel , extensionUri : Uri ,
140+ documentUri : Uri , tableConfig ?: any ) {
141+
142+ // save webview panel and extension uri
136143 this . _webviewPanel = webviewPanel ;
137144 this . _extensionUri = extensionUri ;
138145
146+ if ( tableConfig ) {
147+ // save table view config to restore
148+ this . _tableConfig = tableConfig ;
149+ }
150+
139151 // create new file info for the data source
140152 this . _fileInfo = new FileInfo ( documentUri ) ;
141153 statusBar . showFileStats ( this . _fileInfo ) ;
@@ -234,6 +246,7 @@ export class TableView {
234246 /*
235247 this.webviewPanel.webview.postMessage({
236248 command: 'createTable',
249+ tableConfig: this._tableConfig,
237250 tableSchema: this._tableSchema
238251 }); */
239252
@@ -323,6 +336,7 @@ export class TableView {
323336 command : 'refresh' ,
324337 fileName : this . _fileInfo . fileName ,
325338 documentUrl : this . _fileInfo . fileUri . toString ( ) ,
339+ tableConfig : this . _tableConfig ,
326340 tableSchema : this . _tableSchema ,
327341 totalRows : this . _totalRows ,
328342 tableData : initialDataRows
0 commit comments