class Uploader {
/**
- *
- * @param {File} file
- * @param {string[]} dirs
+ *
+ * @param {File} file
+ * @param {string[]} dirs
*/
constructor(file, dirs) {
/**
/**
* Add breadcrumb
- * @param {string} href
+ * @param {string} href
* @param {string} uri_prefix
*/
function addBreadcrumb(href, uri_prefix) {
/**
* Add pathitem
- * @param {PathItem} file
- * @param {number} index
+ * @param {PathItem} file
+ * @param {number} index
*/
function addPath(file, index) {
const encodedName = encodedStr(file.name);
/**
* Delete path
- * @param {number} index
- * @returns
+ * @param {number} index
+ * @returns
*/
async function deletePath(index) {
const file = DATA.paths[index];
/**
* Move path
- * @param {number} index
- * @returns
+ * @param {number} index
+ * @returns
*/
async function movePath(index) {
const file = DATA.paths[index];
/**
* Create a folder
- * @param {string} name
+ * @param {string} name
*/
async function createFolder(name) {
const url = newUrl(name);
new Uploader(file, dirs).upload();
});
} else if (entry.isDirectory) {
- const dirReader = entry.createReader()
- dirReader.readEntries(entries => addFileEntries(entries, [...dirs, entry.name]));
+ const dirReader = entry.createReader();
+
+ const successCallback = entries => {
+ if (entries.length > 0) {
+ addFileEntries(entries, [...dirs, entry.name]);
+ dirReader.readEntries(successCallback);
+ }
+ };
+
+ dirReader.readEntries(successCallback);
}
}
}