|
@@ -13,6 +13,21 @@ $(() => {
|
|
|
document.getElementById("pch-mediaList").classList.remove("selection");
|
|
document.getElementById("pch-mediaList").classList.remove("selection");
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ let setSelectionCheckboxValue = function(media, value) {
|
|
|
|
|
+ media.ui.checkbox.checked = value;
|
|
|
|
|
+ let indexInSelection = selectedThumbnails.indexOf(media.fixedSum);
|
|
|
|
|
+ if (value && indexInSelection < 0) {
|
|
|
|
|
+ selectedThumbnails.push(media.fixedSum);
|
|
|
|
|
+ onItemSelected(media);
|
|
|
|
|
+ return true;
|
|
|
|
|
+ } else if (!value && indexInSelection >= 0) {
|
|
|
|
|
+ selectedThumbnails.splice(indexInSelection, 1);
|
|
|
|
|
+ onItemDeselected(media);
|
|
|
|
|
+ return true;
|
|
|
|
|
+ }
|
|
|
|
|
+ return false;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
function buildThumbnail(mediaItem) {
|
|
function buildThumbnail(mediaItem) {
|
|
|
if (mediaItem.ui)
|
|
if (mediaItem.ui)
|
|
|
return mediaItem.ui;
|
|
return mediaItem.ui;
|
|
@@ -47,20 +62,6 @@ $(() => {
|
|
|
container.appendChild(img);
|
|
container.appendChild(img);
|
|
|
container.appendChild(checkbox);
|
|
container.appendChild(checkbox);
|
|
|
container.appendChild(editButton);
|
|
container.appendChild(editButton);
|
|
|
- let setSelectionCheckboxValue = function(media, value) {
|
|
|
|
|
- media.ui.checkbox.checked = value;
|
|
|
|
|
- let indexInSelection = selectedThumbnails.indexOf(media.fixedSum);
|
|
|
|
|
- if (value && indexInSelection < 0) {
|
|
|
|
|
- selectedThumbnails.push(media.fixedSum);
|
|
|
|
|
- onItemSelected(media);
|
|
|
|
|
- return true;
|
|
|
|
|
- } else if (!value && indexInSelection >= 0) {
|
|
|
|
|
- selectedThumbnails.splice(indexInSelection, 1);
|
|
|
|
|
- onItemDeselected(media);
|
|
|
|
|
- return true;
|
|
|
|
|
- }
|
|
|
|
|
- return false;
|
|
|
|
|
- }
|
|
|
|
|
let cascadeSetSelectionCheckboxValue = function(value) {
|
|
let cascadeSetSelectionCheckboxValue = function(value) {
|
|
|
if (!setSelectionCheckboxValue(mediaItem, value))
|
|
if (!setSelectionCheckboxValue(mediaItem, value))
|
|
|
return;
|
|
return;
|
|
@@ -112,8 +113,7 @@ $(() => {
|
|
|
return mediaItem.ui = {
|
|
return mediaItem.ui = {
|
|
|
root: container,
|
|
root: container,
|
|
|
img: img,
|
|
img: img,
|
|
|
- checkbox: checkbox,
|
|
|
|
|
- setSelectionCheckboxValue: value => setSelectionCheckboxValue(mediaItem, value)
|
|
|
|
|
|
|
+ checkbox: checkbox
|
|
|
};
|
|
};
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -140,14 +140,15 @@ $(() => {
|
|
|
buildThumbnail(media);
|
|
buildThumbnail(media);
|
|
|
if (!media.ui)
|
|
if (!media.ui)
|
|
|
return;
|
|
return;
|
|
|
- let yearUpdated = !container.dataset.lastItemYear || container.dataset.lastItemYear != media.date.getUTCFullYear();
|
|
|
|
|
|
|
+ let yearUpdated = !container.dataset.lastItemYear || container.dataset.lastItemYear != media.getDate().getUTCFullYear();
|
|
|
|
|
+ const mediaDate = media.getDate();
|
|
|
if (yearUpdated) {
|
|
if (yearUpdated) {
|
|
|
- container.appendChild(buildYear(media.date));
|
|
|
|
|
- container.dataset.lastItemYear = media.date.getUTCFullYear();
|
|
|
|
|
|
|
+ container.appendChild(buildYear(mediaDate));
|
|
|
|
|
+ container.dataset.lastItemYear = mediaDate.getUTCFullYear();
|
|
|
}
|
|
}
|
|
|
- if (yearUpdated || container.dataset.lastItemMonth === undefined || container.dataset.lastItemMonth != media.date.getUTCMonth()) {
|
|
|
|
|
- container.appendChild(buildMonth(media.date));
|
|
|
|
|
- container.dataset.lastItemMonth = media.date.getUTCMonth();
|
|
|
|
|
|
|
+ if (yearUpdated || container.dataset.lastItemMonth === undefined || container.dataset.lastItemMonth != mediaDate.getUTCMonth()) {
|
|
|
|
|
+ container.appendChild(buildMonth(mediaDate));
|
|
|
|
|
+ container.dataset.lastItemMonth = mediaDate.getUTCMonth();
|
|
|
}
|
|
}
|
|
|
container.appendChild(media.ui.root);
|
|
container.appendChild(media.ui.root);
|
|
|
|
|
|
|
@@ -165,7 +166,7 @@ $(() => {
|
|
|
targetDisplayedItems = displayItemBatchCount;
|
|
targetDisplayedItems = displayItemBatchCount;
|
|
|
for (let i of selectedThumbnails) {
|
|
for (let i of selectedThumbnails) {
|
|
|
let media = MediaStorage.Instance.getMediaLocal(i);
|
|
let media = MediaStorage.Instance.getMediaLocal(i);
|
|
|
- media?.ui?.setSelectionCheckboxValue(false);
|
|
|
|
|
|
|
+ media?.ui?.setSelectionCheckboxValue(media, false);
|
|
|
}
|
|
}
|
|
|
lastSelection = null;
|
|
lastSelection = null;
|
|
|
for (let i of MediaStorage.Instance.medias)
|
|
for (let i of MediaStorage.Instance.medias)
|