@jupyterlab/filebrowser 4.5.0-alpha.0 → 4.5.0-alpha.2
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 +16 -0
- package/lib/browser.js +34 -0
- package/lib/browser.js.map +1 -1
- package/lib/jest-env.d.ts +4 -0
- package/lib/jest-env.js +18 -0
- package/lib/jest-env.js.map +1 -0
- package/lib/listing.d.ts +25 -1
- package/lib/listing.js +101 -29
- package/lib/listing.js.map +1 -1
- package/lib/model.d.ts +10 -0
- package/lib/model.js +16 -2
- package/lib/model.js.map +1 -1
- package/lib/tokens.d.ts +4 -0
- package/lib/tokens.js.map +1 -1
- package/lib/upload.d.ts +7 -0
- package/lib/upload.js +16 -2
- package/lib/upload.js.map +1 -1
- package/lib/uploadstatus.js +2 -0
- package/lib/uploadstatus.js.map +1 -1
- package/package.json +12 -11
- package/src/browser.ts +37 -0
- package/src/jest-env.ts +21 -0
- package/src/listing.ts +119 -32
- package/src/model.ts +23 -0
- package/src/tokens.ts +5 -0
- package/src/upload.ts +23 -7
- package/src/uploadstatus.tsx +1 -1
package/lib/browser.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { Contents } from '@jupyterlab/services';
|
|
|
2
2
|
import { IStateDB } from '@jupyterlab/statedb';
|
|
3
3
|
import { ITranslator } from '@jupyterlab/translation';
|
|
4
4
|
import { SidePanel, Toolbar } from '@jupyterlab/ui-components';
|
|
5
|
+
import { ISignal } from '@lumino/signaling';
|
|
5
6
|
import { Panel } from '@lumino/widgets';
|
|
6
7
|
import { BreadCrumbs } from './crumbs';
|
|
7
8
|
import { DirListing } from './listing';
|
|
@@ -69,12 +70,21 @@ export declare class FileBrowser extends SidePanel {
|
|
|
69
70
|
*/
|
|
70
71
|
get singleClickNavigation(): boolean;
|
|
71
72
|
set singleClickNavigation(value: boolean);
|
|
73
|
+
/**
|
|
74
|
+
* Whether to allow upload of files.
|
|
75
|
+
*/
|
|
76
|
+
get allowFileUploads(): boolean;
|
|
77
|
+
set allowFileUploads(value: boolean);
|
|
72
78
|
/**
|
|
73
79
|
* Create an iterator over the listing's selected items.
|
|
74
80
|
*
|
|
75
81
|
* @returns A new iterator over the listing's selected items.
|
|
76
82
|
*/
|
|
77
83
|
selectedItems(): IterableIterator<Contents.IModel>;
|
|
84
|
+
/**
|
|
85
|
+
* A signal emitted when the selection changes in the file browser.
|
|
86
|
+
*/
|
|
87
|
+
get selectionChanged(): ISignal<this, void>;
|
|
78
88
|
/**
|
|
79
89
|
* Select an item by name.
|
|
80
90
|
*
|
|
@@ -123,6 +133,10 @@ export declare class FileBrowser extends SidePanel {
|
|
|
123
133
|
* @returns A promise that resolves when the operation is complete.
|
|
124
134
|
*/
|
|
125
135
|
duplicate(): Promise<void>;
|
|
136
|
+
/**
|
|
137
|
+
* Select all listing items.
|
|
138
|
+
*/
|
|
139
|
+
selectAll(): Promise<void>;
|
|
126
140
|
/**
|
|
127
141
|
* Download the currently selected item(s).
|
|
128
142
|
*/
|
|
@@ -194,6 +208,8 @@ export declare class FileBrowser extends SidePanel {
|
|
|
194
208
|
private _showHiddenFiles;
|
|
195
209
|
private _showLastModifiedColumn;
|
|
196
210
|
private _sortNotebooksFirst;
|
|
211
|
+
private _allowFileUploads;
|
|
212
|
+
private _selectionChanged;
|
|
197
213
|
}
|
|
198
214
|
/**
|
|
199
215
|
* The namespace for the `FileBrowser` class statics.
|
package/lib/browser.js
CHANGED
|
@@ -5,6 +5,7 @@ import { PathExt } from '@jupyterlab/coreutils';
|
|
|
5
5
|
import { ServerConnection } from '@jupyterlab/services';
|
|
6
6
|
import { nullTranslator } from '@jupyterlab/translation';
|
|
7
7
|
import { FilenameSearcher, SidePanel, Toolbar } from '@jupyterlab/ui-components';
|
|
8
|
+
import { Signal } from '@lumino/signaling';
|
|
8
9
|
import { Panel } from '@lumino/widgets';
|
|
9
10
|
import { createRef } from 'react';
|
|
10
11
|
import { BreadCrumbs } from './crumbs';
|
|
@@ -63,6 +64,8 @@ export class FileBrowser extends SidePanel {
|
|
|
63
64
|
this._showHiddenFiles = false;
|
|
64
65
|
this._showLastModifiedColumn = true;
|
|
65
66
|
this._sortNotebooksFirst = false;
|
|
67
|
+
this._allowFileUploads = true;
|
|
68
|
+
this._selectionChanged = new Signal(this);
|
|
66
69
|
this.addClass(FILE_BROWSER_CLASS);
|
|
67
70
|
this.toolbar.addClass(TOOLBAR_CLASS);
|
|
68
71
|
this.id = options.id;
|
|
@@ -105,6 +108,9 @@ export class FileBrowser extends SidePanel {
|
|
|
105
108
|
state: options.state
|
|
106
109
|
});
|
|
107
110
|
this.listing.addClass(LISTING_CLASS);
|
|
111
|
+
this.listing.selectionChanged.connect(() => {
|
|
112
|
+
this._selectionChanged.emit();
|
|
113
|
+
});
|
|
108
114
|
this.mainPanel.addWidget(this.crumbs);
|
|
109
115
|
this.mainPanel.addWidget(this.filterToolbar);
|
|
110
116
|
this.mainPanel.addWidget(this.listing);
|
|
@@ -246,6 +252,22 @@ export class FileBrowser extends SidePanel {
|
|
|
246
252
|
console.warn('Listing does not support single click navigation');
|
|
247
253
|
}
|
|
248
254
|
}
|
|
255
|
+
/**
|
|
256
|
+
* Whether to allow upload of files.
|
|
257
|
+
*/
|
|
258
|
+
get allowFileUploads() {
|
|
259
|
+
return this._allowFileUploads;
|
|
260
|
+
}
|
|
261
|
+
set allowFileUploads(value) {
|
|
262
|
+
this.model.allowFileUploads = value;
|
|
263
|
+
if (this.listing.setAllowDragDropUpload) {
|
|
264
|
+
this.listing.setAllowDragDropUpload(value);
|
|
265
|
+
this._allowFileUploads = value;
|
|
266
|
+
}
|
|
267
|
+
else {
|
|
268
|
+
console.warn('Listing does not support setting upload');
|
|
269
|
+
}
|
|
270
|
+
}
|
|
249
271
|
/**
|
|
250
272
|
* Create an iterator over the listing's selected items.
|
|
251
273
|
*
|
|
@@ -254,6 +276,12 @@ export class FileBrowser extends SidePanel {
|
|
|
254
276
|
selectedItems() {
|
|
255
277
|
return this.listing.selectedItems();
|
|
256
278
|
}
|
|
279
|
+
/**
|
|
280
|
+
* A signal emitted when the selection changes in the file browser.
|
|
281
|
+
*/
|
|
282
|
+
get selectionChanged() {
|
|
283
|
+
return this._selectionChanged;
|
|
284
|
+
}
|
|
257
285
|
/**
|
|
258
286
|
* Select an item by name.
|
|
259
287
|
*
|
|
@@ -363,6 +391,12 @@ export class FileBrowser extends SidePanel {
|
|
|
363
391
|
duplicate() {
|
|
364
392
|
return this.listing.duplicate();
|
|
365
393
|
}
|
|
394
|
+
/**
|
|
395
|
+
* Select all listing items.
|
|
396
|
+
*/
|
|
397
|
+
selectAll() {
|
|
398
|
+
return this.listing.selectAll();
|
|
399
|
+
}
|
|
366
400
|
/**
|
|
367
401
|
* Download the currently selected item(s).
|
|
368
402
|
*/
|
package/lib/browser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"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"}
|
package/lib/jest-env.js
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) Jupyter Development Team.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
// From: https://github.com/jsdom/jsdom/issues/1724#issuecomment-1446858041
|
|
6
|
+
// Mostly the same as in @jupyterlab/testing, but using jsdom version of `File`
|
|
7
|
+
// so that it is compatible with `FileReader` from jsdom.
|
|
8
|
+
import JSDOMEnvironment from 'jest-environment-jsdom';
|
|
9
|
+
export default class FixJSDOMEnvironment extends JSDOMEnvironment {
|
|
10
|
+
constructor(...args) {
|
|
11
|
+
super(...args);
|
|
12
|
+
this.global.fetch = fetch;
|
|
13
|
+
this.global.Headers = Headers;
|
|
14
|
+
this.global.Request = Request;
|
|
15
|
+
this.global.Response = Response;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=jest-env.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jest-env.js","sourceRoot":"","sources":["../src/jest-env.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,2EAA2E;AAC3E,+EAA+E;AAC/E,yDAAyD;AAEzD,OAAO,gBAAgB,MAAM,wBAAwB,CAAC;AAEtD,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,gBAAgB;IAC/D,YAAY,GAAG,IAAoD;QACjE,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QAEf,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAClC,CAAC;CACF"}
|
package/lib/listing.d.ts
CHANGED
|
@@ -56,6 +56,10 @@ export declare class DirListing extends Widget {
|
|
|
56
56
|
* A signal fired when an item is opened.
|
|
57
57
|
*/
|
|
58
58
|
get onItemOpened(): ISignal<DirListing, Contents.IModel>;
|
|
59
|
+
/**
|
|
60
|
+
* A signal fired when the selection changes.
|
|
61
|
+
*/
|
|
62
|
+
get selectionChanged(): ISignal<DirListing, void>;
|
|
59
63
|
/**
|
|
60
64
|
* Create an iterator over the listing's selected items.
|
|
61
65
|
*
|
|
@@ -104,6 +108,10 @@ export declare class DirListing extends Widget {
|
|
|
104
108
|
* @returns A promise that resolves when the operation is complete.
|
|
105
109
|
*/
|
|
106
110
|
duplicate(): Promise<void>;
|
|
111
|
+
/**
|
|
112
|
+
* Select all listing items in the current directory.
|
|
113
|
+
*/
|
|
114
|
+
selectAll(): Promise<void>;
|
|
107
115
|
/**
|
|
108
116
|
* Download the currently selected item(s).
|
|
109
117
|
*/
|
|
@@ -157,7 +165,7 @@ export declare class DirListing extends Widget {
|
|
|
157
165
|
/**
|
|
158
166
|
* Clear the selected items.
|
|
159
167
|
*/
|
|
160
|
-
clearSelectedItems(): void;
|
|
168
|
+
clearSelectedItems(emit?: boolean): void;
|
|
161
169
|
/**
|
|
162
170
|
* Select an item by name.
|
|
163
171
|
*
|
|
@@ -234,6 +242,11 @@ export declare class DirListing extends Widget {
|
|
|
234
242
|
* This enables opening files/directories with a single click.
|
|
235
243
|
*/
|
|
236
244
|
setAllowSingleClickNavigation(isEnabled: boolean): void;
|
|
245
|
+
/**
|
|
246
|
+
* Update the setting to allow drag and drop upload.
|
|
247
|
+
* This enables uploading files via drag and drop.
|
|
248
|
+
*/
|
|
249
|
+
setAllowDragDropUpload(isEnabled: boolean): void;
|
|
237
250
|
/**
|
|
238
251
|
* Would this click (or other event type) hit the checkbox by default?
|
|
239
252
|
*/
|
|
@@ -387,6 +400,7 @@ export declare class DirListing extends Widget {
|
|
|
387
400
|
private _sortedItems;
|
|
388
401
|
private _sortState;
|
|
389
402
|
private _onItemOpened;
|
|
403
|
+
private _selectionChanged;
|
|
390
404
|
private _drag;
|
|
391
405
|
private _dragData;
|
|
392
406
|
private _resizeData;
|
|
@@ -408,6 +422,7 @@ export declare class DirListing extends Widget {
|
|
|
408
422
|
private _columnSizes;
|
|
409
423
|
private _sortNotebooksFirst;
|
|
410
424
|
private _allowSingleClick;
|
|
425
|
+
private _allowDragDropUpload;
|
|
411
426
|
private _focusIndex;
|
|
412
427
|
private _modifiedWidth;
|
|
413
428
|
private _modifiedStyle;
|
|
@@ -447,6 +462,11 @@ export declare namespace DirListing {
|
|
|
447
462
|
* the columns sizes
|
|
448
463
|
*/
|
|
449
464
|
state?: IStateDB;
|
|
465
|
+
/**
|
|
466
|
+
* Whether to allow drag and drop upload of files.
|
|
467
|
+
* The default is `true`.
|
|
468
|
+
*/
|
|
469
|
+
allowDragDropUpload?: boolean;
|
|
450
470
|
}
|
|
451
471
|
/**
|
|
452
472
|
* A sort state.
|
|
@@ -759,3 +779,7 @@ export declare namespace DirListing {
|
|
|
759
779
|
export const defaultRenderer: Renderer;
|
|
760
780
|
export {};
|
|
761
781
|
}
|
|
782
|
+
/**
|
|
783
|
+
* Format bytes to human readable string.
|
|
784
|
+
*/
|
|
785
|
+
export declare function formatFileSize(bytes: number, decimalPoint: number, k: number): string;
|
package/lib/listing.js
CHANGED
|
@@ -162,6 +162,7 @@ export class DirListing extends Widget {
|
|
|
162
162
|
* @param options The constructor options
|
|
163
163
|
*/
|
|
164
164
|
constructor(options) {
|
|
165
|
+
var _a;
|
|
165
166
|
super({
|
|
166
167
|
node: (options.renderer || DirListing.defaultRenderer).createNode()
|
|
167
168
|
});
|
|
@@ -172,6 +173,7 @@ export class DirListing extends Widget {
|
|
|
172
173
|
key: 'name'
|
|
173
174
|
};
|
|
174
175
|
this._onItemOpened = new Signal(this);
|
|
176
|
+
this._selectionChanged = new Signal(this);
|
|
175
177
|
this._drag = null;
|
|
176
178
|
this._dragData = null;
|
|
177
179
|
this._resizeData = null;
|
|
@@ -194,6 +196,7 @@ export class DirListing extends Widget {
|
|
|
194
196
|
};
|
|
195
197
|
this._sortNotebooksFirst = false;
|
|
196
198
|
this._allowSingleClick = false;
|
|
199
|
+
this._allowDragDropUpload = true;
|
|
197
200
|
// _focusIndex should never be set outside the range [0, this._items.length - 1]
|
|
198
201
|
this._focusIndex = 0;
|
|
199
202
|
this._allUploaded = new Signal(this);
|
|
@@ -216,6 +219,7 @@ export class DirListing extends Widget {
|
|
|
216
219
|
this._manager = this._model.manager;
|
|
217
220
|
this._renderer = options.renderer || DirListing.defaultRenderer;
|
|
218
221
|
this._state = options.state || null;
|
|
222
|
+
this._allowDragDropUpload = (_a = options.allowDragDropUpload) !== null && _a !== void 0 ? _a : true;
|
|
219
223
|
// Get the width of the "modified" column
|
|
220
224
|
this._updateModifiedSize(this.node);
|
|
221
225
|
const headerNode = DOMUtils.findElement(this.node, HEADER_CLASS);
|
|
@@ -279,6 +283,12 @@ export class DirListing extends Widget {
|
|
|
279
283
|
get onItemOpened() {
|
|
280
284
|
return this._onItemOpened;
|
|
281
285
|
}
|
|
286
|
+
/**
|
|
287
|
+
* A signal fired when the selection changes.
|
|
288
|
+
*/
|
|
289
|
+
get selectionChanged() {
|
|
290
|
+
return this._selectionChanged;
|
|
291
|
+
}
|
|
282
292
|
/**
|
|
283
293
|
* Create an iterator over the listing's selected items.
|
|
284
294
|
*
|
|
@@ -435,6 +445,19 @@ export class DirListing extends Widget {
|
|
|
435
445
|
void showErrorMessage(this._trans._p('showErrorMessage', 'Duplicate file'), error);
|
|
436
446
|
});
|
|
437
447
|
}
|
|
448
|
+
/**
|
|
449
|
+
* Select all listing items in the current directory.
|
|
450
|
+
*/
|
|
451
|
+
async selectAll() {
|
|
452
|
+
const items = this._model.items();
|
|
453
|
+
const newSelection = {};
|
|
454
|
+
for (const item of items) {
|
|
455
|
+
newSelection[item.path] = true;
|
|
456
|
+
}
|
|
457
|
+
this.selection = newSelection;
|
|
458
|
+
this._selectionChanged.emit();
|
|
459
|
+
this.update();
|
|
460
|
+
}
|
|
438
461
|
/**
|
|
439
462
|
* Download the currently selected item(s).
|
|
440
463
|
*/
|
|
@@ -604,8 +627,11 @@ export class DirListing extends Widget {
|
|
|
604
627
|
/**
|
|
605
628
|
* Clear the selected items.
|
|
606
629
|
*/
|
|
607
|
-
clearSelectedItems() {
|
|
630
|
+
clearSelectedItems(emit = true) {
|
|
608
631
|
this.selection = Object.create(null);
|
|
632
|
+
if (emit) {
|
|
633
|
+
this._selectionChanged.emit();
|
|
634
|
+
}
|
|
609
635
|
}
|
|
610
636
|
/**
|
|
611
637
|
* Select an item by name.
|
|
@@ -678,7 +704,10 @@ export class DirListing extends Widget {
|
|
|
678
704
|
break;
|
|
679
705
|
case 'dragenter':
|
|
680
706
|
case 'dragover':
|
|
681
|
-
|
|
707
|
+
// Only show visual feedback if drag and drop upload is enabled
|
|
708
|
+
if (this._allowDragDropUpload) {
|
|
709
|
+
this.addClass('jp-mod-native-drop');
|
|
710
|
+
}
|
|
682
711
|
event.preventDefault();
|
|
683
712
|
break;
|
|
684
713
|
case 'dragleave':
|
|
@@ -731,6 +760,7 @@ export class DirListing extends Widget {
|
|
|
731
760
|
content.addEventListener('lm-dragleave', this);
|
|
732
761
|
content.addEventListener('lm-dragover', this);
|
|
733
762
|
content.addEventListener('lm-drop', this);
|
|
763
|
+
this._updateColumnSizes();
|
|
734
764
|
}
|
|
735
765
|
/**
|
|
736
766
|
* A message handler invoked on a `'before-detach'` message.
|
|
@@ -894,6 +924,8 @@ export class DirListing extends Widget {
|
|
|
894
924
|
// Fetch common variables.
|
|
895
925
|
const items = this._sortedItems;
|
|
896
926
|
const nodes = this._items;
|
|
927
|
+
// If we didn't get any item yet, we'll need to resize once items are added
|
|
928
|
+
const needsResize = nodes.length === 0;
|
|
897
929
|
const content = DOMUtils.findElement(this.node, CONTENT_CLASS);
|
|
898
930
|
const renderer = this._renderer;
|
|
899
931
|
this.removeClass(MULTI_SELECTED_CLASS);
|
|
@@ -919,12 +951,19 @@ export class DirListing extends Widget {
|
|
|
919
951
|
if (checkbox) {
|
|
920
952
|
checkbox.checked = false;
|
|
921
953
|
}
|
|
922
|
-
// Handle `tabIndex`
|
|
954
|
+
// Handle `tabIndex` & `role`
|
|
923
955
|
const nameNode = renderer.getNameNode(node);
|
|
924
956
|
if (nameNode) {
|
|
925
957
|
// Must check if the name node is there because it gets replaced by the
|
|
926
958
|
// edit node when editing the name of the file or directory.
|
|
927
|
-
|
|
959
|
+
if (i === this._focusIndex) {
|
|
960
|
+
nameNode.setAttribute('tabIndex', '0');
|
|
961
|
+
nameNode.setAttribute('role', 'button');
|
|
962
|
+
}
|
|
963
|
+
else {
|
|
964
|
+
nameNode.setAttribute('tabIndex', '-1');
|
|
965
|
+
nameNode.removeAttribute('role');
|
|
966
|
+
}
|
|
928
967
|
}
|
|
929
968
|
});
|
|
930
969
|
// Put the check-all checkbox in the header into the correct state
|
|
@@ -947,6 +986,10 @@ export class DirListing extends Widget {
|
|
|
947
986
|
: trans.__('Select all files and directories'));
|
|
948
987
|
}
|
|
949
988
|
this.updateNodes(items, nodes);
|
|
989
|
+
if (needsResize) {
|
|
990
|
+
this._width = this._computeContentWidth();
|
|
991
|
+
this._updateColumnSizes();
|
|
992
|
+
}
|
|
950
993
|
this._prevPath = this._model.path;
|
|
951
994
|
}
|
|
952
995
|
onResize(msg) {
|
|
@@ -1108,6 +1151,13 @@ export class DirListing extends Widget {
|
|
|
1108
1151
|
setAllowSingleClickNavigation(isEnabled) {
|
|
1109
1152
|
this._allowSingleClick = isEnabled;
|
|
1110
1153
|
}
|
|
1154
|
+
/**
|
|
1155
|
+
* Update the setting to allow drag and drop upload.
|
|
1156
|
+
* This enables uploading files via drag and drop.
|
|
1157
|
+
*/
|
|
1158
|
+
setAllowDragDropUpload(isEnabled) {
|
|
1159
|
+
this._allowDragDropUpload = isEnabled;
|
|
1160
|
+
}
|
|
1111
1161
|
/**
|
|
1112
1162
|
* Would this click (or other event type) hit the checkbox by default?
|
|
1113
1163
|
*/
|
|
@@ -1140,6 +1190,7 @@ export class DirListing extends Widget {
|
|
|
1140
1190
|
if (previouslyUnchecked) {
|
|
1141
1191
|
// Select all items
|
|
1142
1192
|
this._sortedItems.forEach((item) => (this.selection[item.path] = true));
|
|
1193
|
+
this._selectionChanged.emit();
|
|
1143
1194
|
}
|
|
1144
1195
|
else {
|
|
1145
1196
|
// Unselect all items
|
|
@@ -1256,6 +1307,7 @@ export class DirListing extends Widget {
|
|
|
1256
1307
|
if (!altered && event.button === 0) {
|
|
1257
1308
|
this.clearSelectedItems();
|
|
1258
1309
|
this.selection[this._softSelection] = true;
|
|
1310
|
+
this._selectionChanged.emit();
|
|
1259
1311
|
this.update();
|
|
1260
1312
|
}
|
|
1261
1313
|
this._softSelection = '';
|
|
@@ -1470,6 +1522,7 @@ export class DirListing extends Widget {
|
|
|
1470
1522
|
else {
|
|
1471
1523
|
this.selection[path] = true;
|
|
1472
1524
|
}
|
|
1525
|
+
this._selectionChanged.emit();
|
|
1473
1526
|
this.update();
|
|
1474
1527
|
// Key was handled, so return.
|
|
1475
1528
|
return;
|
|
@@ -1538,6 +1591,10 @@ export class DirListing extends Widget {
|
|
|
1538
1591
|
var _a, _b, _c;
|
|
1539
1592
|
// Prevent navigation
|
|
1540
1593
|
event.preventDefault();
|
|
1594
|
+
// Check if drag and drop upload is disabled
|
|
1595
|
+
if (!this._allowDragDropUpload) {
|
|
1596
|
+
return;
|
|
1597
|
+
}
|
|
1541
1598
|
const items = (_a = event.dataTransfer) === null || _a === void 0 ? void 0 : _a.items;
|
|
1542
1599
|
if (!items) {
|
|
1543
1600
|
// Fallback to simple upload of files (if any)
|
|
@@ -1808,6 +1865,7 @@ export class DirListing extends Widget {
|
|
|
1808
1865
|
else {
|
|
1809
1866
|
this.selection[path] = true;
|
|
1810
1867
|
}
|
|
1868
|
+
this._selectionChanged.emit();
|
|
1811
1869
|
this._focusItem(index);
|
|
1812
1870
|
// Handle multiple select.
|
|
1813
1871
|
}
|
|
@@ -1885,7 +1943,10 @@ export class DirListing extends Widget {
|
|
|
1885
1943
|
// the focussed item to gain but not lose selected status on shift-click.
|
|
1886
1944
|
// (MacOS is irrelevant here because MacOS Finder has no notion of a
|
|
1887
1945
|
// focused-but-not-selected state.)
|
|
1888
|
-
this.selection[target.path]
|
|
1946
|
+
if (!this.selection[target.path]) {
|
|
1947
|
+
this.selection[target.path] = true;
|
|
1948
|
+
this._selectionChanged.emit();
|
|
1949
|
+
}
|
|
1889
1950
|
return;
|
|
1890
1951
|
}
|
|
1891
1952
|
// If the target and all items in-between are selected, then we assume that
|
|
@@ -1913,6 +1974,7 @@ export class DirListing extends Widget {
|
|
|
1913
1974
|
// boundary or unselected
|
|
1914
1975
|
(!anteAnchor || !this.selection[anteAnchor.path])) {
|
|
1915
1976
|
delete this.selection[anchor.path];
|
|
1977
|
+
this._selectionChanged.emit();
|
|
1916
1978
|
}
|
|
1917
1979
|
}
|
|
1918
1980
|
else if (this._allSelectedBetween(fromIndex, index)) {
|
|
@@ -1922,22 +1984,32 @@ export class DirListing extends Widget {
|
|
|
1922
1984
|
// Select (or unselect) the rows between chosen index (target) and the last
|
|
1923
1985
|
// focussed.
|
|
1924
1986
|
const step = fromIndex < index ? 1 : -1;
|
|
1987
|
+
let selectionModified = false;
|
|
1925
1988
|
for (let i = fromIndex; i !== index + step; i += step) {
|
|
1926
1989
|
if (shouldAdd) {
|
|
1927
1990
|
if (i === fromIndex) {
|
|
1928
1991
|
// Do not change the selection state of the starting (fromIndex) item.
|
|
1929
1992
|
continue;
|
|
1930
1993
|
}
|
|
1931
|
-
this.selection[items[i].path]
|
|
1994
|
+
if (!this.selection[items[i].path]) {
|
|
1995
|
+
this.selection[items[i].path] = true;
|
|
1996
|
+
selectionModified = true;
|
|
1997
|
+
}
|
|
1932
1998
|
}
|
|
1933
1999
|
else {
|
|
1934
2000
|
if (i === index) {
|
|
1935
2001
|
// Do not unselect the target item.
|
|
1936
2002
|
continue;
|
|
1937
2003
|
}
|
|
1938
|
-
|
|
2004
|
+
if (this.selection[items[i].path]) {
|
|
2005
|
+
delete this.selection[items[i].path];
|
|
2006
|
+
selectionModified = true;
|
|
2007
|
+
}
|
|
1939
2008
|
}
|
|
1940
2009
|
}
|
|
2010
|
+
if (selectionModified) {
|
|
2011
|
+
this._selectionChanged.emit();
|
|
2012
|
+
}
|
|
1941
2013
|
}
|
|
1942
2014
|
/**
|
|
1943
2015
|
* Copy the selected items, and optionally cut as well.
|
|
@@ -2050,6 +2122,7 @@ export class DirListing extends Widget {
|
|
|
2050
2122
|
}
|
|
2051
2123
|
const path = items[index].path;
|
|
2052
2124
|
this.selection[path] = true;
|
|
2125
|
+
this._selectionChanged.emit();
|
|
2053
2126
|
if (focus) {
|
|
2054
2127
|
this._focusItem(index);
|
|
2055
2128
|
}
|
|
@@ -2061,7 +2134,7 @@ export class DirListing extends Widget {
|
|
|
2061
2134
|
_onModelRefreshed() {
|
|
2062
2135
|
// Update the selection.
|
|
2063
2136
|
const existing = Object.keys(this.selection);
|
|
2064
|
-
this.clearSelectedItems();
|
|
2137
|
+
this.clearSelectedItems(false);
|
|
2065
2138
|
for (const item of this._model.items()) {
|
|
2066
2139
|
const path = item.path;
|
|
2067
2140
|
if (existing.indexOf(path) !== -1) {
|
|
@@ -2497,11 +2570,11 @@ export class DirListing extends Widget {
|
|
|
2497
2570
|
let hoverText = trans.__('Name: %1', model.name);
|
|
2498
2571
|
// add file size to pop up if its available
|
|
2499
2572
|
if (model.size !== null && model.size !== undefined) {
|
|
2500
|
-
const fileSizeText =
|
|
2573
|
+
const fileSizeText = formatFileSize(model.size, 1, 1024);
|
|
2501
2574
|
if (fileSize) {
|
|
2502
2575
|
fileSize.textContent = fileSizeText;
|
|
2503
2576
|
}
|
|
2504
|
-
hoverText += trans.__('\nSize: %1',
|
|
2577
|
+
hoverText += trans.__('\nSize: %1', formatFileSize(model.size, 1, 1024));
|
|
2505
2578
|
}
|
|
2506
2579
|
else if (fileSize) {
|
|
2507
2580
|
fileSize.textContent = '';
|
|
@@ -2833,25 +2906,6 @@ var Private;
|
|
|
2833
2906
|
event.target === node);
|
|
2834
2907
|
}
|
|
2835
2908
|
Private.hitTestNodes = hitTestNodes;
|
|
2836
|
-
/**
|
|
2837
|
-
* Format bytes to human readable string.
|
|
2838
|
-
*/
|
|
2839
|
-
function formatFileSize(bytes, decimalPoint, k) {
|
|
2840
|
-
// https://www.codexworld.com/how-to/convert-file-size-bytes-kb-mb-gb-javascript/
|
|
2841
|
-
if (bytes === 0) {
|
|
2842
|
-
return '0 B';
|
|
2843
|
-
}
|
|
2844
|
-
const dm = decimalPoint || 2;
|
|
2845
|
-
const sizes = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];
|
|
2846
|
-
const i = Math.floor(Math.log(bytes) / Math.log(k));
|
|
2847
|
-
if (i >= 0 && i < sizes.length) {
|
|
2848
|
-
return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i];
|
|
2849
|
-
}
|
|
2850
|
-
else {
|
|
2851
|
-
return String(bytes);
|
|
2852
|
-
}
|
|
2853
|
-
}
|
|
2854
|
-
Private.formatFileSize = formatFileSize;
|
|
2855
2909
|
/**
|
|
2856
2910
|
* Update an inline svg caret icon in a node.
|
|
2857
2911
|
*/
|
|
@@ -2937,4 +2991,22 @@ var Private;
|
|
|
2937
2991
|
}
|
|
2938
2992
|
Private.collectEntries = collectEntries;
|
|
2939
2993
|
})(Private || (Private = {}));
|
|
2994
|
+
/**
|
|
2995
|
+
* Format bytes to human readable string.
|
|
2996
|
+
*/
|
|
2997
|
+
export function formatFileSize(bytes, decimalPoint, k) {
|
|
2998
|
+
// https://www.codexworld.com/how-to/convert-file-size-bytes-kb-mb-gb-javascript/
|
|
2999
|
+
if (bytes === 0) {
|
|
3000
|
+
return '0 B';
|
|
3001
|
+
}
|
|
3002
|
+
const dm = decimalPoint || 2;
|
|
3003
|
+
const sizes = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];
|
|
3004
|
+
const i = Math.floor(Math.log(bytes) / Math.log(k));
|
|
3005
|
+
if (i >= 0 && i < sizes.length) {
|
|
3006
|
+
return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i];
|
|
3007
|
+
}
|
|
3008
|
+
else {
|
|
3009
|
+
return String(bytes);
|
|
3010
|
+
}
|
|
3011
|
+
}
|
|
2940
3012
|
//# sourceMappingURL=listing.js.map
|