@jupyterlab/filebrowser-extension 4.0.0-alpha.1 → 4.0.0-alpha.10

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.d.ts CHANGED
@@ -7,10 +7,6 @@ import { JupyterFrontEndPlugin } from '@jupyterlab/application';
7
7
  * A plugin providing file upload status.
8
8
  */
9
9
  export declare const fileUploadStatus: JupyterFrontEndPlugin<void>;
10
- /**
11
- * A plugin to add a launcher button to the file browser toolbar
12
- */
13
- export declare const launcherToolbarButton: JupyterFrontEndPlugin<void>;
14
10
  /**
15
11
  * Export the plugins as default.
16
12
  */
package/lib/index.js CHANGED
@@ -5,17 +5,19 @@
5
5
  * @module filebrowser-extension
6
6
  */
7
7
  import { ILabShell, ILayoutRestorer, IRouter, ITreePathUpdater, JupyterFrontEnd, JupyterLab } from '@jupyterlab/application';
8
- import { Clipboard, ICommandPalette, InputDialog, showErrorMessage, WidgetTracker } from '@jupyterlab/apputils';
8
+ import { Clipboard, createToolbarFactory, ICommandPalette, InputDialog, IToolbarWidgetRegistry, setToolbar, showErrorMessage, WidgetTracker } from '@jupyterlab/apputils';
9
9
  import { PageConfig, PathExt } from '@jupyterlab/coreutils';
10
10
  import { IDocumentManager } from '@jupyterlab/docmanager';
11
- import { FileBrowser, FileUploadStatus, FilterFileBrowserModel, IFileBrowserFactory } from '@jupyterlab/filebrowser';
11
+ import { FileBrowser, FileUploadStatus, FilterFileBrowserModel, IFileBrowserCommands, IFileBrowserFactory, Uploader } from '@jupyterlab/filebrowser';
12
12
  import { ISettingRegistry } from '@jupyterlab/settingregistry';
13
13
  import { IStateDB } from '@jupyterlab/statedb';
14
14
  import { IStatusBar } from '@jupyterlab/statusbar';
15
15
  import { ITranslator } from '@jupyterlab/translation';
16
- import { addIcon, closeIcon, copyIcon, cutIcon, downloadIcon, editIcon, fileIcon, folderIcon, linkIcon, markdownIcon, newFolderIcon, pasteIcon, stopIcon, textEditorIcon, ToolbarButton } from '@jupyterlab/ui-components';
16
+ import { addIcon, closeIcon, copyIcon, cutIcon, downloadIcon, editIcon, fileIcon, folderIcon, linkIcon, markdownIcon, newFolderIcon, pasteIcon, refreshIcon, stopIcon, textEditorIcon } from '@jupyterlab/ui-components';
17
17
  import { find, map, reduce, toArray } from '@lumino/algorithm';
18
18
  import { CommandRegistry } from '@lumino/commands';
19
+ const FILE_BROWSER_FACTORY = 'FileBrowser';
20
+ const FILE_BROWSER_PLUGIN_ID = '@jupyterlab/filebrowser-extension:browser';
19
21
  /**
20
22
  * The command IDs used by the file browser plugin.
21
23
  */
@@ -41,6 +43,7 @@ var CommandIDs;
41
43
  CommandIDs.createNewDirectory = 'filebrowser:create-new-directory';
42
44
  CommandIDs.createNewFile = 'filebrowser:create-new-file';
43
45
  CommandIDs.createNewMarkdownFile = 'filebrowser:create-new-markdown-file';
46
+ CommandIDs.refresh = 'filebrowser:refresh';
44
47
  CommandIDs.rename = 'filebrowser:rename';
45
48
  // For main browser only.
46
49
  CommandIDs.copyShareableLink = 'filebrowser:share-main';
@@ -54,6 +57,7 @@ var CommandIDs;
54
57
  CommandIDs.toggleLastModified = 'filebrowser:toggle-last-modified';
