@jupyterlab/filebrowser 4.3.0-alpha.2 → 4.3.0-beta.0
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/browser.d.ts +12 -0
- package/lib/browser.js +20 -1
- package/lib/browser.js.map +1 -1
- package/lib/listing.d.ts +129 -15
- package/lib/listing.js +574 -208
- package/lib/listing.js.map +1 -1
- package/lib/model.d.ts +2 -1
- package/lib/model.js +5 -4
- package/lib/model.js.map +1 -1
- package/package.json +11 -11
- package/src/browser.ts +28 -1
- package/src/listing.ts +791 -220
- package/src/model.ts +7 -4
- package/style/base.css +68 -39
package/lib/browser.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Contents } from '@jupyterlab/services';
|
|
2
|
+
import { IStateDB } from '@jupyterlab/statedb';
|
|
2
3
|
import { ITranslator } from '@jupyterlab/translation';
|
|
3
4
|
import { SidePanel, Toolbar } from '@jupyterlab/ui-components';
|
|
4
5
|
import { Panel } from '@lumino/widgets';
|
|
@@ -63,6 +64,11 @@ export declare class FileBrowser extends SidePanel {
|
|
|
63
64
|
*/
|
|
64
65
|
get sortNotebooksFirst(): boolean;
|
|
65
66
|
set sortNotebooksFirst(value: boolean);
|
|
67
|
+
/**
|
|
68
|
+
* Whether to allow single click files and directories
|
|
69
|
+
*/
|
|
70
|
+
get singleClickNavigation(): boolean;
|
|
71
|
+
set singleClickNavigation(value: boolean);
|
|
66
72
|
/**
|
|
67
73
|
* Create an iterator over the listing's selected items.
|
|
68
74
|
*
|
|
@@ -181,6 +187,7 @@ export declare class FileBrowser extends SidePanel {
|
|
|
181
187
|
private _fileFilterRef;
|
|
182
188
|
private _manager;
|
|
183
189
|
private _navigateToCurrentDirectory;
|
|
190
|
+
private _allowSingleClick;
|
|
184
191
|
private _showFileCheckboxes;
|
|
185
192
|
private _showFileFilter;
|
|
186
193
|
private _showFileSizeColumn;
|
|
@@ -223,6 +230,11 @@ export declare namespace FileBrowser {
|
|
|
223
230
|
* The application language translator.
|
|
224
231
|
*/
|
|
225
232
|
translator?: ITranslator;
|
|
233
|
+
/**
|
|
234
|
+
* An optional state database. If provided, the widget will restore
|
|
235
|
+
* the columns sizes
|
|
236
|
+
*/
|
|
237
|
+
state?: IStateDB;
|
|
226
238
|
}
|
|
227
239
|
/**
|
|
228
240
|
* An options object for creating a file.
|
package/lib/browser.js
CHANGED
|
@@ -56,6 +56,7 @@ export class FileBrowser extends SidePanel {
|
|
|
56
56
|
this._directoryPending = null;
|
|
57
57
|
this._filePending = null;
|
|
58
58
|
this._fileFilterRef = createRef();
|
|
59
|
+
this._allowSingleClick = false;
|
|
59
60
|
this._showFileCheckboxes = false;
|
|
60
61
|
this._showFileFilter = false;
|
|
61
62
|
this._showFileSizeColumn = false;
|
|
@@ -98,7 +99,8 @@ export class FileBrowser extends SidePanel {
|
|
|
98
99
|
this.listing = this.createDirListing({
|
|
99
100
|
model,
|
|
100
101
|
renderer,
|
|
101
|
-
translator
|
|
102
|
+
translator,
|
|
103
|
+
state: options.state
|
|
102
104
|
});
|
|
103
105
|
this.listing.addClass(LISTING_CLASS);
|
|
104
106
|
this.mainPanel.addWidget(this.crumbs);
|
|
@@ -108,6 +110,8 @@ export class FileBrowser extends SidePanel {
|
|
|
108
110
|
if (options.restore !== false) {
|
|
109
111
|
void model.restore(this.id);
|
|
110
112
|
}
|
|
113
|
+
// restore listing regardless of the restore option
|
|
114
|
+
void this.listing.restore(this.id);
|
|
111
115
|
}
|
|
112
116
|
/**
|
|
113
117
|
* Whether to show active file in file browser
|
|
@@ -225,6 +229,21 @@ export class FileBrowser extends SidePanel {
|
|
|
225
229
|
console.warn('Listing does not support sorting notebooks first');
|
|
226
230
|
}
|
|
227
231
|
}
|
|
232
|
+
/**
|
|
233
|
+
* Whether to allow single click files and directories
|
|
234
|
+
*/
|
|
235
|
+
get singleClickNavigation() {
|
|
236
|
+
return this._allowSingleClick;
|
|
237
|
+
}
|
|
238
|
+
set singleClickNavigation(value) {
|
|
239
|
+
if (this.listing.setAllowSingleClickNavigation) {
|
|
240
|
+
this.listing.setAllowSingleClickNavigation(value);
|
|
241
|
+
this._allowSingleClick = value;
|
|
242
|
+
}
|
|
243
|
+
else {
|
|
244
|
+
console.warn('Listing does not support single click navigation');
|
|
245
|
+
}
|
|
246
|
+
}
|
|
228
247
|
/**
|
|
229
248
|
* Create an iterator over the listing's selected items.
|
|
230
249
|
*
|
package/lib/browser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAE3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEhD,OAAO,EAAY,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"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"}
|
package/lib/listing.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Time } from '@jupyterlab/coreutils';
|
|
2
2
|
import { DocumentRegistry } from '@jupyterlab/docregistry';
|
|
3
3
|
import { Contents } from '@jupyterlab/services';
|
|
4
|
+
import { IStateDB } from '@jupyterlab/statedb';
|
|
4
5
|
import { ITranslator, TranslationBundle } from '@jupyterlab/translation';
|
|
5
6
|
import { Drag } from '@lumino/dragdrop';
|
|
6
7
|
import { Message } from '@lumino/messaging';
|
|
@@ -107,6 +108,14 @@ export declare class DirListing extends Widget {
|
|
|
107
108
|
* Download the currently selected item(s).
|
|
108
109
|
*/
|
|
109
110
|
download(): Promise<void>;
|
|
111
|
+
/**
|
|
112
|
+
* Restore the state of the file browser listing.
|
|
113
|
+
*
|
|
114
|
+
* @param id - The unique ID that is used to construct a state database key.
|
|
115
|
+
*
|
|
116
|
+
*/
|
|
117
|
+
restore(id: string): Promise<void>;
|
|
118
|
+
private _stateColumnsKey;
|
|
110
119
|
/**
|
|
111
120
|
* Shut down kernels on the applicable currently selected items.
|
|
112
121
|
*
|
|
@@ -191,20 +200,38 @@ export declare class DirListing extends Widget {
|
|
|
191
200
|
* A message handler invoked on an `'after-show'` message.
|
|
192
201
|
*/
|
|
193
202
|
protected onAfterShow(msg: Message): void;
|
|
203
|
+
/**
|
|
204
|
+
* Update the modified column's size
|
|
205
|
+
*/
|
|
194
206
|
private _updateModifiedSize;
|
|
207
|
+
/**
|
|
208
|
+
* Rerender item nodes' modified dates, if the modified style has changed.
|
|
209
|
+
*/
|
|
210
|
+
private _updateModifiedStyleAndSize;
|
|
211
|
+
/**
|
|
212
|
+
* Update only the modified dates.
|
|
213
|
+
*/
|
|
195
214
|
protected updateModified(items: Contents.IModel[], nodes: HTMLElement[]): void;
|
|
196
|
-
protected updateNodes(items: Contents.IModel[], nodes: HTMLElement[]): void;
|
|
215
|
+
protected updateNodes(items: Contents.IModel[], nodes: HTMLElement[], sizeOnly?: boolean): void;
|
|
197
216
|
/**
|
|
198
217
|
* A handler invoked on an `'update-request'` message.
|
|
199
218
|
*/
|
|
200
219
|
protected onUpdateRequest(msg: Message): void;
|
|
201
220
|
onResize(msg: Widget.ResizeMessage): void;
|
|
202
221
|
setColumnVisibility(name: DirListing.ToggleableColumn, visible: boolean): void;
|
|
222
|
+
private _updateColumnSizes;
|
|
223
|
+
private get _visibleColumns();
|
|
224
|
+
private _setColumnSize;
|
|
203
225
|
/**
|
|
204
226
|
* Update the setting to sort notebooks above files.
|
|
205
227
|
* This sorts the items again if the internal value is modified.
|
|
206
228
|
*/
|
|
207
229
|
setNotebooksFirstSorting(isEnabled: boolean): void;
|
|
230
|
+
/**
|
|
231
|
+
* Update the setting to allow single click navigation.
|
|
232
|
+
* This enables opening files/directories with a single click.
|
|
233
|
+
*/
|
|
234
|
+
setAllowSingleClickNavigation(isEnabled: boolean): void;
|
|
208
235
|
/**
|
|
209
236
|
* Would this click (or other event type) hit the checkbox by default?
|
|
210
237
|
*/
|
|
@@ -268,6 +295,10 @@ export declare class DirListing extends Widget {
|
|
|
268
295
|
* Handle the `drop` event for the widget.
|
|
269
296
|
*/
|
|
270
297
|
protected evtNativeDrop(event: DragEvent): void;
|
|
298
|
+
/**
|
|
299
|
+
* Signal emitted on when all files were uploaded after native drag.
|
|
300
|
+
*/
|
|
301
|
+
protected get allUploaded(): ISignal<DirListing, void>;
|
|
271
302
|
/**
|
|
272
303
|
* Handle the `'lm-dragenter'` event for the widget.
|
|
273
304
|
*/
|
|
@@ -356,6 +387,7 @@ export declare class DirListing extends Widget {
|
|
|
356
387
|
private _onItemOpened;
|
|
357
388
|
private _drag;
|
|
358
389
|
private _dragData;
|
|
390
|
+
private _resizeData;
|
|
359
391
|
private _selectTimer;
|
|
360
392
|
private _isCut;
|
|
361
393
|
private _prevPath;
|
|
@@ -371,10 +403,15 @@ export declare class DirListing extends Widget {
|
|
|
371
403
|
private _inRename;
|
|
372
404
|
private _isDirty;
|
|
373
405
|
private _hiddenColumns;
|
|
406
|
+
private _columnSizes;
|
|
374
407
|
private _sortNotebooksFirst;
|
|
408
|
+
private _allowSingleClick;
|
|
375
409
|
private _focusIndex;
|
|
376
410
|
private _modifiedWidth;
|
|
377
411
|
private _modifiedStyle;
|
|
412
|
+
private _allUploaded;
|
|
413
|
+
private _width;
|
|
414
|
+
private _state;
|
|
378
415
|
}
|
|
379
416
|
/**
|
|
380
417
|
* The namespace for the `DirListing` class statics.
|
|
@@ -383,7 +420,7 @@ export declare namespace DirListing {
|
|
|
383
420
|
/**
|
|
384
421
|
* An options object for initializing a file browser directory listing.
|
|
385
422
|
*/
|
|
386
|
-
interface IOptions {
|
|
423
|
+
export interface IOptions {
|
|
387
424
|
/**
|
|
388
425
|
* A file browser model instance.
|
|
389
426
|
*/
|
|
@@ -398,11 +435,16 @@ export declare namespace DirListing {
|
|
|
398
435
|
* A language translator.
|
|
399
436
|
*/
|
|
400
437
|
translator?: ITranslator;
|
|
438
|
+
/**
|
|
439
|
+
* An optional state database. If provided, the widget will restore
|
|
440
|
+
* the columns sizes
|
|
441
|
+
*/
|
|
442
|
+
state?: IStateDB;
|
|
401
443
|
}
|
|
402
444
|
/**
|
|
403
445
|
* A sort state.
|
|
404
446
|
*/
|
|
405
|
-
interface ISortState {
|
|
447
|
+
export interface ISortState {
|
|
406
448
|
/**
|
|
407
449
|
* The direction of sort.
|
|
408
450
|
*/
|
|
@@ -410,12 +452,20 @@ export declare namespace DirListing {
|
|
|
410
452
|
/**
|
|
411
453
|
* The sort key.
|
|
412
454
|
*/
|
|
413
|
-
key:
|
|
455
|
+
key: SortableColumn;
|
|
414
456
|
}
|
|
415
457
|
/**
|
|
416
458
|
* Toggleable columns.
|
|
417
459
|
*/
|
|
418
|
-
type ToggleableColumn = 'last_modified' | 'is_selected' | 'file_size';
|
|
460
|
+
export type ToggleableColumn = 'last_modified' | 'is_selected' | 'file_size';
|
|
461
|
+
/**
|
|
462
|
+
* Resizable columns.
|
|
463
|
+
*/
|
|
464
|
+
export type ResizableColumn = 'name' | 'last_modified' | 'file_size';
|
|
465
|
+
/**
|
|
466
|
+
* Sortable columns.
|
|
467
|
+
*/
|
|
468
|
+
export type SortableColumn = 'name' | 'last_modified' | 'file_size';
|
|
419
469
|
/**
|
|
420
470
|
* A file contents model thunk.
|
|
421
471
|
*
|
|
@@ -423,7 +473,7 @@ export declare namespace DirListing {
|
|
|
423
473
|
* To get the contents, call and await the `withContent`
|
|
424
474
|
* method.
|
|
425
475
|
*/
|
|
426
|
-
interface IContentsThunk {
|
|
476
|
+
export interface IContentsThunk {
|
|
427
477
|
/**
|
|
428
478
|
* The contents model.
|
|
429
479
|
*/
|
|
@@ -436,7 +486,7 @@ export declare namespace DirListing {
|
|
|
436
486
|
/**
|
|
437
487
|
* The render interface for file browser listing options.
|
|
438
488
|
*/
|
|
439
|
-
interface IRenderer {
|
|
489
|
+
export interface IRenderer {
|
|
440
490
|
/**
|
|
441
491
|
* Create the DOM node for a dir listing.
|
|
442
492
|
*/
|
|
@@ -446,7 +496,7 @@ export declare namespace DirListing {
|
|
|
446
496
|
*
|
|
447
497
|
* @param node - The header node to populate.
|
|
448
498
|
*/
|
|
449
|
-
populateHeaderNode(node: HTMLElement, translator?: ITranslator, hiddenColumns?: Set<DirListing.ToggleableColumn>): void;
|
|
499
|
+
populateHeaderNode(node: HTMLElement, translator?: ITranslator, hiddenColumns?: Set<DirListing.ToggleableColumn>, columnsSizes?: Record<IColumn['id'], number | null>): void;
|
|
450
500
|
/**
|
|
451
501
|
* Handle a header click.
|
|
452
502
|
*
|
|
@@ -462,7 +512,7 @@ export declare namespace DirListing {
|
|
|
462
512
|
*
|
|
463
513
|
* @returns A new DOM node to use as a content item.
|
|
464
514
|
*/
|
|
465
|
-
createItemNode(hiddenColumns?: Set<DirListing.ToggleableColumn>): HTMLElement;
|
|
515
|
+
createItemNode(hiddenColumns?: Set<DirListing.ToggleableColumn>, columnsSizes?: Record<IColumn['id'], number | null>): HTMLElement;
|
|
466
516
|
/**
|
|
467
517
|
* Update an item's last modified date.
|
|
468
518
|
*
|
|
@@ -484,7 +534,11 @@ export declare namespace DirListing {
|
|
|
484
534
|
*
|
|
485
535
|
* @param fileType - The file type of the item, if applicable.
|
|
486
536
|
*/
|
|
487
|
-
updateItemNode(node: HTMLElement, model: Contents.IModel, fileType?: DocumentRegistry.IFileType, translator?: ITranslator, hiddenColumns?: Set<DirListing.ToggleableColumn>, selected?: boolean, modifiedStyle?: Time.HumanStyle): void;
|
|
537
|
+
updateItemNode(node: HTMLElement, model: Contents.IModel, fileType?: DocumentRegistry.IFileType, translator?: ITranslator, hiddenColumns?: Set<DirListing.ToggleableColumn>, selected?: boolean, modifiedStyle?: Time.HumanStyle, columnsSizes?: Record<IColumn['id'], number | null>): void;
|
|
538
|
+
/**
|
|
539
|
+
* Update size of item nodes, assuming that model has not changed.
|
|
540
|
+
*/
|
|
541
|
+
updateItemSize?(node: HTMLElement, model: Contents.IModel, modifiedStyle?: Time.HumanStyle, columnsSizes?: Record<IColumn['id'], number | null>): void;
|
|
488
542
|
/**
|
|
489
543
|
* Get the node containing the file name.
|
|
490
544
|
*
|
|
@@ -519,10 +573,52 @@ export declare namespace DirListing {
|
|
|
519
573
|
*/
|
|
520
574
|
createDragImage(node: HTMLElement, count: number, trans: TranslationBundle, fileType?: DocumentRegistry.IFileType): HTMLElement;
|
|
521
575
|
}
|
|
576
|
+
interface IBaseColumn {
|
|
577
|
+
/**
|
|
578
|
+
* Name of the header class, must be unique among other columns.
|
|
579
|
+
*/
|
|
580
|
+
className: string;
|
|
581
|
+
/**
|
|
582
|
+
* Name of the item class, must be unique among other columns.
|
|
583
|
+
*/
|
|
584
|
+
itemClassName: string;
|
|
585
|
+
/**
|
|
586
|
+
* Minimum size the column should occupy.
|
|
587
|
+
*/
|
|
588
|
+
minWidth: number;
|
|
589
|
+
}
|
|
590
|
+
interface IFixedColumn extends IBaseColumn {
|
|
591
|
+
id: 'is_selected';
|
|
592
|
+
resizable: false;
|
|
593
|
+
sortable: false;
|
|
594
|
+
}
|
|
595
|
+
/**
|
|
596
|
+
* Sortable column.
|
|
597
|
+
*/
|
|
598
|
+
export interface ISortableColumn extends IBaseColumn {
|
|
599
|
+
id: SortableColumn;
|
|
600
|
+
sortable: true;
|
|
601
|
+
caretSide: 'left' | 'right';
|
|
602
|
+
}
|
|
603
|
+
/**
|
|
604
|
+
* Resizable column.
|
|
605
|
+
*/
|
|
606
|
+
export interface IResizableColumn extends IBaseColumn {
|
|
607
|
+
id: ResizableColumn;
|
|
608
|
+
resizable: true;
|
|
609
|
+
}
|
|
610
|
+
/**
|
|
611
|
+
* Columns types supported by DirListing.
|
|
612
|
+
*/
|
|
613
|
+
export type IColumn = IFixedColumn | ISortableColumn | IResizableColumn | (ISortableColumn & IResizableColumn);
|
|
614
|
+
/**
|
|
615
|
+
* Column definitions.
|
|
616
|
+
*/
|
|
617
|
+
export const columns: IColumn[];
|
|
522
618
|
/**
|
|
523
619
|
* The default implementation of an `IRenderer`.
|
|
524
620
|
*/
|
|
525
|
-
class Renderer implements IRenderer {
|
|
621
|
+
export class Renderer implements IRenderer {
|
|
526
622
|
/**
|
|
527
623
|
* Create the DOM node for a dir listing.
|
|
528
624
|
*/
|
|
@@ -532,7 +628,7 @@ export declare namespace DirListing {
|
|
|
532
628
|
*
|
|
533
629
|
* @param node - The header node to populate.
|
|
534
630
|
*/
|
|
535
|
-
populateHeaderNode(node: HTMLElement, translator?: ITranslator, hiddenColumns?: Set<DirListing.ToggleableColumn>): void;
|
|
631
|
+
populateHeaderNode(node: HTMLElement, translator?: ITranslator, hiddenColumns?: Set<DirListing.ToggleableColumn>, columnsSizes?: Record<DirListing.IColumn['id'], number | null>): void;
|
|
536
632
|
/**
|
|
537
633
|
* Handle a header click.
|
|
538
634
|
*
|
|
@@ -548,7 +644,7 @@ export declare namespace DirListing {
|
|
|
548
644
|
*
|
|
549
645
|
* @returns A new DOM node to use as a content item.
|
|
550
646
|
*/
|
|
551
|
-
createItemNode(hiddenColumns?: Set<DirListing.ToggleableColumn>): HTMLElement;
|
|
647
|
+
createItemNode(hiddenColumns?: Set<DirListing.ToggleableColumn>, columnsSizes?: Record<DirListing.IColumn['id'], number | null>): HTMLElement;
|
|
552
648
|
/**
|
|
553
649
|
* Creates a node containing a checkbox.
|
|
554
650
|
*
|
|
@@ -587,7 +683,11 @@ export declare namespace DirListing {
|
|
|
587
683
|
* @param fileType - The file type of the item, if applicable.
|
|
588
684
|
*
|
|
589
685
|
*/
|
|
590
|
-
updateItemNode(node: HTMLElement, model: Contents.IModel, fileType?: DocumentRegistry.IFileType, translator?: ITranslator, hiddenColumns?: Set<DirListing.ToggleableColumn>, selected?: boolean, modifiedStyle?: Time.HumanStyle): void;
|
|
686
|
+
updateItemNode(node: HTMLElement, model: Contents.IModel, fileType?: DocumentRegistry.IFileType, translator?: ITranslator, hiddenColumns?: Set<DirListing.ToggleableColumn>, selected?: boolean, modifiedStyle?: Time.HumanStyle, columnsSizes?: Record<DirListing.IColumn['id'], number | null>): void;
|
|
687
|
+
/**
|
|
688
|
+
* Update size of item nodes, assuming that model has not changed.
|
|
689
|
+
*/
|
|
690
|
+
updateItemSize(node: HTMLElement, model: Contents.IModel, modifiedStyle?: Time.HumanStyle, columnsSizes?: Record<DirListing.IColumn['id'], number | null>): void;
|
|
591
691
|
/**
|
|
592
692
|
* Get the node containing the file name.
|
|
593
693
|
*
|
|
@@ -617,6 +717,15 @@ export declare namespace DirListing {
|
|
|
617
717
|
* @returns An element to use as the drag image.
|
|
618
718
|
*/
|
|
619
719
|
createDragImage(node: HTMLElement, count: number, trans: TranslationBundle, fileType?: DocumentRegistry.IFileType): HTMLElement;
|
|
720
|
+
/**
|
|
721
|
+
* Factories for individual parts of the item.
|
|
722
|
+
*/
|
|
723
|
+
protected itemFactories: {
|
|
724
|
+
name: () => HTMLSpanElement;
|
|
725
|
+
last_modified: () => HTMLSpanElement;
|
|
726
|
+
file_size: () => HTMLSpanElement;
|
|
727
|
+
is_selected: () => HTMLElement;
|
|
728
|
+
};
|
|
620
729
|
/**
|
|
621
730
|
* Create a node for a header item.
|
|
622
731
|
*/
|
|
@@ -625,9 +734,14 @@ export declare namespace DirListing {
|
|
|
625
734
|
* Create a node for a header item with multiple sizes.
|
|
626
735
|
*/
|
|
627
736
|
private _createHeaderItemNodeWithSizes;
|
|
737
|
+
/**
|
|
738
|
+
* Register of most recent arguments for last modified column update.
|
|
739
|
+
*/
|
|
740
|
+
private _modifiedColumnLastUpdate;
|
|
628
741
|
}
|
|
629
742
|
/**
|
|
630
743
|
* The default `IRenderer` instance.
|
|
631
744
|
*/
|
|
632
|
-
const defaultRenderer: Renderer;
|
|
745
|
+
export const defaultRenderer: Renderer;
|
|
746
|
+
export {};
|
|
633
747
|
}
|