From eef67f7cb2e25ed1c659531d8b66cccfecbb4ad4 Mon Sep 17 00:00:00 2001 From: Bruno Alves de Faria Date: Thu, 23 Nov 2017 14:20:06 -0200 Subject: [PATCH] Revert "PWV-73 Revert commit b88c2f4 as it is moved" This reverts commit 7189aa6d5e4d3b0c5b9399d5f67559864f22bcec. --- .../components/timepointBrowser/item.html | 3 ++ .../components/timepointBrowser/item.js | 36 +++++++++++++++++++ .../components/timepointBrowser/list.styl | 10 ++++++ .../client/components/browser/item.html | 2 +- .../imports/client/components/browser/item.js | 4 +-- 5 files changed, 52 insertions(+), 3 deletions(-) diff --git a/Packages/ohif-lesiontracker/client/components/timepointBrowser/item.html b/Packages/ohif-lesiontracker/client/components/timepointBrowser/item.html index 9b1a4d81a..c7450bcca 100644 --- a/Packages/ohif-lesiontracker/client/components/timepointBrowser/item.html +++ b/Packages/ohif-lesiontracker/client/components/timepointBrowser/item.html @@ -2,6 +2,9 @@
+
+ +
{{this.timepointApi.title timepoint}}
diff --git a/Packages/ohif-lesiontracker/client/components/timepointBrowser/item.js b/Packages/ohif-lesiontracker/client/components/timepointBrowser/item.js index a004c3eef..c2736b6f2 100644 --- a/Packages/ohif-lesiontracker/client/components/timepointBrowser/item.js +++ b/Packages/ohif-lesiontracker/client/components/timepointBrowser/item.js @@ -13,6 +13,7 @@ Template.timepointBrowserItem.onCreated(() => { const hasStudiesData = !!(timepoint.studiesData && timepoint.studiesData.length); instance.summary = new ReactiveVar(''); instance.studiesData = new ReactiveVar(hasStudiesData ? timepoint.studiesData : null); + instance.missingStudyUids = new ReactiveVar(null); const updateStudiesData = newDocument => { const newTimepoint = newDocument || timepointApi.timepoints.findOne({ timepointId }); @@ -57,10 +58,45 @@ Template.timepointBrowserItem.onCreated(() => { const studiesData = instance.studiesData.get(); if (studiesData) { instance.setModalitiesSummary(); + + // Determine missing timepoint studies + const missingStudyUids = []; + timepoint.studyInstanceUids.forEach((timepointStudyUid) => { + if (!studiesData.find(studyData => studyData.available && studyData.studyInstanceUid === timepointStudyUid)) { + missingStudyUids.push(timepointStudyUid); + } + }); + instance.missingStudyUids.set(missingStudyUids); } }); }); +Template.timepointBrowserItem.helpers({ + studyAvailability: () => { + const instance = Template.instance(); + const { timepoint } = instance.data; + const missingStudyUids = instance.missingStudyUids && instance.missingStudyUids.get(); + + if (!missingStudyUids || !timepoint) { + // Timepoint studies are not loaded/checked yet (may be indicated as disabled circle) + return "studies-not-ready"; + } + + if (missingStudyUids.length >= timepoint.studyInstanceUids.length) { + // All timepoint studies are not available (may be indicated as empty circle) + return "studies-not-available"; + } + + if (missingStudyUids.length > 0) { + // Timepoint studies are partially available (may be indicated as half-filled circle) + return "studies-partially-available"; + } + + // All timepoint studies are available (may be indicated as filled circle) + return "studies-fully-available"; + } +}); + Template.timepointBrowserItem.events({ 'ohif.lesiontracker.timepoint.load .timepoint-item'(event, instance) { instance.loadStudies(); diff --git a/Packages/ohif-lesiontracker/client/components/timepointBrowser/list.styl b/Packages/ohif-lesiontracker/client/components/timepointBrowser/list.styl index 653575aa3..c0013baf0 100644 --- a/Packages/ohif-lesiontracker/client/components/timepointBrowser/list.styl +++ b/Packages/ohif-lesiontracker/client/components/timepointBrowser/list.styl @@ -78,6 +78,16 @@ theme('color', '$textPrimaryColor') padding-top: 2px + .timepoint-study-availability + .studies-not-ready + color: gray + .studies-not-available + color: red + .studies-partially-available + color: yellow + .studies-fully-available + color: green + .series-quick-switch .timepoint-browser-list padding: 0 10px diff --git a/Packages/ohif-studies/imports/client/components/browser/item.html b/Packages/ohif-studies/imports/client/components/browser/item.html index 47ba98492..6faeb6bd4 100644 --- a/Packages/ohif-studies/imports/client/components/browser/item.html +++ b/Packages/ohif-studies/imports/client/components/browser/item.html @@ -14,7 +14,7 @@
{{formatDA studyData.studyDate 'D-MMM-YYYY'}}
{{studyData.studyDescription}}
{{else}} -
{{#if eq studyData.available false}}N/A{{else}}Click to load{{/if}}
+
{{#if studyData.available}}Click to load{{else}}N/A{{/if}}
{{/if}}
diff --git a/Packages/ohif-studies/imports/client/components/browser/item.js b/Packages/ohif-studies/imports/client/components/browser/item.js index 1b5118ee2..f2b508e2d 100644 --- a/Packages/ohif-studies/imports/client/components/browser/item.js +++ b/Packages/ohif-studies/imports/client/components/browser/item.js @@ -56,8 +56,8 @@ Template.studyBrowserItem.events({ const { studyInformation } = instance.data; - // Skip if study is not available (set to false explicitly) - if (studyInformation.available === false) { + // Skip if study is not available + if (!studyInformation.available) { return; }