(items)
| 666 | // When a folder is dropped (or files are pasted), items must be handled |
| 667 | // instead of files. |
| 668 | _addFilesFromItems(items) { |
| 669 | return (() => { |
| 670 | let result = []; |
| 671 | for (let item of items) { |
| 672 | var entry; |
| 673 | if ( |
| 674 | item.webkitGetAsEntry != null && |
| 675 | (entry = item.webkitGetAsEntry()) |
| 676 | ) { |
| 677 | if (entry.isFile) { |
| 678 | result.push(this.addFile(item.getAsFile())); |
| 679 | } else if (entry.isDirectory) { |
| 680 | // Append all files from that directory to files |
| 681 | result.push(this._addFilesFromDirectory(entry, entry.name)); |
| 682 | } else { |
| 683 | result.push(undefined); |
| 684 | } |
| 685 | } else if (item.getAsFile != null) { |
| 686 | if (item.kind == null || item.kind === "file") { |
| 687 | result.push(this.addFile(item.getAsFile())); |
| 688 | } else { |
| 689 | result.push(undefined); |
| 690 | } |
| 691 | } else { |
| 692 | result.push(undefined); |
| 693 | } |
| 694 | } |
| 695 | return result; |
| 696 | })(); |
| 697 | } |
| 698 | |
| 699 | // Goes through the directory, and adds each file it finds recursively |
| 700 | _addFilesFromDirectory(directory, path) { |
no test coverage detected