From c938a1d7ff103ced1bbd68b8d1d67341a34d7b30 Mon Sep 17 00:00:00 2001 From: Joel Collins Date: Wed, 29 Jan 2020 18:01:01 +0000 Subject: [PATCH] Fixed gallery filtering and sorting --- .../galleryComponents/scanCard.vue | 20 ++++++------- .../viewComponents/galleryDisplay.vue | 28 +++++++++++-------- 2 files changed, 26 insertions(+), 22 deletions(-) diff --git a/src/components/viewComponents/galleryComponents/scanCard.vue b/src/components/viewComponents/galleryComponents/scanCard.vue index 6fd5d1a1..bcdb7696 100644 --- a/src/components/viewComponents/galleryComponents/scanCard.vue +++ b/src/components/viewComponents/galleryComponents/scanCard.vue @@ -7,11 +7,11 @@ @@ -22,14 +22,14 @@ uk-grid >
- {{ metadata.type || "Dataset" }}: {{ metadata.name }} + {{ metadata.type || "Dataset" }}: {{ metadata.image.name }}
- +
@@ -51,13 +51,13 @@
-

{{ metadata.basename }}

-

Time: {{ metadata.acquisitionDate }}

-

ID: {{ metadata.id }}

+

{{ metadata.image.name }}

+

Time: {{ metadata.image.acquisitionDate }}

+

ID: {{ metadata.image.id }}


-
+

{{ key }}: {{ value }}

@@ -100,7 +100,7 @@ export default { methods: { makeModalName: function(prefix) { - return prefix + this.metadata.id; + return prefix + this.metadata.image.id; } } }; diff --git a/src/components/viewComponents/galleryDisplay.vue b/src/components/viewComponents/galleryDisplay.vue index 053f1154..9aa32701 100644 --- a/src/components/viewComponents/galleryDisplay.vue +++ b/src/components/viewComponents/galleryDisplay.vue @@ -167,13 +167,15 @@ export default { scans[id].isScan = true; scans[id].captures = []; scans[id].metadata = { - name: dataset.name, - acquisitionDate: dataset.acquisitionDate, - id: dataset.id, + image: { + name: dataset.name, + acquisitionDate: dataset.acquisitionDate, + id: dataset.id, + tags: [], + annotations: {} + }, type: dataset.type }; - scans[id].metadata.tags = []; - scans[id].metadata.annotations = {}; } // Add the capture object to the scan @@ -181,15 +183,15 @@ export default { // Add missing scan metadata, prioritising first capture for (var key of Object.keys(annotations)) { - if (!(key in scans[id].metadata.annotations)) { - scans[id].metadata.annotations[key] = annotations[key]; + if (!(key in scans[id].metadata.image.annotations)) { + scans[id].metadata.image.annotations[key] = annotations[key]; } } // Append missing tags for (var tag of tags) { - if (!scans[id].metadata.tags.includes(tag)) { - scans[id].metadata.tags.push(tag); + if (!scans[id].metadata.image.tags.includes(tag)) { + scans[id].metadata.image.tags.push(tag); } } @@ -313,7 +315,7 @@ export default { var includeCapture = false; // Filter by selected tags - var tags = capture.metadata.tags; + var tags = capture.metadata.image.tags; let checker = (arr, target) => target.every(v => arr.includes(v)); // True if all tags match includeCapture = checker(tags, filterTags); @@ -330,8 +332,10 @@ export default { sortCaptures: function(list) { // Sort a list of captures by metadata time function compare(a, b) { - if (a.metadata.time < b.metadata.time) return -1; - if (a.metadata.time > b.metadata.time) return 1; + if (a.metadata.image.acquisitionDate < b.metadata.image.acquisitionDate) + return -1; + if (a.metadata.image.acquisitionDate > b.metadata.image.acquisitionDate) + return 1; return 0; }