|
@@ -110,22 +110,22 @@ class MediaStorage extends EventTarget
|
|
|
return;
|
|
return;
|
|
|
this.#isLoading = true;
|
|
this.#isLoading = true;
|
|
|
document.getElementById("pch-infiniteScrollLoading").classList.remove("hidden");
|
|
document.getElementById("pch-infiniteScrollLoading").classList.remove("hidden");
|
|
|
|
|
+ let hasData = false;
|
|
|
try {
|
|
try {
|
|
|
await LoadingTasks.push(async () => {
|
|
await LoadingTasks.push(async () => {
|
|
|
let data = await window.indexedData.listMedias();
|
|
let data = await window.indexedData.listMedias();
|
|
|
this.pushAll(data.medias.map(x => new Media(x)));
|
|
this.pushAll(data.medias.map(x => new Media(x)));
|
|
|
this.#updateDbVersion(data.version);
|
|
this.#updateDbVersion(data.version);
|
|
|
this.#isLoading = false;
|
|
this.#isLoading = false;
|
|
|
|
|
+ hasData = !!(data.medias?.length);
|
|
|
});
|
|
});
|
|
|
} catch (err) {
|
|
} catch (err) {
|
|
|
console.error(err);
|
|
console.error(err);
|
|
|
}
|
|
}
|
|
|
- this.downloadMetaList(true);
|
|
|
|
|
|
|
+ this.downloadMetaList(hasData);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- downloadMetaList(isUpdate) {
|
|
|
|
|
- if (this.isLoading())
|
|
|
|
|
- return;
|
|
|
|
|
|
|
+ #doDownloadMetaList(isUpdate) {
|
|
|
this.#isLoading = true;
|
|
this.#isLoading = true;
|
|
|
document.getElementById("pch-infiniteScrollLoading").classList.remove("hidden");
|
|
document.getElementById("pch-infiniteScrollLoading").classList.remove("hidden");
|
|
|
LoadingTasks.push(() => {
|
|
LoadingTasks.push(() => {
|
|
@@ -138,21 +138,27 @@ class MediaStorage extends EventTarget
|
|
|
this.pushAll(data.data.map(i => new Media(i)));
|
|
this.pushAll(data.data.map(i => new Media(i)));
|
|
|
if (data.first || data.last)
|
|
if (data.first || data.last)
|
|
|
window.chronology.rebuildRange(data.first, data.last);
|
|
window.chronology.rebuildRange(data.first, data.last);
|
|
|
- this.#isLoading = false;
|
|
|
|
|
if ((data.data?.length || 0) < requestCount) {
|
|
if ((data.data?.length || 0) < requestCount) {
|
|
|
|
|
+ this.#isLoading = false;
|
|
|
document.getElementById("pch-infiniteScrollLoading").classList.add("hidden");
|
|
document.getElementById("pch-infiniteScrollLoading").classList.add("hidden");
|
|
|
this.#updateDbVersion(this.loadingVersion);
|
|
this.#updateDbVersion(this.loadingVersion);
|
|
|
window.ReloadFilters(MediaStorage.Instance);
|
|
window.ReloadFilters(MediaStorage.Instance);
|
|
|
this.dispatchEvent(new CustomEvent("doneLoading"));
|
|
this.dispatchEvent(new CustomEvent("doneLoading"));
|
|
|
|
|
+ } else {
|
|
|
|
|
+ this.#doDownloadMetaList(isUpdate);
|
|
|
}
|
|
}
|
|
|
- else
|
|
|
|
|
- setTimeout(this.downloadMetaList.bind(this, isUpdate), 25);
|
|
|
|
|
ok();
|
|
ok();
|
|
|
});
|
|
});
|
|
|
});
|
|
});
|
|
|
});
|
|
});
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ downloadMetaList(isUpdate) {
|
|
|
|
|
+ if (this.isLoading())
|
|
|
|
|
+ return;
|
|
|
|
|
+ this.#doDownloadMetaList(isUpdate);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
getDbVersion() { return this.#dbVersion; }
|
|
getDbVersion() { return this.#dbVersion; }
|
|
|
|
|
|
|
|
#updateDbVersion(version) {
|
|
#updateDbVersion(version) {
|