@elderbyte/ngx-starter 18.2.0 → 18.3.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.
|
@@ -20,19 +20,19 @@ export class FileEntry {
|
|
|
20
20
|
/**
|
|
21
21
|
* Creates an Observable of a File Entry by resolving its FileSystemFileHandle.
|
|
22
22
|
* @param fileHandle
|
|
23
|
-
* @param rootDirectory is needed to build a relative parent
|
|
23
|
+
* @param rootDirectory is needed to build a relative parent. Additionally useful for requesting permissions
|
|
24
24
|
*/
|
|
25
25
|
static ofFileHandle(fileHandle, rootDirectory) {
|
|
26
|
-
return from(fileHandle.getFile()).pipe(combineLatestWith(FileSystemApi.buildRelativeParent(fileHandle, rootDirectory)), map(([file, relativeParent]) => FileEntry.relativeFile(file, relativeParent, fileHandle)));
|
|
26
|
+
return from(fileHandle.getFile()).pipe(combineLatestWith(FileSystemApi.buildRelativeParent(fileHandle, rootDirectory)), map(([file, relativeParent]) => FileEntry.relativeFile(file, relativeParent, fileHandle, rootDirectory)));
|
|
27
27
|
}
|
|
28
28
|
/**
|
|
29
29
|
* Creates a file Entry with a relative parent path
|
|
30
30
|
*/
|
|
31
|
-
static relativeFile(file, relativeParent, fileHandle) {
|
|
31
|
+
static relativeFile(file, relativeParent, fileHandle, rootDirectoryHandle) {
|
|
32
32
|
if (relativeParent && relativeParent.endsWith('/')) {
|
|
33
33
|
relativeParent = relativeParent.substring(0, relativeParent.length - 1);
|
|
34
34
|
}
|
|
35
|
-
return new FileEntry(file, relativeParent, fileHandle);
|
|
35
|
+
return new FileEntry(file, relativeParent, fileHandle, rootDirectoryHandle);
|
|
36
36
|
}
|
|
37
37
|
static toFileMap(entries) {
|
|
38
38
|
const map = new Map();
|
|
@@ -52,10 +52,11 @@ export class FileEntry {
|
|
|
52
52
|
* Contains the relative path from the selected folder
|
|
53
53
|
* to this file. Only relevant if the user has selected a folder.
|
|
54
54
|
*/
|
|
55
|
-
relativeParent, fileHandle) {
|
|
55
|
+
relativeParent, fileHandle, rootDirectoryHandle) {
|
|
56
56
|
this.file = file;
|
|
57
57
|
this.relativeParent = relativeParent;
|
|
58
58
|
this.fileHandle = fileHandle;
|
|
59
|
+
this.rootDirectoryHandle = rootDirectoryHandle;
|
|
59
60
|
this.relativePath = FileEntry.buildRelativePath(relativeParent, file);
|
|
60
61
|
}
|
|
61
62
|
/***************************************************************************
|
|
@@ -88,4 +89,4 @@ export class FileEntry {
|
|
|
88
89
|
return relativeParent;
|
|
89
90
|
}
|
|
90
91
|
}
|
|
91
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1lbnRyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvZmlsZXMvbGlzdGluZy9maWxlLWVudHJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxJQUFJLEVBQWEsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFDLGlCQUFpQixFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3RELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUVqRDs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLFNBQVM7SUFFcEI7Ozs7OztPQU1HO0lBQ0ksTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFVO1FBRTdCLE9BQU8sU0FBUyxDQUFDLFlBQVksQ0FDM0IsSUFBSSxFQUNKLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FDL0IsQ0FBQztJQUNKLENBQUM7SUFHRDs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLFlBQVksQ0FDeEIsVUFBZ0MsRUFDaEMsYUFBeUM7UUFHdkMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxDQUNwQyxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsbUJBQW1CLENBQUMsVUFBVSxFQUFFLGFBQWEsQ0FBQyxDQUFDLEVBQy9FLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLGNBQWMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUNwRCxJQUFJLEVBQ0osY0FBYyxFQUNkLFVBQVUsRUFDVixhQUFhLENBQUMsQ0FBQyxDQUNsQixDQUFDO0lBQ04sQ0FBQztJQUlEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLFlBQVksQ0FDeEIsSUFBVSxFQUNWLGNBQTZCLEVBQzdCLFVBQWlDLEVBQ2pDLG1CQUErQztRQUUvQyxJQUFJLGNBQWMsSUFBSSxjQUFjLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDbkQsY0FBYyxHQUFHLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLGNBQWMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDMUUsQ0FBQztRQUNELE9BQU8sSUFBSSxTQUFTLENBQUMsSUFBSSxFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRU0sTUFBTSxDQUFDLFNBQVMsQ0FBQyxPQUFvQjtRQUMxQyxNQUFNLEdBQUcsR0FBRyxJQUFJLEdBQUcsRUFBbUIsQ0FBQztRQUN2QyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekMsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRU0sTUFBTSxDQUFDLFdBQVcsQ0FBQyxPQUFvQjtRQUM1QyxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQWFEOzs7O2dGQUk0RTtJQUU1RSxZQUNrQixJQUFVO0lBQzFCOzs7T0FHRztJQUNhLGNBQTZCLEVBQzdCLFVBQWlDLEVBQ2pDLG1CQUErQztRQVAvQyxTQUFJLEdBQUosSUFBSSxDQUFNO1FBS1YsbUJBQWMsR0FBZCxjQUFjLENBQWU7UUFDN0IsZUFBVSxHQUFWLFVBQVUsQ0FBdUI7UUFDakMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUE0QjtRQUUvRCxJQUFJLENBQUMsWUFBWSxHQUFHLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUU1RTs7T0FFRztJQUNLLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxjQUFzQixFQUFFLElBQVU7UUFDakUsSUFBSSxjQUFjLElBQUksSUFBSSxFQUFFLENBQUM7WUFDM0IsT0FBTyxjQUFjLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDMUMsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDbkIsQ0FBQztJQUNILENBQUM7SUFHTyxNQUFNLENBQUMsbUJBQW1CLENBQUMsSUFBVTtRQUMzQyxJQUFJLGNBQWMsR0FBVyxJQUFJLENBQUM7UUFFbEMsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUM1QixJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQ2hELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7Z0JBQ3BFLGNBQWMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQztZQUNuRSxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sY0FBYyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztZQUMzQyxDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sY0FBYyxDQUFDO0lBQ3hCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7ZnJvbSwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2NvbWJpbmVMYXRlc3RXaXRoLCBtYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7RmlsZVN5c3RlbUFwaX0gZnJvbSAnLi4vZmlsZS1zeXN0ZW0tYXBpJztcblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgZmlsZSBhbmQgdGhlIHJlbGF0aXZlIHBhdGggd2hlcmUgdGhlIHVzZXIgaGFzIHNlbGVjdGVkIGl0LlxuICogVGhpcyBpcyB1c2VmdWwgaWYgdGhlIHVzZXIgaGFzIHNlbGVjdGVkIGEgZm9sZGVyIGFuZCBmaWxlc1xuICogYXJlIGxpc3RlZCByZWN1cnNpdmVseS5cbiAqL1xuZXhwb3J0IGNsYXNzIEZpbGVFbnRyeSB7XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBmaWxlIEVudHJ5IHdpdGhvdXQgYW4gZXhwbGljaXQgcmVsYXRpdmUgcGFyZW50LlxuICAgKlxuICAgKiBIb3dldmVyLCBkZXBlbmRpbmcgb24gaG93IHRoZSBmaWxlIHdhcyBzZWxlY3RlZCwgc29tZSBicm93c2Vyc1xuICAgKiBlbmNvZGUgdGhlIHJlbGF0aXZlIHBhcmVudCBwYXRoIGluIHRoZSBwcm9wZXJ0eSAnd2Via2l0UmVsYXRpdmVQYXRoJ1xuICAgKiB3aGljaCBpcyBhbHNvIHN1cHBvcnRlZCBieSB0aGlzIG1ldGhvZC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgb2ZGaWxlKGZpbGU6IEZpbGUpOiBGaWxlRW50cnkge1xuXG4gICAgcmV0dXJuIEZpbGVFbnRyeS5yZWxhdGl2ZUZpbGUoXG4gICAgICBmaWxlLFxuICAgICAgdGhpcy5idWlsZFJlbGF0aXZlUGFyZW50KGZpbGUpXG4gICAgKTtcbiAgfVxuXG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYW4gT2JzZXJ2YWJsZSBvZiBhIEZpbGUgRW50cnkgYnkgcmVzb2x2aW5nIGl0cyBGaWxlU3lzdGVtRmlsZUhhbmRsZS5cbiAgICogQHBhcmFtIGZpbGVIYW5kbGVcbiAgICogQHBhcmFtIHJvb3REaXJlY3RvcnkgaXMgbmVlZGVkIHRvIGJ1aWxkIGEgcmVsYXRpdmUgcGFyZW50LiBBZGRpdGlvbmFsbHkgdXNlZnVsIGZvciByZXF1ZXN0aW5nIHBlcm1pc3Npb25zXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIG9mRmlsZUhhbmRsZShcbiAgICBmaWxlSGFuZGxlOiBGaWxlU3lzdGVtRmlsZUhhbmRsZSxcbiAgICByb290RGlyZWN0b3J5PzogRmlsZVN5c3RlbURpcmVjdG9yeUhhbmRsZVxuICApOiBPYnNlcnZhYmxlPEZpbGVFbnRyeT4ge1xuXG4gICAgICByZXR1cm4gZnJvbShmaWxlSGFuZGxlLmdldEZpbGUoKSkucGlwZShcbiAgICAgICAgY29tYmluZUxhdGVzdFdpdGgoRmlsZVN5c3RlbUFwaS5idWlsZFJlbGF0aXZlUGFyZW50KGZpbGVIYW5kbGUsIHJvb3REaXJlY3RvcnkpKSxcbiAgICAgICAgbWFwKChbZmlsZSwgcmVsYXRpdmVQYXJlbnRdKSA9PiBGaWxlRW50cnkucmVsYXRpdmVGaWxlKFxuICAgICAgICAgIGZpbGUsXG4gICAgICAgICAgcmVsYXRpdmVQYXJlbnQsXG4gICAgICAgICAgZmlsZUhhbmRsZSxcbiAgICAgICAgICByb290RGlyZWN0b3J5KSlcbiAgICAgICk7XG4gIH1cblxuXG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBmaWxlIEVudHJ5IHdpdGggYSByZWxhdGl2ZSBwYXJlbnQgcGF0aFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWxhdGl2ZUZpbGUoXG4gICAgZmlsZTogRmlsZSxcbiAgICByZWxhdGl2ZVBhcmVudDogc3RyaW5nIHwgbnVsbCxcbiAgICBmaWxlSGFuZGxlPzogRmlsZVN5c3RlbUZpbGVIYW5kbGUsXG4gICAgcm9vdERpcmVjdG9yeUhhbmRsZT86IEZpbGVTeXN0ZW1EaXJlY3RvcnlIYW5kbGVcbiAgKTogRmlsZUVudHJ5IHtcbiAgICBpZiAocmVsYXRpdmVQYXJlbnQgJiYgcmVsYXRpdmVQYXJlbnQuZW5kc1dpdGgoJy8nKSkge1xuICAgICAgcmVsYXRpdmVQYXJlbnQgPSByZWxhdGl2ZVBhcmVudC5zdWJzdHJpbmcoMCwgcmVsYXRpdmVQYXJlbnQubGVuZ3RoIC0gMSk7XG4gICAgfVxuICAgIHJldHVybiBuZXcgRmlsZUVudHJ5KGZpbGUsIHJlbGF0aXZlUGFyZW50LCBmaWxlSGFuZGxlLCByb290RGlyZWN0b3J5SGFuZGxlKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgdG9GaWxlTWFwKGVudHJpZXM6IEZpbGVFbnRyeVtdKTogTWFwPEZpbGUsIEZpbGVFbnRyeT4ge1xuICAgIGNvbnN0IG1hcCA9IG5ldyBNYXA8RmlsZSwgRmlsZUVudHJ5PigpO1xuICAgIGVudHJpZXMuZm9yRWFjaChlID0+IG1hcC5zZXQoZS5maWxlLCBlKSk7XG4gICAgcmV0dXJuIG1hcDtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgdG9GaWxlQXJyYXkoZW50cmllczogRmlsZUVudHJ5W10pOiBGaWxlW10ge1xuICAgIHJldHVybiBlbnRyaWVzLm1hcChlID0+IGUuZmlsZSk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAvKipcbiAgICogUmV0dXJucyBhIHN0cmluZyB3aGljaCBzcGVjaWZpZXMgdGhlIGZpbGUncyBwYXRoIHJlbGF0aXZlIHRvIHRoZSBkaXJlY3Rvcnkgc2VsZWN0ZWQgYnkgdGhlIHVzZXIuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgcmVsYXRpdmVQYXRoOiBzdHJpbmc7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgZmlsZTogRmlsZSxcbiAgICAvKipcbiAgICAgKiBDb250YWlucyB0aGUgcmVsYXRpdmUgcGF0aCBmcm9tIHRoZSBzZWxlY3RlZCBmb2xkZXJcbiAgICAgKiB0byB0aGlzIGZpbGUuIE9ubHkgcmVsZXZhbnQgaWYgdGhlIHVzZXIgaGFzIHNlbGVjdGVkIGEgZm9sZGVyLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSByZWxhdGl2ZVBhcmVudDogc3RyaW5nIHwgbnVsbCxcbiAgICBwdWJsaWMgcmVhZG9ubHkgZmlsZUhhbmRsZT86IEZpbGVTeXN0ZW1GaWxlSGFuZGxlLFxuICAgIHB1YmxpYyByZWFkb25seSByb290RGlyZWN0b3J5SGFuZGxlPzogRmlsZVN5c3RlbURpcmVjdG9yeUhhbmRsZVxuICApIHtcbiAgICB0aGlzLnJlbGF0aXZlUGF0aCA9IEZpbGVFbnRyeS5idWlsZFJlbGF0aXZlUGF0aChyZWxhdGl2ZVBhcmVudCwgZmlsZSk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAvKipcbiAgICogUmV0dXJucyBhIHN0cmluZyB3aGljaCBzcGVjaWZpZXMgdGhlIGZpbGUncyBwYXRoIHJlbGF0aXZlIHRvIHRoZSBkaXJlY3Rvcnkgc2VsZWN0ZWQgYnkgdGhlIHVzZXIuXG4gICAqL1xuICBwcml2YXRlIHN0YXRpYyBidWlsZFJlbGF0aXZlUGF0aChyZWxhdGl2ZVBhcmVudDogc3RyaW5nLCBmaWxlOiBGaWxlKTogc3RyaW5nIHtcbiAgICBpZiAocmVsYXRpdmVQYXJlbnQgIT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHJlbGF0aXZlUGFyZW50ICsgJy8nICsgZmlsZS5uYW1lO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZmlsZS5uYW1lO1xuICAgIH1cbiAgfVxuXG5cbiAgcHJpdmF0ZSBzdGF0aWMgYnVpbGRSZWxhdGl2ZVBhcmVudChmaWxlOiBGaWxlKTogc3RyaW5nIHtcbiAgICBsZXQgcmVsYXRpdmVQYXJlbnQ6IHN0cmluZyA9IG51bGw7XG5cbiAgICBpZiAoZmlsZS53ZWJraXRSZWxhdGl2ZVBhdGgpIHtcbiAgICAgIGlmIChmaWxlLndlYmtpdFJlbGF0aXZlUGF0aC5lbmRzV2l0aChmaWxlLm5hbWUpKSB7XG4gICAgICAgIGNvbnN0IG5hbWVTdGFydCA9IGZpbGUud2Via2l0UmVsYXRpdmVQYXRoLmxlbmd0aCAtIGZpbGUubmFtZS5sZW5ndGg7XG4gICAgICAgIHJlbGF0aXZlUGFyZW50ID0gZmlsZS53ZWJraXRSZWxhdGl2ZVBhdGguc3Vic3RyaW5nKDAsIG5hbWVTdGFydCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZWxhdGl2ZVBhcmVudCA9IGZpbGUud2Via2l0UmVsYXRpdmVQYXRoO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVsYXRpdmVQYXJlbnQ7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -9828,19 +9828,19 @@ class FileEntry {
|
|
|
9828
9828
|
/**
|
|
9829
9829
|
* Creates an Observable of a File Entry by resolving its FileSystemFileHandle.
|
|
9830
9830
|
* @param fileHandle
|
|
9831
|
-
* @param rootDirectory is needed to build a relative parent
|
|
9831
|
+
* @param rootDirectory is needed to build a relative parent. Additionally useful for requesting permissions
|
|
9832
9832
|
*/
|
|
9833
9833
|
static ofFileHandle(fileHandle, rootDirectory) {
|
|
9834
|
-
return from(fileHandle.getFile()).pipe(combineLatestWith(FileSystemApi.buildRelativeParent(fileHandle, rootDirectory)), map(([file, relativeParent]) => FileEntry.relativeFile(file, relativeParent, fileHandle)));
|
|
9834
|
+
return from(fileHandle.getFile()).pipe(combineLatestWith(FileSystemApi.buildRelativeParent(fileHandle, rootDirectory)), map(([file, relativeParent]) => FileEntry.relativeFile(file, relativeParent, fileHandle, rootDirectory)));
|
|
9835
9835
|
}
|
|
9836
9836
|
/**
|
|
9837
9837
|
* Creates a file Entry with a relative parent path
|
|
9838
9838
|
*/
|
|
9839
|
-
static relativeFile(file, relativeParent, fileHandle) {
|
|
9839
|
+
static relativeFile(file, relativeParent, fileHandle, rootDirectoryHandle) {
|
|
9840
9840
|
if (relativeParent && relativeParent.endsWith('/')) {
|
|
9841
9841
|
relativeParent = relativeParent.substring(0, relativeParent.length - 1);
|
|
9842
9842
|
}
|
|
9843
|
-
return new FileEntry(file, relativeParent, fileHandle);
|
|
9843
|
+
return new FileEntry(file, relativeParent, fileHandle, rootDirectoryHandle);
|
|
9844
9844
|
}
|
|
9845
9845
|
static toFileMap(entries) {
|
|
9846
9846
|
const map = new Map();
|
|
@@ -9860,10 +9860,11 @@ class FileEntry {
|
|
|
9860
9860
|
* Contains the relative path from the selected folder
|
|
9861
9861
|
* to this file. Only relevant if the user has selected a folder.
|
|
9862
9862
|
*/
|
|
9863
|
-
relativeParent, fileHandle) {
|
|
9863
|
+
relativeParent, fileHandle, rootDirectoryHandle) {
|
|
9864
9864
|
this.file = file;
|
|
9865
9865
|
this.relativeParent = relativeParent;
|
|
9866
9866
|
this.fileHandle = fileHandle;
|
|
9867
|
+
this.rootDirectoryHandle = rootDirectoryHandle;
|
|
9867
9868
|
this.relativePath = FileEntry.buildRelativePath(relativeParent, file);
|
|
9868
9869
|
}
|
|
9869
9870
|
/***************************************************************************
|