| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- $(() => {
- let loadingMediaList = false;
- function ReadMediaList() {
- if (loadingMediaList)
- return;
- LoadingTasks.push(() => {
- return new Promise(ok => {
- let chronology = window.chronology.isInitialized() ? "" : "&chronology"
- let oldest = (MediaStorage.Instance.oldest?.date?.getTime() || 0);
- let oldestArg = oldest ? `&from=${oldest}` : "";
- let requestCount = 300;
- $.get(`/api/media/list?count=${requestCount}${chronology}${oldestArg}`, data => {
- MediaStorage.Instance.pushAll(data.data.map(i => new Media(i)));
- if (data.first || data.last)
- window.chronology.rebuildRange(data.first, data.last);
- loadingMediaList = false;
- if ((data.data?.length || 0) < requestCount) {
- loadingMediaList = true;
- document.getElementById("pch-infiniteScrollLoading").classList.add("hidden");
- window.ReloadFilters(MediaStorage.Instance);
- }
- else
- setTimeout(ReadMediaList, 25);
- ok();
- });
- });
- });
- }
- function loadHash(md5sum) {
- if (md5sum && md5sum.length)
- LoadingTasks.push(async () => displayMediaFullPage(await MediaStorage.Instance.getMedia(md5sum)));
- else
- document.getElementById("pch-fullPageMedia").classList.add("hidden");
- }
- window.addEventListener("hashchange", x => {
- x.preventDefault();
- loadHash(document.location?.hash?.substr(1))
- return true;
- });
- onScrollBottom = (function () {
- this.lastCall= null;
- this.fnc = () => {
- if (this.lastCall !== null)
- return;
- this.lastCall = setTimeout(() => {
- this.lastCall = null;
- }, 1000);
- window.displayMoreMedia();
- };
- return this;
- })();
- window.addEventListener("scroll", evt => {
- if (window.scrollY+window.innerHeight >= document.body.clientHeight)
- onScrollBottom.fnc();
- });
- AccessManager.RebuildAccess();
- loadHash(document.location?.hash?.substr(1));
- ReadMediaList();
- });
|