@@ -18,6 +18,7 @@ import {
18
18
FileBrowser ,
19
19
Uploader ,
20
20
IDefaultFileBrowser ,
21
+ IFileBrowserFactory ,
21
22
} from '@jupyterlab/filebrowser' ;
22
23
23
24
import { ISettingRegistry } from '@jupyterlab/settingregistry' ;
@@ -263,6 +264,7 @@ const notebookTreeWidget: JupyterFrontEndPlugin<INotebookTree> = {
263
264
ITranslator ,
264
265
ISettingRegistry ,
265
266
IToolbarWidgetRegistry ,
267
+ IFileBrowserFactory ,
266
268
] ,
267
269
optional : [
268
270
IRunningSessionManagers ,
@@ -277,6 +279,7 @@ const notebookTreeWidget: JupyterFrontEndPlugin<INotebookTree> = {
277
279
translator : ITranslator ,
278
280
settingRegistry : ISettingRegistry ,
279
281
toolbarRegistry : IToolbarWidgetRegistry ,
282
+ factory : IFileBrowserFactory ,
280
283
manager : IRunningSessionManagers | null ,
281
284
settingEditorTracker : ISettingEditorTracker | null ,
282
285
jsonSettingEditorTracker : IJSONSettingEditorTracker | null
@@ -381,6 +384,21 @@ const notebookTreeWidget: JupyterFrontEndPlugin<INotebookTree> = {
381
384
}
382
385
) ;
383
386
387
+ const { tracker } = factory ;
388
+
389
+ // TODO: remove
390
+ // Workaround to force the focus on the default file browser
391
+ // See https://github.com/jupyterlab/jupyterlab/issues/15629 for more info
392
+ const setCurrentToDefaultBrower = ( ) => {
393
+ tracker [ '_pool' ] . current = browser ;
394
+ } ;
395
+
396
+ tracker . widgetAdded . connect ( ( sender , widget ) =>
397
+ setCurrentToDefaultBrower ( )
398
+ ) ;
399
+
400
+ setCurrentToDefaultBrower ( ) ;
401
+
384
402
return nbTreeWidget ;
385
403
} ,
386
404
} ;
0 commit comments