Skip to content

Commit dc05040

Browse files
Move the logics to add a drive filebrowser in a command named AddDriveBrowser.
1 parent ab4b36f commit dc05040

File tree

1 file changed

+51
-44
lines changed

1 file changed

+51
-44
lines changed

src/index.ts

Lines changed: 51 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,8 @@ const FILE_BROWSER_FACTORY = 'FileBrowser';
3333
const FILE_BROWSER_PLUGIN_ID = '@jupyter/drives:widget';
3434

3535
namespace CommandIDs {
36-
export const removeDriveBrowser = 'drives:remove-drive';
36+
export const addDriveBrowser = 'drives:add-drive-browser';
37+
export const removeDriveBrowser = 'drives:remove-drive-browser';
3738
}
3839

3940
/**
@@ -95,52 +96,58 @@ export async function activateAddDrivesPlugin(
9596
return name;
9697
}
9798

98-
function createSidePanel(driveName: string) {
99-
const panel = new SidePanel();
100-
panel.title.icon = DriveIcon;
101-
panel.title.iconClass = 'jp-SideBar-tabIcon';
102-
panel.title.caption = 'Browse Drives';
103-
panel.id = camelCaseToDashedCase(driveName) + '-file-browser';
104-
app.shell.add(panel, 'left', { rank: 102 });
105-
if (restorer) {
106-
restorer.add(panel, driveName + '-browser');
107-
}
108-
app.contextMenu.addItem({
109-
command: CommandIDs.removeDriveBrowser,
110-
selector: `.jp-SideBar.lm-TabBar .lm-TabBar-tab[data-id=${panel.id}]`,
111-
rank: 0
112-
});
99+
app.commands.addCommand(CommandIDs.addDriveBrowser, {
100+
execute: args => {
101+
function createSidePanel(driveName: string) {
102+
const panel = new SidePanel();
103+
panel.title.icon = DriveIcon;
104+
panel.title.iconClass = 'jp-SideBar-tabIcon';
105+
panel.title.caption = 'Browse Drives';
106+
panel.id = camelCaseToDashedCase(driveName) + '-file-browser';
107+
app.shell.add(panel, 'left', { rank: 102 });
108+
if (restorer) {
109+
restorer.add(panel, driveName + '-browser');
110+
}
111+
app.contextMenu.addItem({
112+
command: CommandIDs.removeDriveBrowser,
113+
selector: `.jp-SideBar.lm-TabBar .lm-TabBar-tab[data-id=${panel.id}]`,
114+
rank: 0
115+
});
113116

114-
return panel;
115-
}
116-
const PanelDriveBrowserMap = new Map<FileBrowser, SidePanel>();
117-
function addDriveToPanel(
118-
drive: Drive,
119-
factory: IFileBrowserFactory
120-
): Map<FileBrowser, SidePanel> {
121-
const driveBrowser = factory.createFileBrowser('drive-browser', {
122-
driveName: drive.name
123-
});
124-
const panel = createSidePanel(drive.name);
125-
PanelDriveBrowserMap.set(driveBrowser, panel);
126-
panel.addWidget(driveBrowser);
127-
factory.tracker.add(driveBrowser);
117+
return panel;
118+
}
119+
const PanelDriveBrowserMap = new Map<FileBrowser, SidePanel>();
120+
function addDriveToPanel(
121+
drive: Drive,
122+
factory: IFileBrowserFactory
123+
): Map<FileBrowser, SidePanel> {
124+
const driveBrowser = factory.createFileBrowser('drive-browser', {
125+
driveName: drive.name
126+
});
127+
const panel = createSidePanel(drive.name);
128+
PanelDriveBrowserMap.set(driveBrowser, panel);
129+
panel.addWidget(driveBrowser);
130+
factory.tracker.add(driveBrowser);
128131

129-
setToolbar(
130-
panel,
131-
createToolbarFactory(
132-
toolbarRegistry,
133-
settingRegistry,
134-
FILE_BROWSER_FACTORY,
135-
FILE_BROWSER_PLUGIN_ID,
136-
translator
137-
)
138-
);
139-
return PanelDriveBrowserMap;
140-
}
132+
setToolbar(
133+
panel,
134+
createToolbarFactory(
135+
toolbarRegistry,
136+
settingRegistry,
137+
FILE_BROWSER_FACTORY,
138+
FILE_BROWSER_PLUGIN_ID,
139+
translator
140+
)
141+
);
142+
return PanelDriveBrowserMap;
143+
}
141144

142-
driveList.forEach(drive => {
143-
addDriveToPanel(drive, factory);
145+
driveList.forEach(drive => {
146+
addDriveToPanel(drive, factory);
147+
});
148+
},
149+
caption: trans.__('Add drive filebrowser.'),
150+
label: trans.__('Add Drive Filebrowser')
144151
});
145152

146153
function test(node: HTMLElement): boolean {

0 commit comments

Comments
 (0)