55
58
  CommandIDs.search = 'filebrowser:search';
56
59
  CommandIDs.toggleHiddenFiles = 'filebrowser:toggle-hidden-files';
60
+ CommandIDs.toggleFileCheckboxes = 'filebrowser:toggle-file-checkboxes';
57
61
  })(CommandIDs || (CommandIDs = {}));
58
62
  /**
59
63
  * The file browser namespace token.
@@ -63,7 +67,7 @@ const namespace = 'filebrowser';
63
67
  * The default file browser extension.
64
68
  */
65
69
  const browser = {
66
- id: '@jupyterlab/filebrowser-extension:browser',
70
+ id: FILE_BROWSER_PLUGIN_ID,
67
71
  requires: [IFileBrowserFactory, ITranslator],
68
72
  optional: [
69
73
  ILayoutRestorer,
@@ -71,12 +75,11 @@ const browser = {
71
75
  ITreePathUpdater,
72
76
  ICommandPalette
73
77
  ],
78
+ provides: IFileBrowserCommands,
74
79
  autoStart: true,
75
80
  activate: async (app, factory, translator, restorer, settingRegistry, treePathUpdater, commandPalette) => {
76
81
  const trans = translator.load('jupyterlab');
77
82
  const browser = factory.defaultBrowser;
78
- browser.node.setAttribute('role', 'region');
79
- browser.node.setAttribute('aria-label', trans.__('File Browser Section'));
80
83
  // Let the application restorer track the primary file browser (that is
81
84
  // automatically created) for restoration of application state (e.g. setting
82
85
  // the file browser as the current side bar widget).
@@ -92,7 +95,6 @@ const browser = {
92
95
  await browser.model.cd(preferredPath);
93
96
  }
94
97
  addCommands(app, factory, translator, settingRegistry, commandPalette);
95
- browser.title.icon = folderIcon;
96
98
  // Show the current file browser shortcut in its title.
97
99
  const updateBrowserTitle = () => {
98
100
  const binding = find(app.commands.keyBindings, b => b.command === CommandIDs.toggleBrowser);
@@ -108,50 +110,41 @@ const browser = {
108
110
  app.commands.keyBindingChanged.connect(() => {
109
111
  updateBrowserTitle();
110
112
  });
111
- void Promise.all([app.restored, browser.model.restored]).then(() => {
113
+ return void Promise.all([app.restored, browser.model.restored]).then(() => {
112
114
  if (treePathUpdater) {
113
115
  browser.model.pathChanged.connect((sender, args) => {
114
116
  treePathUpdater(args.newValue);
115
117
  });
116
118
  }
117
- let navigateToCurrentDirectory = false;
118
- let showLastModifiedColumn = true;
119
- let useFuzzyFilter = true;
120
- let showHiddenFiles = false;
121
119
  if (settingRegistry) {
122
- void settingRegistry
123
- .load('@jupyterlab/filebrowser-extension:browser')
124
- .then(settings => {
125
- settings.changed.connect(settings => {
126
- navigateToCurrentDirectory = settings.get('navigateToCurrentDirectory').composite;
127
- browser.navigateToCurrentDirectory = navigateToCurrentDirectory;
128
- });
129
- navigateToCurrentDirectory = settings.get('navigateToCurrentDirectory').composite;
130
- browser.navigateToCurrentDirectory = navigateToCurrentDirectory;
131
- settings.changed.connect(settings => {
132
- showLastModifiedColumn = settings.get('showLastModifiedColumn')
133
- .composite;
134
- browser.showLastModifiedColumn = showLastModifiedColumn;
135
- });
136
- showLastModifiedColumn = settings.get('showLastModifiedColumn')
137
- .composite;
138
- browser.showLastModifiedColumn = showLastModifiedColumn;
139
- settings.changed.connect(settings => {
140
- useFuzzyFilter = settings.get('useFuzzyFilter')
141
- .composite;
142
- browser.useFuzzyFilter = useFuzzyFilter;
143
- });
144
- useFuzzyFilter = settings.get('useFuzzyFilter')
145
- .composite;
146
- browser.useFuzzyFilter = useFuzzyFilter;
147
- settings.changed.connect(settings => {
148
- showHiddenFiles = settings.get('showHiddenFiles')
120
+ void settingRegistry.load(FILE_BROWSER_PLUGIN_ID).then(settings => {
121
+ /**
122
+ * File browser configuration.
123
+ */
124
+ const fileBrowserConfig = {
125
+ navigateToCurrentDirectory: false,
126
+ showLastModifiedColumn: true,
127
+ useFuzzyFilter: true,
128
+ showHiddenFiles: false,
129
+ showFileCheckboxes: false
130
+ };
131
+ const fileBrowserModelConfig = {
132
+ filterDirectories: true
133
+ };
134
+ function onSettingsChanged(settings) {
135
+ let key;
136
+ for (key in fileBrowserConfig) {
137
+ const value = settings.get(key).composite;
138
+ fileBrowserConfig[key] = value;
139
+ browser[key] = value;
140
+ }
141
+ const value = settings.get('filterDirectories')
149
142
  .composite;
150
- browser.showHiddenFiles = showHiddenFiles;
151
- });
152
- showHiddenFiles = settings.get('showHiddenFiles')
153
- .composite;
154
- browser.showHiddenFiles = showHiddenFiles;
143
+ fileBrowserModelConfig.filterDirectories = value;
144
+ browser.model.filterDirectories = value;
145
+ }
146
+ settings.changed.connect(onSettingsChanged);
147
+ onSettingsChanged(settings);
155
148
  });
156
149
  }
157
150
  });
@@ -254,13 +247,30 @@ const downloadPlugin = {
254
247
  */
255
248
  const browserWidget = {
256
249
  id: '@jupyterlab/filebrowser-extension:widget',
257
- requires: [IDocumentManager, IFileBrowserFactory, ITranslator, ILabShell],
250
+ requires: [
251
+ IDocumentManager,
252
+ IFileBrowserFactory,
253
+ ISettingRegistry,
254
+ IToolbarWidgetRegistry,
255
+ ITranslator,
256
+ ILabShell,
257
+ IFileBrowserCommands
258
+ ],
258
259
  autoStart: true,
259
- activate: (app, docManager, factory, translator, labShell) => {
260
+ activate: (app, docManager, factory, settings, toolbarRegistry, translator, labShell) => {
260
261
  const { commands } = app;
261
262
  const { defaultBrowser: browser, tracker } = factory;
262
- labShell.add(browser, 'left', { rank: 100 });
263
+ const trans = translator.load('jupyterlab');
264
+ // Set attributes when adding the browser to the UI
265
+ browser.node.setAttribute('role', 'region');
266
+ browser.node.setAttribute('aria-label', trans.__('File Browser Section'));
267
+ browser.title.icon = folderIcon;
268
+ // Toolbar
269
+ toolbarRegistry.addFactory(FILE_BROWSER_FACTORY, 'uploader', (browser) => new Uploader({ model: browser.model, translator }));
270
+ setToolbar(browser, createToolbarFactory(toolbarRegistry, settings, FILE_BROWSER_FACTORY, browserWidget.id, translator));
271
+ labShell.add(browser, 'left', { rank: 100, type: 'File Browser' });
263
272
  commands.addCommand(CommandIDs.showBrowser, {
273
+ label: trans.__('Open the file browser for the provided `path`.'),
264
274
  execute: args => {
265
275
  const path = args.path || '';
266
276
  const browserForPath = Private.getBrowserForPath(path, factory);
@@ -290,6 +300,7 @@ const browserWidget = {
290
300
  }
291
301
  });
292
302
  commands.addCommand(CommandIDs.hideBrowser, {
303
+ label: trans.__('Hide the file browser.'),
293
304
  execute: () => {
294
305
  const widget = tracker.currentWidget;
295
306
  if (widget && !widget.isHidden) {
@@ -436,19 +447,38 @@ const openBrowserTabPlugin = {
436
447
  const trans = translator.load('jupyterlab');
437
448
  const { tracker } = factory;
438
449
  commands.addCommand(CommandIDs.openBrowserTab, {
439
- execute: () => {
450
+ execute: args => {
440
451
  const widget = tracker.currentWidget;
441
452
  if (!widget) {
442
453
  return;
443
454
  }
455
+ const mode = args['mode'];
444
456
  return Promise.all(toArray(map(widget.selectedItems(), item => {
445
- return commands.execute('docmanager:open-browser-tab', {
446
- path: item.path
447
- });
457
+ if (mode === 'single-document') {
458
+ const url = PageConfig.getUrl({
459
+ mode: 'single-document',
460
+ treePath: item.path
461
+ });
462
+ const opened = window.open();
463
+ if (opened) {
464
+ opened.opener = null;
465
+ opened.location.href = url;
466
+ }
467
+ else {
468
+ throw new Error('Failed to open new browser tab.');
469
+ }
470
+ }
471
+ else {
472
+ return commands.execute('docmanager:open-browser-tab', {
473
+ path: item.path
474
+ });
475
+ }
448
476
  })));
449
477
  },
450
478
  icon: addIcon.bindprops({ stylesheet: 'menuItem' }),
451
- label: trans.__('Open in New Browser Tab'),
479
+ label: args => args['mode'] === 'single-document'
480
+ ? trans.__('Open in Simple Mode')
481
+ : trans.__('Open in New Browser Tab'),
452
482
  mnemonic: 0
453
483
  });
454
484
  }
@@ -480,31 +510,6 @@ export const fileUploadStatus = {
480
510
  });
481
511
  }
482
512
  };
483
- /**
484
- * A plugin to add a launcher button to the file browser toolbar
485
- */
486
- export const launcherToolbarButton = {
487
- id: '@jupyterlab/filebrowser-extension:launcher-toolbar-button',
488
- autoStart: true,
489
- requires: [IFileBrowserFactory, ITranslator],
490
- activate: (app, factory, translator) => {
491
- const { commands } = app;
492
- const trans = translator.load('jupyterlab');
493
- const { defaultBrowser: browser } = factory;
494
- // Add a launcher toolbar item.
495
- const launcher = new ToolbarButton({
496
- icon: addIcon,
497
- onClick: () => {
498
- if (commands.hasCommand('launcher:create')) {
499
- return Private.createLauncher(commands, browser);
500
- }
501
- },
502
- tooltip: trans.__('New Launcher'),
503
- actualOnClick: true
504
- });
505
- browser.toolbar.insertItem(0, 'launch', launcher);
506
- }
507
- };
508
513
  /**
509
514
  * A plugin to open files from remote URLs
510
515
  */
@@ -525,12 +530,13 @@ const openUrlPlugin = {
525
530
  var _a, _b, _c;
526
531
  let url = (_a = args === null || args === void 0 ? void 0 : args.url) !== null && _a !== void 0 ? _a : '';
527
532
  if (!url) {
528
- url = (_b = (await InputDialog.getText({
529
- label: trans.__('URL'),
530
- placeholder: 'https://example.com/path/to/file',
531
- title: trans.__('Open URL'),
532
- okLabel: trans.__('Open')
533
- })).value) !== null && _b !== void 0 ? _b : undefined;
533
+ url =
534
+ (_b = (await InputDialog.getText({
535
+ label: trans.__('URL'),
536
+ placeholder: 'https://example.com/path/to/file',
537
+ title: trans.__('Open URL'),
538
+ okLabel: trans.__('Open')
539
+ })).value) !== null && _b !== void 0 ? _b : undefined;
534
540
  }
535
541
  if (!url) {
536
542
  return;
@@ -621,6 +627,7 @@ function addCommands(app, factory, translator, settingRegistry, commandPalette)
621
627
  label: trans.__('Duplicate')
622
628
  });
623
629
  commands.addCommand(CommandIDs.goToPath, {
630
+ label: trans.__('Update the file browser to display the provided `path`.'),
624
631
  execute: async (args) => {
625
632
  var _a;
626
633
  const path = args.path || '';
@@ -677,12 +684,13 @@ function addCommands(app, factory, translator, settingRegistry, commandPalette)
677
684
  path = args.path;
678
685
  }
679
686
  else {
680
- path = (_a = (await InputDialog.getText({
681
- label: trans.__('Path'),
682
- placeholder: '/path/relative/to/jlab/root',
683
- title: trans.__('Open Path'),
684
- okLabel: trans.__('Open')
685
- })).value) !== null && _a !== void 0 ? _a : undefined;
687
+ path =
688
+ (_a = (await InputDialog.getText({
689
+ label: trans.__('Path'),
690
+ placeholder: '/path/relative/to/jlab/root',
691
+ title: trans.__('Open Path'),
692
+ okLabel: trans.__('Open')
693
+ })).value) !== null && _a !== void 0 ? _a : undefined;
686
694
  }
687
695
  if (!path) {
688
696
  return;
@@ -803,6 +811,17 @@ function addCommands(app, factory, translator, settingRegistry, commandPalette)
803
811
  icon: markdownIcon.bindprops({ stylesheet: 'menuItem' }),
804
812
  label: trans.__('New Markdown File')
805
813
  });
814
+ commands.addCommand(CommandIDs.refresh, {
815
+ execute: args => {
816
+ const widget = tracker.currentWidget;
817
+ if (widget) {
818
+ return widget.model.refresh();
819
+ }
820
+ },
821
+ icon: refreshIcon.bindprops({ stylesheet: 'menuItem' }),
822
+ caption: trans.__('Refresh the file browser.'),
823
+ label: trans.__('Refresh File List')
824
+ });
806
825
  commands.addCommand(CommandIDs.rename, {
807
826
  execute: args => {
808
827
  const widget = tracker.currentWidget;
@@ -852,7 +871,12 @@ function addCommands(app, factory, translator, settingRegistry, commandPalette)
852
871
  });
853
872
  commands.addCommand(CommandIDs.createLauncher, {
854
873
  label: trans.__('New Launcher'),
855
- execute: () => Private.createLauncher(commands, browser)
874
+ icon: args => (args.toolbar ? addIcon : undefined),
875
+ execute: (args) => {
876
+ if (commands.hasCommand('launcher:create')) {
877
+ return Private.createLauncher(commands, browser, args);
878
+ }
879
+ }
856
880
  });
857
881
  if (settingRegistry) {
858
882
  commands.addCommand(CommandIDs.toggleNavigateToCurrentDirectory, {
@@ -862,7 +886,7 @@ function addCommands(app, factory, translator, settingRegistry, commandPalette)
862
886
  const value = !browser.navigateToCurrentDirectory;
863
887
  const key = 'navigateToCurrentDirectory';
864
888
  return settingRegistry
865
- .set('@jupyterlab/filebrowser-extension:browser', key, value)
889
+ .set(FILE_BROWSER_PLUGIN_ID, key, value)
866
890
  .catch((reason) => {
867
891
  console.error(`Failed to set navigateToCurrentDirectory setting`);
868
892
  });
@@ -877,7 +901,7 @@ function addCommands(app, factory, translator, settingRegistry, commandPalette)
877
901
  const key = 'showLastModifiedColumn';
878
902
  if (settingRegistry) {
879
903
  return settingRegistry
880
- .set('@jupyterlab/filebrowser-extension:browser', key, value)
904
+ .set(FILE_BROWSER_PLUGIN_ID, key, value)
881
905
  .catch((reason) => {
882
906
  console.error(`Failed to set showLastModifiedColumn setting`);
883
907
  });
@@ -893,13 +917,28 @@ function addCommands(app, factory, translator, settingRegistry, commandPalette)
893
917
  const key = 'showHiddenFiles';
894
918
  if (settingRegistry) {
895
919
  return settingRegistry
896
- .set('@jupyterlab/filebrowser-extension:browser', key, value)
920
+ .set(FILE_BROWSER_PLUGIN_ID, key, value)
897
921
  .catch((reason) => {
898
922
  console.error(`Failed to set showHiddenFiles setting`);
899
923
  });
900
924
  }
901
925
  }
902
926
  });
927
+ commands.addCommand(CommandIDs.toggleFileCheckboxes, {
928
+ label: trans.__('Show File Checkboxes'),
929
+ isToggled: () => browser.showFileCheckboxes,
930
+ execute: () => {
931
+ const value = !browser.showFileCheckboxes;
932
+ const key = 'showFileCheckboxes';
933
+ if (settingRegistry) {
934
+ return settingRegistry
935
+ .set(FILE_BROWSER_PLUGIN_ID, key, value)
936
+ .catch((reason) => {
937
+ console.error(`Failed to set showFileCheckboxes setting`);
938
+ });
939
+ }
940
+ }
941
+ });
903
942
  commands.addCommand(CommandIDs.search, {
904
943
  label: trans.__('Search on File Names'),
905
944
  execute: () => alert('search')
@@ -919,10 +958,10 @@ var Private;
919
958
  /**
920
959
  * Create a launcher for a given filebrowser widget.
921
960
  */
922
- function createLauncher(commands, browser) {
961
+ function createLauncher(commands, browser, args) {
923
962
  const { model } = browser;
924
963
  return commands
925
- .execute('launcher:create', { cwd: model.path })
964
+ .execute('launcher:create', Object.assign({ cwd: model.path }, args))
926
965
  .then((launcher) => {
927
966
  model.pathChanged.connect(() => {
928
967
  if (launcher.content) {
@@ -1027,7 +1066,6 @@ const plugins = [
1027
1066
  fileUploadStatus,
1028
1067
  downloadPlugin,
1029
1068
  browserWidget,
1030
- launcherToolbarButton,
1031
1069
  openWithPlugin,
1032
1070
  openBrowserTabPlugin,
1033
1071
  openUrlPlugin
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jupyterlab/filebrowser-extension",
3
- "version": "4.0.0-alpha.1",
3
+ "version": "4.0.0-alpha.10",
4
4
  "description": "JupyterLab - Filebrowser Widget Extension",
5
5
  "homepage": "https://github.com/jupyterlab/jupyterlab",
6
6
  "bugs": {
@@ -37,27 +37,28 @@
37
37
  "watch": "tsc -b --watch"
38
38
  },
39
39
  "dependencies": {
40
- "@jupyterlab/application": "^4.0.0-alpha.1",
41
- "@jupyterlab/apputils": "^4.0.0-alpha.1",
42
- "@jupyterlab/coreutils": "^6.0.0-alpha.1",
43
- "@jupyterlab/docmanager": "^4.0.0-alpha.1",
44
- "@jupyterlab/docregistry": "^4.0.0-alpha.1",
45
- "@jupyterlab/filebrowser": "^4.0.0-alpha.1",
46
- "@jupyterlab/launcher": "^4.0.0-alpha.1",
47
- "@jupyterlab/services": "^7.0.0-alpha.1",
48
- "@jupyterlab/settingregistry": "^4.0.0-alpha.1",
49
- "@jupyterlab/statedb": "^4.0.0-alpha.1",
50
- "@jupyterlab/statusbar": "^4.0.0-alpha.1",
51
- "@jupyterlab/translation": "^4.0.0-alpha.1",
52
- "@jupyterlab/ui-components": "^4.0.0-alpha.16",
40
+ "@jupyterlab/application": "^4.0.0-alpha.10",
41
+ "@jupyterlab/apputils": "^4.0.0-alpha.10",
42
+ "@jupyterlab/coreutils": "^6.0.0-alpha.10",
43
+ "@jupyterlab/docmanager": "^4.0.0-alpha.10",
44
+ "@jupyterlab/docregistry": "^4.0.0-alpha.10",
45
+ "@jupyterlab/filebrowser": "^4.0.0-alpha.10",
46
+ "@jupyterlab/launcher": "^4.0.0-alpha.10",
47
+ "@jupyterlab/services": "^7.0.0-alpha.10",
48
+ "@jupyterlab/settingregistry": "^4.0.0-alpha.10",
49
+ "@jupyterlab/statedb": "^4.0.0-alpha.10",
50
+ "@jupyterlab/statusbar": "^4.0.0-alpha.10",
51
+ "@jupyterlab/translation": "^4.0.0-alpha.10",
52
+ "@jupyterlab/ui-components": "^4.0.0-alpha.25",
53
53
  "@lumino/algorithm": "^1.9.1",
54
- "@lumino/commands": "^1.19.0",
55
- "@lumino/widgets": "^1.30.0"
54
+ "@lumino/commands": "^1.20.0",
55
+ "@lumino/coreutils": "^1.12.0",
56
+ "@lumino/widgets": "^1.32.0"
56
57
  },
57
58
  "devDependencies": {
58
59
  "rimraf": "~3.0.0",
59
- "typedoc": "~0.21.2",
60
- "typescript": "~4.1.3"
60
+ "typedoc": "~0.22.10",
61
+ "typescript": "~4.6.3"
61
62
  },
62
63
  "publishConfig": {
63
64
  "access": "public"
@@ -126,10 +126,15 @@
126
126
  "selector": ".jp-DirListing-header",
127
127
  "rank": 14
128
128
  },
129
+ {
130
+ "command": "filebrowser:toggle-file-checkboxes",
131
+ "selector": ".jp-DirListing-header",
132
+ "rank": 15
133
+ },
129
134
  {
130
135
  "command": "filebrowser:share-main",
131
136
  "selector": ".jp-DirListing-item[data-isdir]",
132
- "rank": 15
137
+ "rank": 16
133
138
  },
134
139
  {
135
140
  "type": "separator",
@@ -210,6 +215,12 @@
210
215
  "description": "Whether to apply fuzzy algorithm while filtering on file names",
211
216
  "default": true
212
217
  },
218
+ "filterDirectories": {
219
+ "type": "boolean",
220
+ "title": "Filter directories",
221
+ "description": "Whether to apply the search on directories",
222
+ "default": true
223
+ },
213
224
  "showLastModifiedColumn": {
214
225
  "type": "boolean",
215
226
  "title": "Show last modified column",
@@ -221,6 +232,12 @@
221
232
  "title": "Show hidden files",
222
233
  "description": "Whether to show hidden files. The server parameter `ContentsManager.allow_hidden` must be set to `True` to display hidden files.",
223
234
  "default": false
235
+ },
236
+ "showFileCheckboxes": {
237
+ "type": "boolean",
238
+ "title": "Use checkboxes to select items",
239
+ "description": "Whether to show checkboxes next to files and folders",
240
+ "default": false
224
241
  }
225
242
  },
226
243
  "additionalProperties": false,
@@ -0,0 +1,82 @@
1
+ {
2
+ "title": "File Browser Widget",
3
+ "description": "File Browser widget settings.",
4
+ "jupyter.lab.toolbars": {
5
+ "FileBrowser": [
6
+ {
7
+ "name": "new-launcher",
8
+ "command": "filebrowser:create-main-launcher",
9
+ "rank": 1
10
+ },
11
+ {
12
+ "name": "new-directory",
13
+ "command": "filebrowser:create-new-directory",
14
+ "rank": 10
15
+ },
16
+ { "name": "uploader", "rank": 20 },
17
+ { "name": "refresh", "command": "filebrowser:refresh", "rank": 30 }
18
+ ]
19
+ },
20
+ "jupyter.lab.transform": true,
21
+ "properties": {
22
+ "toolbar": {
23
+ "title": "File browser toolbar items",
24
+ "description": "Note: To disable a toolbar item,\ncopy it to User Preferences and add the\n\"disabled\" key. The following example will disable the uploader button:\n{\n \"toolbar\": [\n {\n \"name\": \"uploader\",\n \"disabled\": true\n }\n ]\n}\n\nToolbar description:",
25
+ "items": {
26
+ "$ref": "#/definitions/toolbarItem"
27
+ },
28
+ "type": "array",
29
+ "default": []
30
+ }
31
+ },
32
+ "additionalProperties": false,
33
+ "type": "object",
34
+ "definitions": {
35
+ "toolbarItem": {
36
+ "properties": {
37
+ "name": {
38
+ "title": "Unique name",
39
+ "type": "string"
40
+ },
41
+ "args": {
42
+ "title": "Command arguments",
43
+ "type": "object"
44
+ },
45
+ "command": {
46
+ "title": "Command id",
47
+ "type": "string",
48
+ "default": ""
49
+ },
50
+ "disabled": {
51
+ "title": "Whether the item is ignored or not",
52
+ "type": "boolean",
53
+ "default": false
54
+ },
55
+ "icon": {
56
+ "title": "Item icon id",
57
+ "description": "If defined, it will override the command icon",
58
+ "type": "string"
59
+ },
60
+ "label": {
61
+ "title": "Item label",
62
+ "description": "If defined, it will override the command label",
63
+ "type": "string"
64
+ },
65
+ "type": {
66
+ "title": "Item type",
67
+ "type": "string",
68
+ "enum": ["command", "spacer"]
69
+ },
70
+ "rank": {
71
+ "title": "Item rank",
72
+ "type": "number",
73
+ "minimum": 0,
74
+ "default": 50
75
+ }
76
+ },
77
+ "required": ["name"],
78
+ "additionalProperties": false,
79
+ "type": "object"
80
+ }
81
+ }
82
+ }
package/style/index.css CHANGED
@@ -6,8 +6,8 @@
6
6
  /* This file was auto-generated by ensurePackage() in @jupyterlab/buildutils */
7
7
  @import url('~@lumino/widgets/style/index.css');
8
8
  @import url('~@jupyterlab/ui-components/style/index.css');
9
- @import url('~@jupyterlab/apputils/style/index.css');
10
9
  @import url('~@jupyterlab/statusbar/style/index.css');
10
+ @import url('~@jupyterlab/apputils/style/index.css');
11
11
  @import url('~@jupyterlab/docregistry/style/index.css');
12
12
  @import url('~@jupyterlab/application/style/index.css');
13
13
  @import url('~@jupyterlab/docmanager/style/index.css');
package/style/index.js CHANGED
@@ -6,8 +6,8 @@
6
6
  /* This file was auto-generated by ensurePackage() in @jupyterlab/buildutils */
7
7
  import '@lumino/widgets/style/index.js';
8
8
  import '@jupyterlab/ui-components/style/index.js';
9
- import '@jupyterlab/apputils/style/index.js';
10
9
  import '@jupyterlab/statusbar/style/index.js';
10
+ import '@jupyterlab/apputils/style/index.js';
11
11
  import '@jupyterlab/docregistry/style/index.js';
12
12
  import '@jupyterlab/application/style/index.js';
13
13
  import '@jupyterlab/docmanager/style/index.js';