| 441 | handleFileForm(filesQ, _("actualFolder").value); |
| 442 | } |
| 443 | function FileTree(item, path = "", filesQ) { |
| 444 | return new Promise((resolve) => { |
| 445 | if (item.isFile) { |
| 446 | item.file(function (file) { |
| 447 | const fileWithPath = new File([file], path + file.name, { type: file.type }); |
| 448 | filesQ.push(fileWithPath); |
| 449 | resolve(); |
| 450 | }); |
| 451 | } else if (item.isDirectory) { |
| 452 | const dirReader = item.createReader(); |
| 453 | dirReader.readEntries((entries) => { |
| 454 | const entryPromises = []; |
| 455 | for (let i = 0; i < entries.length; i++) { |
| 456 | entryPromises.push(FileTree(entries[i], path + item.name + "/", filesQ)); |
| 457 | } Promise.all(entryPromises).then(resolve); |
| 458 | }); |
| 459 | } else { |
| 460 | resolve(); |
| 461 | } |
| 462 | }); |
| 463 | } |
| 464 | window.addEventListener("load", () => { |
| 465 | listFilesButton("/"); |
| 466 | systemInfo(); |