|
@@ -96,7 +96,7 @@ $(() => {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
if (!isRo)
|
|
if (!isRo)
|
|
|
- for (let i of ['geoCountry']) {
|
|
|
|
|
|
|
+ for (let i of ['geoCountry', 'geoCity', 'geoAdmin']) {
|
|
|
if (!metaData[i]) {
|
|
if (!metaData[i]) {
|
|
|
let metaItem = displayMeta(i, "", false);
|
|
let metaItem = displayMeta(i, "", false);
|
|
|
metaItem && metaList.appendChild(metaItem);
|
|
metaItem && metaList.appendChild(metaItem);
|
|
@@ -147,7 +147,7 @@ $(() => {
|
|
|
let bt = document.createElement('button');
|
|
let bt = document.createElement('button');
|
|
|
bt.className = 'btn btn-outline-secondary';
|
|
bt.className = 'btn btn-outline-secondary';
|
|
|
bt.type = 'button';
|
|
bt.type = 'button';
|
|
|
- bt.innerHTML = '<i class="bi bi-pen"></i>';
|
|
|
|
|
|
|
+ bt.innerHTML = '<i class="bi bi-tags"></i>';
|
|
|
inputGroup.appendChild(bt);
|
|
inputGroup.appendChild(bt);
|
|
|
bt.addEventListener('click', async () => { await MediaStorage.Instance.addTag(fullPageMediaDisplayed.md5sum, valInput.value); reloadCurrentMedia(); });
|
|
bt.addEventListener('click', async () => { await MediaStorage.Instance.addTag(fullPageMediaDisplayed.md5sum, valInput.value); reloadCurrentMedia(); });
|
|
|
inputGroup.addEventListener('submit', async evt => {
|
|
inputGroup.addEventListener('submit', async evt => {
|
|
@@ -159,21 +159,33 @@ $(() => {
|
|
|
return tagListUi;
|
|
return tagListUi;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ function displayDownloadBt(downloadLink) {
|
|
|
|
|
+ let bt = document.createElement("button");
|
|
|
|
|
+ bt.type = "button";
|
|
|
|
|
+ bt.className = "btn btn-primary";
|
|
|
|
|
+ bt.textContent = "Download";
|
|
|
|
|
+ bt.addEventListener("click", (evt) => {
|
|
|
|
|
+ let link = document.createElement('a');
|
|
|
|
|
+ link.target='_blank';
|
|
|
|
|
+ link.setAttribute("download", "");
|
|
|
|
|
+ link.href = downloadLink;
|
|
|
|
|
+ link.click();
|
|
|
|
|
+ });
|
|
|
|
|
+ return bt;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
function _displayMediaFullPage(fileName, imgUrl, metaData, downloadLink, writeAccess) {
|
|
function _displayMediaFullPage(fileName, imgUrl, metaData, downloadLink, writeAccess) {
|
|
|
return new Promise(ok => {
|
|
return new Promise(ok => {
|
|
|
document.getElementById("pch-fullPagePreviewContainer").classList.add("loading");
|
|
document.getElementById("pch-fullPagePreviewContainer").classList.add("loading");
|
|
|
document.getElementById("pch-fullPageMedia-title").innerText = fileName;
|
|
document.getElementById("pch-fullPageMedia-title").innerText = fileName;
|
|
|
document.getElementById("pch-fullPagePreview").onceLoaded = ok;
|
|
document.getElementById("pch-fullPagePreview").onceLoaded = ok;
|
|
|
document.getElementById("pch-fullPagePreview").src = imgUrl ?? "";
|
|
document.getElementById("pch-fullPagePreview").src = imgUrl ?? "";
|
|
|
|
|
+
|
|
|
document.getElementById("pch-fullPageDetail").innerText = "";
|
|
document.getElementById("pch-fullPageDetail").innerText = "";
|
|
|
- document.getElementById("pch-fullPageDetail").appendChild(displayMetas(Object.assign({}, metaData || {}), !writeAccess));
|
|
|
|
|
|
|
+ if (downloadLink)
|
|
|
|
|
+ document.getElementById("pch-fullPageDetail").appendChild(displayDownloadBt(downloadLink));
|
|
|
document.getElementById("pch-fullPageDetail").appendChild(displayTags(metaData?.fixedTags || [], metaData?.tags || [], writeAccess));
|
|
document.getElementById("pch-fullPageDetail").appendChild(displayTags(metaData?.fixedTags || [], metaData?.tags || [], writeAccess));
|
|
|
- if (downloadLink) {
|
|
|
|
|
- document.getElementById("pch-fullPageDetail-dlButton").classList.remove("hidden");
|
|
|
|
|
- document.getElementById("pch-fullPageDetail-dlButton").dataset["link"] = downloadLink;
|
|
|
|
|
- } else {
|
|
|
|
|
- document.getElementById("pch-fullPageDetail-dlButton").classList.add("hidden");
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ document.getElementById("pch-fullPageDetail").appendChild(displayMetas(Object.assign({}, metaData || {}), !writeAccess));
|
|
|
});
|
|
});
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -225,7 +237,7 @@ $(() => {
|
|
|
if (document.location.hash != `#${mediaItem.md5sum}`)
|
|
if (document.location.hash != `#${mediaItem.md5sum}`)
|
|
|
history.pushState({}, '', `#${mediaItem.md5sum}`);
|
|
history.pushState({}, '', `#${mediaItem.md5sum}`);
|
|
|
const requestSizeQuery = requestSize ? `&w=${requestSize.width}&h=${requestSize.height}` : "";
|
|
const requestSizeQuery = requestSize ? `&w=${requestSize.width}&h=${requestSize.height}` : "";
|
|
|
- return _displayMediaFullPage(mediaItem.fileName, `${mediaItem.thumbnail}?q=6${requestSizeQuery}`, meta, mediaItem.original, mediaItem.writeAccess);
|
|
|
|
|
|
|
+ return _displayMediaFullPage(mediaItem.fileName, `${mediaItem.thumbnail}?q=6${requestSizeQuery}`, meta, `${mediaItem.original}?trim`, mediaItem.writeAccess);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
document.getElementById("pch-fullPageMedia-closeBt")
|
|
document.getElementById("pch-fullPageMedia-closeBt")
|
|
@@ -236,15 +248,6 @@ $(() => {
|
|
|
domItem.onceLoaded && domItem.onceLoaded();
|
|
domItem.onceLoaded && domItem.onceLoaded();
|
|
|
domItem.onceLoaded = null;
|
|
domItem.onceLoaded = null;
|
|
|
});
|
|
});
|
|
|
- document.getElementById('pch-fullPageDetail-dlButton').addEventListener("click", (evt) => {
|
|
|
|
|
- if (!evt.target?.dataset?.link)
|
|
|
|
|
- return;
|
|
|
|
|
- let link = document.createElement('a');
|
|
|
|
|
- link.target='_blank';
|
|
|
|
|
- link.setAttribute("download", "");
|
|
|
|
|
- link.href = evt.target.dataset.link;
|
|
|
|
|
- link.click();
|
|
|
|
|
- });
|
|
|
|
|
document.addEventListener("keydown", evt => {
|
|
document.addEventListener("keydown", evt => {
|
|
|
if (!fullPageMediaDisplayed)
|
|
if (!fullPageMediaDisplayed)
|
|
|
return;
|
|
return;
|