|
|
@@ -209,7 +209,21 @@ $(() => {
|
|
|
return bt;
|
|
|
}
|
|
|
|
|
|
- function _displayMediaFullPage(fileName, imgUrl, metaData, downloadLink, writeAccess) {
|
|
|
+ function displayRemoveButton(ids) {
|
|
|
+ let bt = document.createElement("button");
|
|
|
+ bt.type = "button";
|
|
|
+ bt.className = "btn btn-danger";
|
|
|
+ bt.textContent = ids.length > 1 ? "Remove files" : "Remove file";
|
|
|
+ bt.addEventListener("click", async evt => {
|
|
|
+ if (window.confirm("File will be removed from the server. Are you sure ?")) {
|
|
|
+ await MediaStorage.Instance.remoteRemove(ids);
|
|
|
+ CloseFullpageMedia();
|
|
|
+ }
|
|
|
+ });
|
|
|
+ return bt;
|
|
|
+ }
|
|
|
+
|
|
|
+ function _displayMediaFullPage(fileName, imgUrl, metaData, downloadLink, fileIds, writeAccess) {
|
|
|
return new Promise(ok => {
|
|
|
document.getElementById("pch-fullPagePreviewContainer").classList.add("loading");
|
|
|
document.getElementById("pch-fullPageMedia-title").innerText = fileName;
|
|
|
@@ -219,6 +233,8 @@ $(() => {
|
|
|
document.getElementById("pch-fullPageDetail").innerText = "";
|
|
|
if (downloadLink)
|
|
|
document.getElementById("pch-fullPageDetail").appendChild(displayDownloadBt(downloadLink));
|
|
|
+ if (fileIds && writeAccess)
|
|
|
+ document.getElementById("pch-fullPageDetail").appendChild(displayRemoveButton(fileIds));
|
|
|
document.getElementById("pch-fullPageDetail").appendChild(displayTags(metaData?.fixedTags || [], metaData?.tags || [], writeAccess));
|
|
|
document.getElementById("pch-fullPageDetail").appendChild(displayMetas(Object.assign({}, metaData || {}), !writeAccess));
|
|
|
});
|
|
|
@@ -265,7 +281,7 @@ $(() => {
|
|
|
fullPageMediaDisplayed = mediaItem ?? null;
|
|
|
document.body.classList.add("overlay-visible");
|
|
|
if (!mediaItem)
|
|
|
- return _displayMediaFullPage("Error", null, {}, null, false);
|
|
|
+ return _displayMediaFullPage("Error", null, {}, null, null, false);
|
|
|
let containerSize = document.getElementById("pch-fullPageMedia").getBoundingClientRect();
|
|
|
let requestSize = mediaItem.resize(containerSize.width, containerSize.height);
|
|
|
document.getElementById("pch-fullPagePreview").parentNode.style.maxWidth = "100%";
|
|
|
@@ -280,7 +296,7 @@ $(() => {
|
|
|
if (document.location.hash != `#${mediaItem.fixedSum}`)
|
|
|
history.pushState({}, '', `#${mediaItem.fixedSum}`);
|
|
|
const requestSizeQuery = requestSize ? `&w=${requestSize.width}&h=${requestSize.height}` : "";
|
|
|
- return _displayMediaFullPage(mediaItem.fileName, `${mediaItem.thumbnail}?q=6${requestSizeQuery}`, meta, `${mediaItem.original}?trim`, mediaItem.writeAccess);
|
|
|
+ return _displayMediaFullPage(mediaItem.fileName, `${mediaItem.thumbnail}?q=6${requestSizeQuery}`, meta, `${mediaItem.original}?trim`, [mediaItem.fixedSum], mediaItem.writeAccess);
|
|
|
}
|
|
|
|
|
|
function aggregateMetas(medias) {
|
|
|
@@ -313,7 +329,7 @@ $(() => {
|
|
|
fixedTags: medias.reduce((acc, x) => { x.fixedTags.forEach(tag => acc.add(tag)) ; return acc; }, new Set()),
|
|
|
tags: medias.reduce((acc, x) => { x.tags.forEach(tag => acc.add(tag)) ; return acc; }, new Set()),
|
|
|
};
|
|
|
- return _displayMediaFullPage(title, "", meta, null, true);
|
|
|
+ return _displayMediaFullPage(title, "", meta, null, medias.map(x => x.fixedSum), true);
|
|
|
}
|
|
|
|
|
|
document.getElementById("pch-fullPageMedia-closeBt")
|