@@ -33,7 +33,8 @@ const FILE_BROWSER_FACTORY = 'FileBrowser';
33
33
const FILE_BROWSER_PLUGIN_ID = '@jupyter/drives:widget' ;
34
34
35
35
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' ;
37
38
}
38
39
39
40
/**
@@ -95,52 +96,58 @@ export async function activateAddDrivesPlugin(
95
96
return name ;
96
97
}
97
98
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
+ } ) ;
113
116
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 ) ;
128
131
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
+ }
141
144
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' )
144
151
} ) ;
145
152
146
153
function test ( node : HTMLElement ) : boolean {
0 commit comments