* @property {string} editable
*/
+var DUFS_MAX_UPLOADINGS = 1;
+
/**
* @type {DATA} DATA
*/
}
ajax() {
- Uploader.runnings += 1;
const url = newUrl(this.name);
this.lastUptime = Date.now();
const ajax = new XMLHttpRequest();
complete() {
this.$uploadStatus.innerHTML = `✓`;
- Uploader.runnings -= 1;
+ Uploader.runnings--;
Uploader.runQueue();
}
fail() {
this.$uploadStatus.innerHTML = `✗`;
- Uploader.runnings -= 1;
+ Uploader.runnings--;
Uploader.runQueue();
}
}
Uploader.runQueue = async () => {
- if (Uploader.runnings > 2) return;
+ if (Uploader.runnings >= DUFS_MAX_UPLOADINGS) return;
+ if (Uploader.queues.length == 0) return;
+ Uploader.runnings++;
let uploader = Uploader.queues.shift();
- if (!uploader) return;
if (!Uploader.auth) {
Uploader.auth = true;
- try {
- await login();
- } catch {
- Uploader.auth = false;
- }
+ const success = await login(true);
+ Uploader.auth = !!success;
}
uploader.ajax();
}
document.querySelector(".login-btn").classList.add("hidden");
$userBtn.classList.remove("hidden");
$userBtn.title = "";
+ return true;
} catch (err) {
let message = `Cannot login, ${err.message}`;
if (alert) {