@@ -18,6 +18,7 @@ import {
1818 FileBrowser ,
1919 Uploader ,
2020 IDefaultFileBrowser ,
21+ IFileBrowserFactory ,
2122} from '@jupyterlab/filebrowser' ;
2223
2324import { ISettingRegistry } from '@jupyterlab/settingregistry' ;
@@ -263,6 +264,7 @@ const notebookTreeWidget: JupyterFrontEndPlugin<INotebookTree> = {
263264 ITranslator ,
264265 ISettingRegistry ,
265266 IToolbarWidgetRegistry ,
267+ IFileBrowserFactory ,
266268 ] ,
267269 optional : [
268270 IRunningSessionManagers ,
@@ -277,6 +279,7 @@ const notebookTreeWidget: JupyterFrontEndPlugin<INotebookTree> = {
277279 translator : ITranslator ,
278280 settingRegistry : ISettingRegistry ,
279281 toolbarRegistry : IToolbarWidgetRegistry ,
282+ factory : IFileBrowserFactory ,
280283 manager : IRunningSessionManagers | null ,
281284 settingEditorTracker : ISettingEditorTracker | null ,
282285 jsonSettingEditorTracker : IJSONSettingEditorTracker | null
@@ -381,6 +384,21 @@ const notebookTreeWidget: JupyterFrontEndPlugin<INotebookTree> = {
381384 }
382385 ) ;
383386
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+
384402 return nbTreeWidget ;
385403 } ,
386404} ;
0 commit comments