@@ -45,6 +45,7 @@ import { Menu, MenuBar } from '@lumino/widgets';
45
45
import { NotebookTreeWidget , INotebookTree } from '@jupyter-notebook/tree' ;
46
46
47
47
import { FilesActionButtons } from './fileactions' ;
48
+ import { IStateDB } from '@jupyterlab/statedb' ;
48
49
49
50
/**
50
51
* The file browser factory.
@@ -277,6 +278,7 @@ const notebookTreeWidget: JupyterFrontEndPlugin<INotebookTree> = {
277
278
ISettingRegistry ,
278
279
IToolbarWidgetRegistry ,
279
280
IFileBrowserFactory ,
281
+ IStateDB ,
280
282
] ,
281
283
optional : [
282
284
IRunningSessionManagers ,
@@ -292,6 +294,7 @@ const notebookTreeWidget: JupyterFrontEndPlugin<INotebookTree> = {
292
294
settingRegistry : ISettingRegistry ,
293
295
toolbarRegistry : IToolbarWidgetRegistry ,
294
296
factory : IFileBrowserFactory ,
297
+ stateDB : IStateDB ,
295
298
manager : IRunningSessionManagers | null ,
296
299
settingEditorTracker : ISettingEditorTracker | null ,
297
300
jsonSettingEditorTracker : IJSONSettingEditorTracker | null
@@ -389,6 +392,21 @@ const notebookTreeWidget: JupyterFrontEndPlugin<INotebookTree> = {
389
392
390
393
setCurrentToDefaultBrower ( ) ;
391
394
395
+ // TODO: remove?
396
+ // provide some default state so the file browser widths are consistent and predictable
397
+ stateDB
398
+ . save ( 'file-browser-filebrowser:columns' , {
399
+ sizes : {
400
+ name : 556.328125 ,
401
+ file_size : 144.20312499999983 ,
402
+ is_selected : 18 ,
403
+ last_modified : 355.46875000000017 ,
404
+ } ,
405
+ } )
406
+ . then ( async ( ) => {
407
+ await browser [ 'listing' ] . restore ( 'filebrowser' ) ;
408
+ } ) ;
409
+
392
410
return nbTreeWidget ;
393
411
} ,
394
412
} ;
0 commit comments