From e1de7eaf2119347d343801501665e599bc679a4f Mon Sep 17 00:00:00 2001 From: Erik Ziegler Date: Fri, 10 Jun 2016 17:33:43 +0200 Subject: [PATCH] Work towards study / series hover tools (LT-251) --- .../hangingprotocols/client/protocolEngine.js | 2 +- .../studySeriesQuickSwitch.html | 4 ++ .../studySeriesQuickSwitch.js | 60 ++++++++++++++++++- .../studySeriesQuickSwitch.styl | 13 +++- .../toolbarSection/toolbarSection.html | 6 +- .../components/viewerMain/viewerMain.js | 2 +- Packages/viewerbase/lib/createStacks.js | 2 +- 7 files changed, 80 insertions(+), 9 deletions(-) diff --git a/Packages/hangingprotocols/client/protocolEngine.js b/Packages/hangingprotocols/client/protocolEngine.js index 2b75b1004..2336fccd6 100644 --- a/Packages/hangingprotocols/client/protocolEngine.js +++ b/Packages/hangingprotocols/client/protocolEngine.js @@ -587,7 +587,7 @@ HP.ProtocolEngine = class ProtocolEngine { viewportData.push(currentViewportData); }); - this.LayoutManager.layoutTempleName = layoutTemplateName; + this.LayoutManager.layoutTemplateName = layoutTemplateName; this.LayoutManager.layoutProps = layoutProps; this.LayoutManager.viewportData = viewportData; diff --git a/Packages/lesiontracker/client/components/studySeriesQuickSwitch/studySeriesQuickSwitch.html b/Packages/lesiontracker/client/components/studySeriesQuickSwitch/studySeriesQuickSwitch.html index 80f566532..13506ef9f 100644 --- a/Packages/lesiontracker/client/components/studySeriesQuickSwitch/studySeriesQuickSwitch.html +++ b/Packages/lesiontracker/client/components/studySeriesQuickSwitch/studySeriesQuickSwitch.html @@ -22,8 +22,12 @@
+ {{>studyTimepointBrowser timepointViewType=timepointViewType}}
+ {{#each thumbnail in (thumbnails currentStudy)}} + {{>thumbnailEntry thumbnail}} + {{/each}}
diff --git a/Packages/lesiontracker/client/components/studySeriesQuickSwitch/studySeriesQuickSwitch.js b/Packages/lesiontracker/client/components/studySeriesQuickSwitch/studySeriesQuickSwitch.js index 99a00673f..4dfd5a486 100644 --- a/Packages/lesiontracker/client/components/studySeriesQuickSwitch/studySeriesQuickSwitch.js +++ b/Packages/lesiontracker/client/components/studySeriesQuickSwitch/studySeriesQuickSwitch.js @@ -1,8 +1,13 @@ Template.studySeriesQuickSwitch.onCreated(function studySeriesQuickSwitchOnCreated() { const instance = this; + var viewportIndex = instance.data.viewportIndex; + instance.seriesOpen = new ReactiveVar(false); instance.studiesOpen = new ReactiveVar(false); + + instance.data.timepointViewType = new ReactiveVar(); + instance.data.timepointViewType.set('key'); }); Template.studySeriesQuickSwitch.events({ @@ -30,5 +35,58 @@ Template.studySeriesQuickSwitch.helpers({ studiesOpen() { return Template.instance().studiesOpen.get(); + }, + + currentStudy() { + console.log('currentStudy'); + var viewportIndex = Template.instance().data.viewportIndex; + Session.get('CornerstoneNewImage' + viewportIndex); + + layoutManager = window.layoutManager; + if (!layoutManager) { + return; + } + + var studyInstanceUid = layoutManager.viewportData[viewportIndex].studyInstanceUid; + var study = ViewerStudies.findOne({ + studyInstanceUid: studyInstanceUid + }); + + return study; + }, + + currentTimepoint() { + console.log('currentStudy'); + var viewportIndex = Template.instance().data.viewportIndex; + Session.get('CornerstoneNewImage' + viewportIndex); + + layoutManager = window.layoutManager; + if (!layoutManager) { + return; + } + + var studyInstanceUid = layoutManager.viewportData[viewportIndex].studyInstanceUid; + var study = ViewerStudies.findOne({ + studyInstanceUid: studyInstanceUid + }); + + var timepoint = Timepoint.findOne({ + timepointId: study.timepointId + }); + + return timepoint; + }, + + thumbnails: function(study) { + var stacks = createStacks(study); + + var array = []; + stacks.forEach(function(stack, index) { + array.push({ + thumbnailIndex: index, + stack: stack + }); + }); + return array; } -}); \ No newline at end of file +}); diff --git a/Packages/lesiontracker/client/components/studySeriesQuickSwitch/studySeriesQuickSwitch.styl b/Packages/lesiontracker/client/components/studySeriesQuickSwitch/studySeriesQuickSwitch.styl index a85a9eb8e..a3cb7f126 100644 --- a/Packages/lesiontracker/client/components/studySeriesQuickSwitch/studySeriesQuickSwitch.styl +++ b/Packages/lesiontracker/client/components/studySeriesQuickSwitch/studySeriesQuickSwitch.styl @@ -49,7 +49,9 @@ $switchSize = 50px left: -350px width: 400px height: 500px - background: red + background: black + opacity: 0.8 + border-radius: 5px transition(all 0.3s ease) .seriesHover @@ -59,10 +61,17 @@ $switchSize = 50px left: 50px width: 700px height: 900px - background: blue + background: black + opacity: 0.8 + border-radius: 5px transition(all 0.3s ease) &.tiny width: 0 height: 0 opacity: 0 + + .thumbnailEntry + margin: 0 + width: 33% + display: inline-block diff --git a/Packages/lesiontracker/client/components/toolbarSection/toolbarSection.html b/Packages/lesiontracker/client/components/toolbarSection/toolbarSection.html index b18950d48..0182d9724 100644 --- a/Packages/lesiontracker/client/components/toolbarSection/toolbarSection.html +++ b/Packages/lesiontracker/client/components/toolbarSection/toolbarSection.html @@ -21,8 +21,8 @@ - {{ >studySeriesQuickSwitch side="left"}} - {{ >studySeriesQuickSwitch side="right"}} + {{ >studySeriesQuickSwitch side="left" viewportIndex=0}} + {{ >studySeriesQuickSwitch side="right" viewportIndex=1}}
{{ >caseProgress }} @@ -74,4 +74,4 @@
- + \ No newline at end of file diff --git a/Packages/lesiontracker/client/components/viewerMain/viewerMain.js b/Packages/lesiontracker/client/components/viewerMain/viewerMain.js index 70e5cab6c..b1789fbae 100644 --- a/Packages/lesiontracker/client/components/viewerMain/viewerMain.js +++ b/Packages/lesiontracker/client/components/viewerMain/viewerMain.js @@ -5,6 +5,6 @@ Template.viewerMain.onRendered(function() { var parentElement = instance.$("#layoutManagerTarget").get(0); window.layoutManager = new LayoutManager(parentElement, studies); - ProtocolEngine = new HP.ProtocolEngine(layoutManager, studies); + ProtocolEngine = new HP.ProtocolEngine(window.layoutManager, studies); HP.setEngine(ProtocolEngine); }); \ No newline at end of file diff --git a/Packages/viewerbase/lib/createStacks.js b/Packages/viewerbase/lib/createStacks.js index d77c943f2..1fe8999e4 100644 --- a/Packages/viewerbase/lib/createStacks.js +++ b/Packages/viewerbase/lib/createStacks.js @@ -14,7 +14,7 @@ createStacks = function(study) { // Define an empty array of stacks var stacks = []; - if (!study.seriesList) { + if (!study || !study.seriesList) { return stacks; }