@jupyterlab/filebrowser-extension 0.15.5 → 0.16.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.js CHANGED
@@ -95,10 +95,8 @@ function activateFactory(app, docManager, state) {
95
95
  node.addEventListener('contextmenu', function (event) {
96
96
  event.preventDefault();
97
97
  var model = widget.modelForClick(event);
98
- if (model) {
99
- var menu = createContextMenu(model, commands, registry);
100
- menu.open(event.clientX, event.clientY);
101
- }
98
+ var menu = createContextMenu(model, commands, registry);
99
+ menu.open(event.clientX, event.clientY);
102
100
  });
103
101
  // Track the newly created file browser.
104
102
  tracker.add(widget);
@@ -309,9 +307,15 @@ function addCommands(app, tracker, browser) {
309
307
  * commands are disposed when the menu itself is disposed.
310
308
  */
311
309
  function createContextMenu(model, commands, registry) {
312
- var path = model.path;
313
310
  var menu = new widgets_1.Menu({ commands: commands });
311
+ // If the user did not click on any file, we still want to show
312
+ // paste as a possibility.
313
+ if (!model) {
314
+ menu.addItem({ command: CommandIDs.paste });
315
+ return menu;
316
+ }
314
317
  menu.addItem({ command: CommandIDs.open });
318
+ var path = model.path;
315
319
  if (model.type !== 'directory') {
316
320
  var factories = registry.preferredWidgetFactories(path).map(function (f) { return f.name; });
317
321
  if (path && factories.length > 1) {
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../filebrowser-extension/src/index.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\nimport {\n ILayoutRestorer, JupyterLab, JupyterLabPlugin\n} from '@jupyterlab/application';\n\nimport {\n Clipboard, InstanceTracker, ToolbarButton\n} from '@jupyterlab/apputils';\n\nimport {\n IStateDB, PageConfig, PathExt, URLExt\n} from '@jupyterlab/coreutils';\n\nimport {\n IDocumentManager\n} from '@jupyterlab/docmanager';\n\nimport {\n DocumentRegistry\n} from '@jupyterlab/docregistry';\n\nimport {\n FileBrowserModel, FileBrowser, IFileBrowserFactory\n} from '@jupyterlab/filebrowser';\n\nimport {\n Launcher\n} from '@jupyterlab/launcher';\n\nimport {\n Contents\n} from '@jupyterlab/services';\n\nimport {\n map, toArray\n} from '@phosphor/algorithm';\n\nimport {\n CommandRegistry\n} from '@phosphor/commands';\n\nimport {\n Menu\n} from '@phosphor/widgets';\n\n\n/**\n * The command IDs used by the file browser plugin.\n */\nnamespace CommandIDs {\n export\n const copy = 'filebrowser:copy';\n\n // For main browser only.\n export\n const createLauncher = 'filebrowser:create-main-launcher';\n\n export\n const cut = 'filebrowser:cut';\n\n export\n const del = 'filebrowser:delete';\n\n export\n const download = 'filebrowser:download';\n\n export\n const duplicate = 'filebrowser:duplicate';\n\n // For main browser only.\n export\n const hideBrowser = 'filebrowser:hide-main';\n\n // For main browser only.\n export\n const navigate = 'filebrowser:navigate-main';\n\n export\n const open = 'filebrowser:open';\n\n export\n const paste = 'filebrowser:paste';\n\n export\n const rename = 'filebrowser:rename';\n\n // For main browser only.\n export\n const share = 'filebrowser:share-main';\n\n // For main browser only.\n export\n const showBrowser = 'filebrowser:activate-main';\n\n export\n const shutdown = 'filebrowser:shutdown';\n\n // For main browser only.\n export\n const toggleBrowser = 'filebrowser:toggle-main';\n}\n\n\n/**\n * The default file browser extension.\n */\nconst browser: JupyterLabPlugin<void> = {\n activate: activateBrowser,\n id: '@jupyterlab/filebrowser-extension:browser',\n requires: [IFileBrowserFactory, ILayoutRestorer],\n autoStart: true\n};\n\n/**\n * The default file browser factory provider.\n */\nconst factory: JupyterLabPlugin<IFileBrowserFactory> = {\n activate: activateFactory,\n id: '@jupyterlab/filebrowser-extension:factory',\n provides: IFileBrowserFactory,\n requires: [IDocumentManager, IStateDB]\n};\n\n/**\n * The file browser namespace token.\n */\nconst namespace = 'filebrowser';\n\n/**\n * Export the plugins as default.\n */\nconst plugins: JupyterLabPlugin<any>[] = [factory, browser];\nexport default plugins;\n\n\n/**\n * Activate the file browser factory provider.\n */\nfunction activateFactory(app: JupyterLab, docManager: IDocumentManager, state: IStateDB): IFileBrowserFactory {\n const { commands } = app;\n const tracker = new InstanceTracker<FileBrowser>({ namespace });\n const createFileBrowser = (id: string, options: IFileBrowserFactory.IOptions = { }) => {\n const model = new FileBrowserModel({\n manager: docManager,\n driveName: options.driveName || '',\n state: options.state === null ? null : options.state || state\n });\n const widget = new FileBrowser({\n id, model, commands: options.commands || commands\n });\n const { registry } = docManager;\n\n // Add a launcher toolbar item.\n let launcher = new ToolbarButton({\n className: 'jp-AddIcon',\n onClick: () => {\n return createLauncher(commands, widget);\n },\n tooltip: 'New Launcher'\n });\n launcher.addClass('jp-MaterialIcon');\n widget.toolbar.insertItem(0, 'launch', launcher);\n\n // Add a context menu handler to the file browser's directory listing.\n let node = widget.node.getElementsByClassName('jp-DirListing-content')[0];\n node.addEventListener('contextmenu', (event: MouseEvent) => {\n event.preventDefault();\n const model = widget.modelForClick(event);\n if (model) {\n const menu = createContextMenu(model, commands, registry);\n menu.open(event.clientX, event.clientY);\n }\n });\n\n // Track the newly created file browser.\n tracker.add(widget);\n\n return widget;\n };\n const defaultBrowser = createFileBrowser('filebrowser');\n\n return { createFileBrowser, defaultBrowser, tracker };\n}\n\n\n/**\n * Activate the default file browser in the sidebar.\n */\nfunction activateBrowser(app: JupyterLab, factory: IFileBrowserFactory, restorer: ILayoutRestorer): void {\n const browser = factory.defaultBrowser;\n const { commands, shell } = app;\n\n // Let the application restorer track the primary file browser (that is\n // automatically created) for restoration of application state (e.g. setting\n // the file browser as the current side bar widget).\n //\n // All other file browsers created by using the factory function are\n // responsible for their own restoration behavior, if any.\n restorer.add(browser, namespace);\n\n addCommands(app, factory.tracker, browser);\n\n browser.title.label = 'Files';\n shell.addToLeftArea(browser, { rank: 100 });\n\n // If the layout is a fresh session without saved data, open file browser.\n app.restored.then(layout => {\n if (layout.fresh) {\n commands.execute(CommandIDs.showBrowser, void 0);\n }\n });\n\n Promise.all([app.restored, browser.model.restored]).then(() => {\n function maybeCreate() {\n // Create a launcher if there are no open items.\n if (app.shell.isEmpty('main')) {\n createLauncher(commands, browser);\n }\n }\n\n // When layout is modified, create a launcher if there are no open items.\n shell.layoutModified.connect(() => { maybeCreate(); });\n maybeCreate();\n });\n}\n\n\n/**\n * Add the main file browser commands to the application's command registry.\n */\nfunction addCommands(app: JupyterLab, tracker: InstanceTracker<FileBrowser>, browser: FileBrowser): void {\n const { commands } = app;\n\n commands.addCommand(CommandIDs.del, {\n execute: () => {\n const widget = tracker.currentWidget;\n\n if (widget) {\n return widget.delete();\n }\n },\n iconClass: 'jp-MaterialIcon jp-CloseIcon',\n label: 'Delete',\n mnemonic: 0\n });\n\n commands.addCommand(CommandIDs.copy, {\n execute: () => {\n const widget = tracker.currentWidget;\n\n if (widget) {\n return widget.copy();\n }\n },\n iconClass: 'jp-MaterialIcon jp-CopyIcon',\n label: 'Copy',\n mnemonic: 0\n });\n\n commands.addCommand(CommandIDs.cut, {\n execute: () => {\n const widget = tracker.currentWidget;\n\n if (widget) {\n return widget.cut();\n }\n },\n iconClass: 'jp-MaterialIcon jp-CutIcon',\n label: 'Cut'\n });\n\n commands.addCommand(CommandIDs.download, {\n execute: () => {\n const widget = tracker.currentWidget;\n\n if (widget) {\n return widget.download();\n }\n },\n iconClass: 'jp-MaterialIcon jp-DownloadIcon',\n label: 'Download'\n });\n\n commands.addCommand(CommandIDs.duplicate, {\n execute: () => {\n const widget = tracker.currentWidget;\n\n if (widget) {\n return widget.duplicate();\n }\n },\n iconClass: 'jp-MaterialIcon jp-CopyIcon',\n label: 'Duplicate'\n });\n\n commands.addCommand(CommandIDs.hideBrowser, {\n execute: () => {\n if (!browser.isHidden) {\n app.shell.collapseLeft();\n }\n }\n });\n\n commands.addCommand(CommandIDs.navigate, {\n execute: args => {\n const path = args.path as string || '';\n const services = app.serviceManager;\n const open = 'docmanager:open';\n const failure = (reason: any) => {\n console.warn(`${CommandIDs.navigate} failed to open: ${path}`, reason);\n };\n\n return services.ready\n .then(() => services.contents.get(path))\n .then(value => {\n const { model } = browser;\n const { restored } = model;\n\n if (value.type === 'directory') {\n return restored.then(() => model.cd(`/${path}`));\n }\n\n return restored.then(() => model.cd(`/${PathExt.dirname(path)}`))\n .then(() => commands.execute(open, { path }));\n }).catch(failure);\n }\n });\n\n commands.addCommand(CommandIDs.open, {\n execute: () => {\n const widget = tracker.currentWidget;\n\n if (!widget) {\n return;\n }\n\n return Promise.all(toArray(map(widget.selectedItems(), item => {\n if (item.type === 'directory') {\n return widget.model.cd(item.path);\n }\n\n return commands.execute('docmanager:open', { path: item.path });\n })));\n },\n iconClass: 'jp-MaterialIcon jp-OpenFolderIcon',\n label: 'Open',\n mnemonic: 0\n });\n\n commands.addCommand(CommandIDs.paste, {\n execute: () => {\n const widget = tracker.currentWidget;\n\n if (widget) {\n return widget.paste();\n }\n },\n iconClass: 'jp-MaterialIcon jp-PasteIcon',\n label: 'Paste',\n mnemonic: 0\n });\n\n commands.addCommand(CommandIDs.rename, {\n execute: (args) => {\n const widget = tracker.currentWidget;\n\n if (widget) {\n return widget.rename();\n }\n },\n iconClass: 'jp-MaterialIcon jp-EditIcon',\n label: 'Rename',\n mnemonic: 0\n });\n\n commands.addCommand(CommandIDs.share, {\n execute: () => {\n const path = encodeURIComponent(browser.selectedItems().next().path);\n const tree = PageConfig.getTreeUrl();\n\n Clipboard.copyToSystem(URLExt.join(tree, path));\n },\n isVisible: () => toArray(browser.selectedItems()).length === 1,\n iconClass: 'jp-MaterialIcon jp-LinkIcon',\n label: 'Copy Shareable Link'\n });\n\n commands.addCommand(CommandIDs.showBrowser, {\n execute: () => { app.shell.activateById(browser.id); }\n });\n\n commands.addCommand(CommandIDs.shutdown, {\n execute: () => {\n const widget = tracker.currentWidget;\n\n if (widget) {\n return widget.shutdownKernels();\n }\n },\n iconClass: 'jp-MaterialIcon jp-StopIcon',\n label: 'Shutdown Kernel'\n });\n\n commands.addCommand(CommandIDs.toggleBrowser, {\n execute: () => {\n if (browser.isHidden) {\n return commands.execute(CommandIDs.showBrowser, void 0);\n }\n\n return commands.execute(CommandIDs.hideBrowser, void 0);\n }\n });\n\n commands.addCommand(CommandIDs.createLauncher, {\n label: 'New Launcher',\n execute: () => createLauncher(commands, browser)\n });\n}\n\n\n/**\n * Create a context menu for the file browser listing.\n *\n * #### Notes\n * This function generates temporary commands with an incremented name. These\n * commands are disposed when the menu itself is disposed.\n */\nfunction createContextMenu(model: Contents.IModel, commands: CommandRegistry, registry: DocumentRegistry): Menu {\n const path = model.path;\n const menu = new Menu({ commands });\n\n menu.addItem({ command: CommandIDs.open });\n\n if (model.type !== 'directory') {\n const factories = registry.preferredWidgetFactories(path).map(f => f.name);\n if (path && factories.length > 1) {\n const command = 'docmanager:open';\n const openWith = new Menu({ commands });\n openWith.title.label = 'Open With';\n factories.forEach(factory => {\n openWith.addItem({ args: { factory, path }, command });\n });\n menu.addItem({ type: 'submenu', submenu: openWith });\n }\n }\n\n menu.addItem({ command: CommandIDs.rename });\n menu.addItem({ command: CommandIDs.del });\n menu.addItem({ command: CommandIDs.cut });\n\n if (model.type !== 'directory') {\n menu.addItem({ command: CommandIDs.copy });\n }\n\n menu.addItem({ command: CommandIDs.paste });\n\n if (model.type !== 'directory') {\n menu.addItem({ command: CommandIDs.duplicate });\n menu.addItem({ command: CommandIDs.download });\n menu.addItem({ command: CommandIDs.shutdown });\n }\n\n menu.addItem({ command: CommandIDs.share });\n\n return menu;\n}\n\n\n/**\n * Create a launcher for a given filebrowser widget.\n */\nfunction createLauncher(commands: CommandRegistry, browser: FileBrowser): Promise<Launcher> {\n const { model } = browser;\n\n return commands.execute('launcher:create', { cwd: model.path })\n .then((launcher: Launcher) => {\n model.pathChanged.connect(() => { launcher.cwd = model.path; }, launcher);\n return launcher;\n });\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../filebrowser-extension/src/index.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\nimport {\n ILayoutRestorer, JupyterLab, JupyterLabPlugin\n} from '@jupyterlab/application';\n\nimport {\n Clipboard, InstanceTracker, ToolbarButton\n} from '@jupyterlab/apputils';\n\nimport {\n IStateDB, PageConfig, PathExt, URLExt\n} from '@jupyterlab/coreutils';\n\nimport {\n IDocumentManager\n} from '@jupyterlab/docmanager';\n\nimport {\n DocumentRegistry\n} from '@jupyterlab/docregistry';\n\nimport {\n FileBrowserModel, FileBrowser, IFileBrowserFactory\n} from '@jupyterlab/filebrowser';\n\nimport {\n Launcher\n} from '@jupyterlab/launcher';\n\nimport {\n Contents\n} from '@jupyterlab/services';\n\nimport {\n map, toArray\n} from '@phosphor/algorithm';\n\nimport {\n CommandRegistry\n} from '@phosphor/commands';\n\nimport {\n Menu\n} from '@phosphor/widgets';\n\n\n/**\n * The command IDs used by the file browser plugin.\n */\nnamespace CommandIDs {\n export\n const copy = 'filebrowser:copy';\n\n // For main browser only.\n export\n const createLauncher = 'filebrowser:create-main-launcher';\n\n export\n const cut = 'filebrowser:cut';\n\n export\n const del = 'filebrowser:delete';\n\n export\n const download = 'filebrowser:download';\n\n export\n const duplicate = 'filebrowser:duplicate';\n\n // For main browser only.\n export\n const hideBrowser = 'filebrowser:hide-main';\n\n // For main browser only.\n export\n const navigate = 'filebrowser:navigate-main';\n\n export\n const open = 'filebrowser:open';\n\n export\n const paste = 'filebrowser:paste';\n\n export\n const rename = 'filebrowser:rename';\n\n // For main browser only.\n export\n const share = 'filebrowser:share-main';\n\n // For main browser only.\n export\n const showBrowser = 'filebrowser:activate-main';\n\n export\n const shutdown = 'filebrowser:shutdown';\n\n // For main browser only.\n export\n const toggleBrowser = 'filebrowser:toggle-main';\n}\n\n\n/**\n * The default file browser extension.\n */\nconst browser: JupyterLabPlugin<void> = {\n activate: activateBrowser,\n id: '@jupyterlab/filebrowser-extension:browser',\n requires: [IFileBrowserFactory, ILayoutRestorer],\n autoStart: true\n};\n\n/**\n * The default file browser factory provider.\n */\nconst factory: JupyterLabPlugin<IFileBrowserFactory> = {\n activate: activateFactory,\n id: '@jupyterlab/filebrowser-extension:factory',\n provides: IFileBrowserFactory,\n requires: [IDocumentManager, IStateDB]\n};\n\n/**\n * The file browser namespace token.\n */\nconst namespace = 'filebrowser';\n\n/**\n * Export the plugins as default.\n */\nconst plugins: JupyterLabPlugin<any>[] = [factory, browser];\nexport default plugins;\n\n\n/**\n * Activate the file browser factory provider.\n */\nfunction activateFactory(app: JupyterLab, docManager: IDocumentManager, state: IStateDB): IFileBrowserFactory {\n const { commands } = app;\n const tracker = new InstanceTracker<FileBrowser>({ namespace });\n const createFileBrowser = (id: string, options: IFileBrowserFactory.IOptions = { }) => {\n const model = new FileBrowserModel({\n manager: docManager,\n driveName: options.driveName || '',\n state: options.state === null ? null : options.state || state\n });\n const widget = new FileBrowser({\n id, model, commands: options.commands || commands\n });\n const { registry } = docManager;\n\n // Add a launcher toolbar item.\n let launcher = new ToolbarButton({\n className: 'jp-AddIcon',\n onClick: () => {\n return createLauncher(commands, widget);\n },\n tooltip: 'New Launcher'\n });\n launcher.addClass('jp-MaterialIcon');\n widget.toolbar.insertItem(0, 'launch', launcher);\n\n // Add a context menu handler to the file browser's directory listing.\n let node = widget.node.getElementsByClassName('jp-DirListing-content')[0];\n node.addEventListener('contextmenu', (event: MouseEvent) => {\n event.preventDefault();\n const model = widget.modelForClick(event);\n const menu = createContextMenu(model, commands, registry);\n menu.open(event.clientX, event.clientY);\n });\n\n // Track the newly created file browser.\n tracker.add(widget);\n\n return widget;\n };\n const defaultBrowser = createFileBrowser('filebrowser');\n\n return { createFileBrowser, defaultBrowser, tracker };\n}\n\n\n/**\n * Activate the default file browser in the sidebar.\n */\nfunction activateBrowser(app: JupyterLab, factory: IFileBrowserFactory, restorer: ILayoutRestorer): void {\n const browser = factory.defaultBrowser;\n const { commands, shell } = app;\n\n // Let the application restorer track the primary file browser (that is\n // automatically created) for restoration of application state (e.g. setting\n // the file browser as the current side bar widget).\n //\n // All other file browsers created by using the factory function are\n // responsible for their own restoration behavior, if any.\n restorer.add(browser, namespace);\n\n addCommands(app, factory.tracker, browser);\n\n browser.title.label = 'Files';\n shell.addToLeftArea(browser, { rank: 100 });\n\n // If the layout is a fresh session without saved data, open file browser.\n app.restored.then(layout => {\n if (layout.fresh) {\n commands.execute(CommandIDs.showBrowser, void 0);\n }\n });\n\n Promise.all([app.restored, browser.model.restored]).then(() => {\n function maybeCreate() {\n // Create a launcher if there are no open items.\n if (app.shell.isEmpty('main')) {\n createLauncher(commands, browser);\n }\n }\n\n // When layout is modified, create a launcher if there are no open items.\n shell.layoutModified.connect(() => { maybeCreate(); });\n maybeCreate();\n });\n}\n\n\n/**\n * Add the main file browser commands to the application's command registry.\n */\nfunction addCommands(app: JupyterLab, tracker: InstanceTracker<FileBrowser>, browser: FileBrowser): void {\n const { commands } = app;\n\n commands.addCommand(CommandIDs.del, {\n execute: () => {\n const widget = tracker.currentWidget;\n\n if (widget) {\n return widget.delete();\n }\n },\n iconClass: 'jp-MaterialIcon jp-CloseIcon',\n label: 'Delete',\n mnemonic: 0\n });\n\n commands.addCommand(CommandIDs.copy, {\n execute: () => {\n const widget = tracker.currentWidget;\n\n if (widget) {\n return widget.copy();\n }\n },\n iconClass: 'jp-MaterialIcon jp-CopyIcon',\n label: 'Copy',\n mnemonic: 0\n });\n\n commands.addCommand(CommandIDs.cut, {\n execute: () => {\n const widget = tracker.currentWidget;\n\n if (widget) {\n return widget.cut();\n }\n },\n iconClass: 'jp-MaterialIcon jp-CutIcon',\n label: 'Cut'\n });\n\n commands.addCommand(CommandIDs.download, {\n execute: () => {\n const widget = tracker.currentWidget;\n\n if (widget) {\n return widget.download();\n }\n },\n iconClass: 'jp-MaterialIcon jp-DownloadIcon',\n label: 'Download'\n });\n\n commands.addCommand(CommandIDs.duplicate, {\n execute: () => {\n const widget = tracker.currentWidget;\n\n if (widget) {\n return widget.duplicate();\n }\n },\n iconClass: 'jp-MaterialIcon jp-CopyIcon',\n label: 'Duplicate'\n });\n\n commands.addCommand(CommandIDs.hideBrowser, {\n execute: () => {\n if (!browser.isHidden) {\n app.shell.collapseLeft();\n }\n }\n });\n\n commands.addCommand(CommandIDs.navigate, {\n execute: args => {\n const path = args.path as string || '';\n const services = app.serviceManager;\n const open = 'docmanager:open';\n const failure = (reason: any) => {\n console.warn(`${CommandIDs.navigate} failed to open: ${path}`, reason);\n };\n\n return services.ready\n .then(() => services.contents.get(path))\n .then(value => {\n const { model } = browser;\n const { restored } = model;\n\n if (value.type === 'directory') {\n return restored.then(() => model.cd(`/${path}`));\n }\n\n return restored.then(() => model.cd(`/${PathExt.dirname(path)}`))\n .then(() => commands.execute(open, { path }));\n }).catch(failure);\n }\n });\n\n commands.addCommand(CommandIDs.open, {\n execute: () => {\n const widget = tracker.currentWidget;\n\n if (!widget) {\n return;\n }\n\n return Promise.all(toArray(map(widget.selectedItems(), item => {\n if (item.type === 'directory') {\n return widget.model.cd(item.path);\n }\n\n return commands.execute('docmanager:open', { path: item.path });\n })));\n },\n iconClass: 'jp-MaterialIcon jp-OpenFolderIcon',\n label: 'Open',\n mnemonic: 0\n });\n\n commands.addCommand(CommandIDs.paste, {\n execute: () => {\n const widget = tracker.currentWidget;\n\n if (widget) {\n return widget.paste();\n }\n },\n iconClass: 'jp-MaterialIcon jp-PasteIcon',\n label: 'Paste',\n mnemonic: 0\n });\n\n commands.addCommand(CommandIDs.rename, {\n execute: (args) => {\n const widget = tracker.currentWidget;\n\n if (widget) {\n return widget.rename();\n }\n },\n iconClass: 'jp-MaterialIcon jp-EditIcon',\n label: 'Rename',\n mnemonic: 0\n });\n\n commands.addCommand(CommandIDs.share, {\n execute: () => {\n const path = encodeURIComponent(browser.selectedItems().next().path);\n const tree = PageConfig.getTreeUrl();\n\n Clipboard.copyToSystem(URLExt.join(tree, path));\n },\n isVisible: () => toArray(browser.selectedItems()).length === 1,\n iconClass: 'jp-MaterialIcon jp-LinkIcon',\n label: 'Copy Shareable Link'\n });\n\n commands.addCommand(CommandIDs.showBrowser, {\n execute: () => { app.shell.activateById(browser.id); }\n });\n\n commands.addCommand(CommandIDs.shutdown, {\n execute: () => {\n const widget = tracker.currentWidget;\n\n if (widget) {\n return widget.shutdownKernels();\n }\n },\n iconClass: 'jp-MaterialIcon jp-StopIcon',\n label: 'Shutdown Kernel'\n });\n\n commands.addCommand(CommandIDs.toggleBrowser, {\n execute: () => {\n if (browser.isHidden) {\n return commands.execute(CommandIDs.showBrowser, void 0);\n }\n\n return commands.execute(CommandIDs.hideBrowser, void 0);\n }\n });\n\n commands.addCommand(CommandIDs.createLauncher, {\n label: 'New Launcher',\n execute: () => createLauncher(commands, browser)\n });\n}\n\n\n/**\n * Create a context menu for the file browser listing.\n *\n * #### Notes\n * This function generates temporary commands with an incremented name. These\n * commands are disposed when the menu itself is disposed.\n */\nfunction createContextMenu(model: Contents.IModel | undefined, commands: CommandRegistry, registry: DocumentRegistry): Menu {\n\n const menu = new Menu({ commands });\n\n // If the user did not click on any file, we still want to show\n // paste as a possibility.\n if (!model) {\n menu.addItem({ command: CommandIDs.paste });\n return menu;\n }\n\n menu.addItem({ command: CommandIDs.open });\n\n const path = model.path;\n if (model.type !== 'directory') {\n const factories = registry.preferredWidgetFactories(path).map(f => f.name);\n if (path && factories.length > 1) {\n const command = 'docmanager:open';\n const openWith = new Menu({ commands });\n openWith.title.label = 'Open With';\n factories.forEach(factory => {\n openWith.addItem({ args: { factory, path }, command });\n });\n menu.addItem({ type: 'submenu', submenu: openWith });\n }\n }\n\n menu.addItem({ command: CommandIDs.rename });\n menu.addItem({ command: CommandIDs.del });\n menu.addItem({ command: CommandIDs.cut });\n\n if (model.type !== 'directory') {\n menu.addItem({ command: CommandIDs.copy });\n }\n\n menu.addItem({ command: CommandIDs.paste });\n\n if (model.type !== 'directory') {\n menu.addItem({ command: CommandIDs.duplicate });\n menu.addItem({ command: CommandIDs.download });\n menu.addItem({ command: CommandIDs.shutdown });\n }\n\n menu.addItem({ command: CommandIDs.share });\n\n return menu;\n}\n\n\n/**\n * Create a launcher for a given filebrowser widget.\n */\nfunction createLauncher(commands: CommandRegistry, browser: FileBrowser): Promise<Launcher> {\n const { model } = browser;\n\n return commands.execute('launcher:create', { cwd: model.path })\n .then((launcher: Launcher) => {\n model.pathChanged.connect(() => { launcher.cwd = model.path; }, launcher);\n return launcher;\n });\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jupyterlab/filebrowser-extension",
3
- "version": "0.15.5",
3
+ "version": "0.16.3",
4
4
  "description": "JupyterLab - Filebrowser Widget Extension",
5
5
  "homepage": "https://github.com/jupyterlab/jupyterlab",
6
6
  "bugs": {
@@ -29,14 +29,14 @@
29
29
  "watch": "tsc -w"
30
30
  },
31
31
  "dependencies": {
32
- "@jupyterlab/application": "^0.15.4",
33
- "@jupyterlab/apputils": "^0.15.5",
34
- "@jupyterlab/coreutils": "^1.0.6",
35
- "@jupyterlab/docmanager": "^0.15.4",
36
- "@jupyterlab/docregistry": "^0.15.4",
37
- "@jupyterlab/filebrowser": "^0.15.4",
38
- "@jupyterlab/launcher": "^0.15.5",
39
- "@jupyterlab/services": "^1.1.4",
32
+ "@jupyterlab/application": "^0.16.3",
33
+ "@jupyterlab/apputils": "^0.16.4",
34
+ "@jupyterlab/coreutils": "^1.1.3",
35
+ "@jupyterlab/docmanager": "^0.16.3",
36
+ "@jupyterlab/docregistry": "^0.16.3",
37
+ "@jupyterlab/filebrowser": "^0.16.3",
38
+ "@jupyterlab/launcher": "^0.16.3",
39
+ "@jupyterlab/services": "^2.0.3",
40
40
  "@phosphor/algorithm": "^1.1.2",
41
41
  "@phosphor/commands": "^1.4.0",
42
42
  "@phosphor/widgets": "^1.5.0"