isundil 1 gadu atpakaļ
vecāks
revīzija
5bf37df271
2 mainītis faili ar 14 papildinājumiem un 7 dzēšanām
  1. 3 0
      static/public/js/medias.js
  2. 11 7
      static/public/js/uiMediaFullpage.js

+ 3 - 0
static/public/js/medias.js

@@ -216,6 +216,7 @@ class MediaStorage extends EventTarget
     }
 
     setMetaValue(md5sum, key, value) {
+        // FIXME md5sum may be array
         return LoadingTasks.push(() => {
             return new Promise(ok => {
                 let media = this.medias.find(x => x.fixedSum === md5sum);
@@ -240,6 +241,7 @@ class MediaStorage extends EventTarget
     }
 
     removeTag(md5sum, tagName) {
+        // FIXME md5sum may be array
         return LoadingTasks.push(() => {
             return new Promise(ok => {
                 let media = this.medias.find(x => x.fixedSum === md5sum);
@@ -263,6 +265,7 @@ class MediaStorage extends EventTarget
     }
 
     addTag(md5sum, tagName) {
+        // FIXME md5sum may be array
         return LoadingTasks.push(() => {
             return new Promise(ok => {
                 let media = this.medias.find(x => x.fixedSum === md5sum);

+ 11 - 7
static/public/js/uiMediaFullpage.js

@@ -1,6 +1,7 @@
 
 $(() => {
     let fullPageMediaDisplayed = false;
+    let fullPageMediaList = false;
 
     function serializeFileSize(size) {
         let units = [ 'o', 'Ko', 'Mo', 'Go', 'To' ];
@@ -55,10 +56,10 @@ $(() => {
             bt.type = 'button';
             bt.innerHTML = '<i class="bi bi-pen"></i>';
             inputGroup.appendChild(bt);
-            bt.addEventListener('click', () => MediaStorage.Instance.setMetaValue(fullPageMediaDisplayed.fixedSum, key, valInput.value));
+            bt.addEventListener('click', () => MediaStorage.Instance.setMetaValue(fullPageMediaDisplayed?.fixedSum || fullPageMediaList, key, valInput.value));
             inputGroup.addEventListener('submit', evt => {
                 evt.preventDefault();
-                MediaStorage.Instance.setMetaValue(fullPageMediaDisplayed.fixedSum, key, valInput.value);
+                MediaStorage.Instance.setMetaValue(fullPageMediaDisplayed?.fixedSum || fullPageMediaList, key, valInput.value);
             });
         }
         li.appendChild(keySpan);
@@ -140,7 +141,7 @@ $(() => {
     }
 
     function reloadCurrentMedia() {
-        window.displayMediaFullPage(fullPageMediaDisplayed);
+        fullPageMediaDisplayed && window.displayMediaFullPage(fullPageMediaDisplayed);
     }
 
     function displayTags(fixedTagList, tagList, writeAccess) {
@@ -158,7 +159,7 @@ $(() => {
                 btItem.href = '#';
                 btItem.addEventListener('click', async e => {
                     e.preventDefault();
-                    await MediaStorage.Instance.removeTag(fullPageMediaDisplayed.fixedSum, i);
+                    await MediaStorage.Instance.removeTag(fullPageMediaDisplayed?.fixedSum || fullPageMediaDisplayed, i);
                     reloadCurrentMedia();
                 });
                 uiItem.appendChild(btItem);
@@ -183,10 +184,10 @@ $(() => {
             bt.type = 'button';
             bt.innerHTML = '<i class="bi bi-tags"></i>';
             inputGroup.appendChild(bt);
-            bt.addEventListener('click', async () => { await MediaStorage.Instance.addTag(fullPageMediaDisplayed.fixedSum, valInput.value); reloadCurrentMedia(); });
+            bt.addEventListener('click', async () => { await MediaStorage.Instance.addTag(fullPageMediaDisplayed?.fixedSum || fullPageMediaList, valInput.value); reloadCurrentMedia(); });
             inputGroup.addEventListener('submit', async evt => {
                 evt.preventDefault();
-                await MediaStorage.Instance.addTag(fullPageMediaDisplayed.fixedSum, valInput.value);
+                await MediaStorage.Instance.addTag(fullPageMediaDisplayed?.fixedSum || fullPageMediaList, valInput.value);
                 reloadCurrentMedia();
             });
         }
@@ -225,6 +226,7 @@ $(() => {
 
     function LoadPreviousMedia() {
         let i = fullPageMediaDisplayed;
+        if (!i) return;
         while (i = MediaStorage.Instance.previousMedia(i)) {
             if (window.FilterManager.match(i)) {
                 window.displayMediaFullPage(i);
@@ -235,6 +237,7 @@ $(() => {
 
     function LoadNextMedia() {
         let i = fullPageMediaDisplayed;
+        if (!i) return;
         while (i = MediaStorage.Instance.nextMedia(i)) {
             if (window.FilterManager.match(i)) {
                 window.displayMediaFullPage(i);
@@ -244,7 +247,7 @@ $(() => {
     }
 
     function CloseFullpageMedia() {
-        if (fullPageMediaDisplayed !== false)
+        if (fullPageMediaDisplayed !== false || fullPageMediaList)
             document.body.classList.remove("overlay-visible");
         document.getElementById("pch-fullPageMedia").classList.add("hidden");
         fullPageMediaDisplayed = false;
@@ -298,6 +301,7 @@ $(() => {
 
     window.displayMultipleMediaFullPage = function(medias) {
         const title = "Multiple edit"; // FIXME lang ?
+        fullPageMediaList = Array.from(new Set(medias.map(x => x.fixedSum)));
         document.getElementById("pch-fullPageMedia").classList.remove("hidden");
         document.getElementById("pch-fullPageMedia").classList.add("multiple");
         document.Title.pushTitle(title);