From 77e591a6bb3afb54cc80220d7b81e4e3b2e3d4d3 Mon Sep 17 00:00:00 2001 From: Yanqing Dai Date: Fri, 24 Mar 2023 21:18:36 +0800 Subject: [PATCH] Fix JSON setting editor not opening issue (#6778) (#6795) --- app/package.json | 4 +--- packages/tree-extension/src/index.ts | 33 +++++++++++++++++++--------- 2 files changed, 24 insertions(+), 13 deletions(-) diff --git a/app/package.json b/app/package.json index 031d341d7..3bb3dffef 100644 --- a/app/package.json +++ b/app/package.json @@ -273,9 +273,7 @@ ], "@jupyter-notebook/tree-extension": true, "@jupyterlab/running-extension": true, - "@jupyterlab/settingeditor-extension": [ - "@jupyterlab/settingeditor-extension:form-ui" - ] + "@jupyterlab/settingeditor-extension": true }, "/notebooks": { "@jupyterlab/celltags-extension": true, diff --git a/packages/tree-extension/src/index.ts b/packages/tree-extension/src/index.ts index 948578dd1..4dec22eb4 100644 --- a/packages/tree-extension/src/index.ts +++ b/packages/tree-extension/src/index.ts @@ -24,7 +24,10 @@ import { ISettingRegistry } from '@jupyterlab/settingregistry'; import { IRunningSessionManagers, RunningSessions } from '@jupyterlab/running'; -import { ISettingEditorTracker } from '@jupyterlab/settingeditor'; +import { + IJSONSettingEditorTracker, + ISettingEditorTracker, +} from '@jupyterlab/settingeditor'; import { ITranslator } from '@jupyterlab/translation'; @@ -205,7 +208,11 @@ const notebookTreeWidget: JupyterFrontEndPlugin = { ISettingRegistry, IToolbarWidgetRegistry, ], - optional: [IRunningSessionManagers, ISettingEditorTracker], + optional: [ + IRunningSessionManagers, + ISettingEditorTracker, + IJSONSettingEditorTracker, + ], autoStart: true, provides: INotebookTree, activate: ( @@ -215,7 +222,8 @@ const notebookTreeWidget: JupyterFrontEndPlugin = { settingRegistry: ISettingRegistry, toolbarRegistry: IToolbarWidgetRegistry, manager: IRunningSessionManagers | null, - settingEditorTracker: ISettingEditorTracker | null + settingEditorTracker: ISettingEditorTracker | null, + jsonSettingEditorTracker: IJSONSettingEditorTracker | null ): INotebookTree => { const nbTreeWidget = new NotebookTreeWidget(); @@ -301,13 +309,18 @@ const notebookTreeWidget: JupyterFrontEndPlugin = { app.shell.add(nbTreeWidget, 'main', { rank: 100 }); - if (settingEditorTracker) { - settingEditorTracker.widgetAdded.connect((_, editor) => { - nbTreeWidget.addWidget(editor); - nbTreeWidget.tabBar.addTab(editor.title); - nbTreeWidget.currentWidget = editor; - }); - } + // add a separate tab for each setting editor + [settingEditorTracker, jsonSettingEditorTracker].forEach( + (editorTracker) => { + if (editorTracker) { + editorTracker.widgetAdded.connect((_, editor) => { + nbTreeWidget.addWidget(editor); + nbTreeWidget.tabBar.addTab(editor.title); + nbTreeWidget.currentWidget = editor; + }); + } + } + ); return nbTreeWidget; },