|
|
@@ -3,7 +3,6 @@ $(() => {
|
|
|
function buildThumbnail(mediaItem) {
|
|
|
if (mediaItem.ui)
|
|
|
return mediaItem.ui;
|
|
|
- let root = document.createDocumentFragment();
|
|
|
let img = document.createElement("img");
|
|
|
let container = document.createElement("li");
|
|
|
let loadingImg = document.createElement("div");
|
|
|
@@ -27,9 +26,8 @@ $(() => {
|
|
|
container.addEventListener("click", () => {
|
|
|
document.location.hash = mediaItem.md5sum;
|
|
|
});
|
|
|
- root.appendChild(container);
|
|
|
return mediaItem.ui = {
|
|
|
- root: root,
|
|
|
+ root: container,
|
|
|
img: img
|
|
|
};
|
|
|
}
|
|
|
@@ -46,22 +44,34 @@ $(() => {
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
- MediaStorage.Instance.addEventListener("newMedia", (evt) => {
|
|
|
- buildThumbnail(evt.detail);
|
|
|
- if (!evt.detail.ui)
|
|
|
+ function redraw(container, media) {
|
|
|
+ buildThumbnail(media);
|
|
|
+ if (!media.ui)
|
|
|
return;
|
|
|
- let container = document.getElementById('pch-mediaList');
|
|
|
-
|
|
|
- let yearUpdated = !container.dataset.lastItemYear || container.dataset.lastItemYear != evt.detail.date.getUTCFullYear();
|
|
|
+ let yearUpdated = !container.dataset.lastItemYear || container.dataset.lastItemYear != media.date.getUTCFullYear();
|
|
|
if (yearUpdated) {
|
|
|
- container.appendChild(buildYear(evt.detail.date));
|
|
|
- container.dataset.lastItemYear = evt.detail.date.getUTCFullYear();
|
|
|
+ container.appendChild(buildYear(media.date));
|
|
|
+ container.dataset.lastItemYear = media.date.getUTCFullYear();
|
|
|
}
|
|
|
- if (yearUpdated || container.dataset.lastItemMonth === undefined || container.dataset.lastItemMonth != evt.detail.date.getUTCMonth()) {
|
|
|
- container.appendChild(buildMonth(evt.detail.date));
|
|
|
- container.dataset.lastItemMonth = evt.detail.date.getUTCMonth();
|
|
|
+ if (yearUpdated || container.dataset.lastItemMonth === undefined || container.dataset.lastItemMonth != media.date.getUTCMonth()) {
|
|
|
+ container.appendChild(buildMonth(media.date));
|
|
|
+ container.dataset.lastItemMonth = media.date.getUTCMonth();
|
|
|
}
|
|
|
- container.appendChild(evt.detail.ui.root);
|
|
|
+ container.appendChild(media.ui.root);
|
|
|
+ }
|
|
|
+
|
|
|
+ MediaStorage.Instance.addEventListener("rebuildMedia", (evt) => {
|
|
|
+ let newContainer = document.getElementById('pch-mediaList');
|
|
|
+ newContainer.textContent = '';
|
|
|
+ newContainer.dataset.lastItemYear = null;
|
|
|
+ newContainer.dataset.lastItemMonth = null;
|
|
|
+ for (let i of MediaStorage.Instance.medias)
|
|
|
+ redraw(newContainer, i);
|
|
|
+ });
|
|
|
+
|
|
|
+ MediaStorage.Instance.addEventListener("newMedia", (evt) => {
|
|
|
+ let container = document.getElementById('pch-mediaList');
|
|
|
+ redraw(container, evt.detail);
|
|
|
});
|
|
|
|
|
|
function _displayMediaFullPage(fileName, imgUrl, metaData, downloadLink) {
|