Skip to content

Commit 55b7137

Browse files
committed
Code refctoring
1 parent b7e21f1 commit 55b7137

File tree

1 file changed

+70
-72
lines changed

1 file changed

+70
-72
lines changed

packages/tree-extension/src/index.ts

+70-72
Original file line numberDiff line numberDiff line change
@@ -94,77 +94,6 @@ const createNew: JupyterFrontEndPlugin<void> = {
9494
}
9595
};
9696

97-
function activateNotebookTreeWidget(
98-
app: JupyterFrontEnd,
99-
factory: IFileBrowserFactory,
100-
translator: ITranslator,
101-
settingRegistry: ISettingRegistry,
102-
toolbarRegistry: IToolbarWidgetRegistry,
103-
manager: IRunningSessionManagers | null
104-
): INotebookTree {
105-
const nbTreeWidget = new NotebookTreeWidget();
106-
107-
const trans = translator.load('notebook');
108-
109-
const { defaultBrowser: browser } = factory;
110-
browser.title.label = trans.__('Files');
111-
browser.node.setAttribute('role', 'region');
112-
browser.node.setAttribute('aria-label', trans.__('File Browser Section'));
113-
browser.title.icon = folderIcon;
114-
115-
nbTreeWidget.addWidget(browser);
116-
nbTreeWidget.tabBar.addTab(browser.title);
117-
118-
// Toolbar
119-
toolbarRegistry.addFactory(
120-
FILE_BROWSER_FACTORY,
121-
'uploader',
122-
(browser: FileBrowser) =>
123-
new Uploader({
124-
model: browser.model,
125-
translator,
126-
label: trans.__('Upload')
127-
})
128-
);
129-
130-
setToolbar(
131-
browser,
132-
createToolbarFactory(
133-
toolbarRegistry,
134-
settingRegistry,
135-
FILE_BROWSER_FACTORY,
136-
notebookTreeWidget.id,
137-
translator
138-
)
139-
);
140-
141-
if (manager) {
142-
const running = new RunningSessions(manager, translator);
143-
running.id = 'jp-running-sessions';
144-
running.title.label = trans.__('Running');
145-
running.title.icon = runningIcon;
146-
nbTreeWidget.addWidget(running);
147-
nbTreeWidget.tabBar.addTab(running.title);
148-
}
149-
150-
// show checkboxes by default if there is no user setting override
151-
const settings = settingRegistry.load(FILE_BROWSER_PLUGIN_ID);
152-
Promise.all([settings, app.restored])
153-
.then(([settings]) => {
154-
if (settings.user.showFileCheckboxes !== undefined) {
155-
return;
156-
}
157-
void settings.set('showFileCheckboxes', true);
158-
})
159-
.catch((reason: Error) => {
160-
console.error(reason.message);
161-
});
162-
163-
app.shell.add(nbTreeWidget, 'main', { rank: 100 });
164-
165-
return nbTreeWidget;
166-
}
167-
16897
/**
16998
* A plugin to add the file browser widget to an INotebookShell
17099
*/
@@ -179,7 +108,76 @@ const notebookTreeWidget: JupyterFrontEndPlugin<INotebookTree> = {
179108
optional: [IRunningSessionManagers],
180109
autoStart: true,
181110
provides: INotebookTree,
182-
activate: activateNotebookTreeWidget
111+
activate: (
112+
app: JupyterFrontEnd,
113+
factory: IFileBrowserFactory,
114+
translator: ITranslator,
115+
settingRegistry: ISettingRegistry,
116+
toolbarRegistry: IToolbarWidgetRegistry,
117+
manager: IRunningSessionManagers | null
118+
): INotebookTree => {
119+
const nbTreeWidget = new NotebookTreeWidget();
120+
121+
const trans = translator.load('notebook');
122+
123+
const { defaultBrowser: browser } = factory;
124+
browser.title.label = trans.__('Files');
125+
browser.node.setAttribute('role', 'region');
126+
browser.node.setAttribute('aria-label', trans.__('File Browser Section'));
127+
browser.title.icon = folderIcon;
128+
129+
nbTreeWidget.addWidget(browser);
130+
nbTreeWidget.tabBar.addTab(browser.title);
131+
132+
// Toolbar
133+
toolbarRegistry.addFactory(
134+
FILE_BROWSER_FACTORY,
135+
'uploader',
136+
(browser: FileBrowser) =>
137+
new Uploader({
138+
model: browser.model,
139+
translator,
140+
label: trans.__('Upload')
141+
})
142+
);
143+
144+
setToolbar(
145+
browser,
146+
createToolbarFactory(
147+
toolbarRegistry,
148+
settingRegistry,
149+
FILE_BROWSER_FACTORY,
150+
notebookTreeWidget.id,
151+
translator
152+
)
153+
);
154+
155+
if (manager) {
156+
const running = new RunningSessions(manager, translator);
157+
running.id = 'jp-running-sessions';
158+
running.title.label = trans.__('Running');
159+
running.title.icon = runningIcon;
160+
nbTreeWidget.addWidget(running);
161+
nbTreeWidget.tabBar.addTab(running.title);
162+
}
163+
164+
// show checkboxes by default if there is no user setting override
165+
const settings = settingRegistry.load(FILE_BROWSER_PLUGIN_ID);
166+
Promise.all([settings, app.restored])
167+
.then(([settings]) => {
168+
if (settings.user.showFileCheckboxes !== undefined) {
169+
return;
170+
}
171+
void settings.set('showFileCheckboxes', true);
172+
})
173+
.catch((reason: Error) => {
174+
console.error(reason.message);
175+
});
176+
177+
app.shell.add(nbTreeWidget, 'main', { rank: 100 });
178+
179+
return nbTreeWidget;
180+
}
183181
};
184182

185183
/**

0 commit comments

Comments
 (0)