From f7e6bee94fa77da6a9a04cdee664e5ad0837fd19 Mon Sep 17 00:00:00 2001 From: Erik Ziegler Date: Tue, 20 Oct 2015 15:45:27 +0200 Subject: [PATCH] Update to tabs. Styling needs work --- LesionTracker/.meteor/packages | 1 + .../client/compatibility/tabHelper.js | 15 ---- .../client/components/layout/layout.html | 23 ++++++ .../client/components/layout/layout.styl | 14 ++++ LesionTracker/client/components/viewer.css | 7 +- LesionTracker/client/components/viewer.html | 9 +-- LesionTracker/client/components/viewer.js | 23 ++---- .../components/viewerMain/viewerMain.html | 6 +- .../components/viewerMain/viewerMain.js | 3 + LesionTracker/client/route.js | 53 ++++++------ .../client/components/viewer/viewer.html | 3 - .../client/components/viewer/viewer.styl | 2 +- .../viewer/viewerMain/viewerMain.js | 3 +- OHIFViewer/client/head.html | 11 +++ OHIFViewer/client/routes.js | 10 ++- .../components/basic/layout/layout.styl | 14 ++-- .../components/tabContent/tabContent.html | 2 +- .../components/tabTitle/tabTitle.html | 2 +- .../worklist/components/tabTitle/tabTitle.js | 22 ++--- .../components/tabTitle/tabTitle.styl | 9 +-- Packages/worklist/components/worklist.html | 4 +- Packages/worklist/components/worklist.js | 80 ++++++++++++------- Packages/worklist/components/worklist.styl | 65 ++++++++++----- .../worklistResult/worklistResult.styl | 19 +++-- .../worklistSearch/worklistSearch.html | 2 +- .../worklistSearch/worklistSearch.styl | 48 +++++------ .../worklistStudy/worklistStudy.html | 2 +- .../worklistStudy/worklistStudy.styl | 3 +- Packages/worklist/package.js | 2 + 29 files changed, 257 insertions(+), 200 deletions(-) delete mode 100644 LesionTracker/client/compatibility/tabHelper.js create mode 100644 LesionTracker/client/components/layout/layout.html create mode 100644 LesionTracker/client/components/layout/layout.styl create mode 100644 OHIFViewer/client/head.html diff --git a/LesionTracker/.meteor/packages b/LesionTracker/.meteor/packages index a4945a06f..8280011ec 100644 --- a/LesionTracker/.meteor/packages +++ b/LesionTracker/.meteor/packages @@ -33,3 +33,4 @@ promise stylus fortawesome:fontawesome random +reactive-var diff --git a/LesionTracker/client/compatibility/tabHelper.js b/LesionTracker/client/compatibility/tabHelper.js deleted file mode 100644 index ca9ea3bab..000000000 --- a/LesionTracker/client/compatibility/tabHelper.js +++ /dev/null @@ -1,15 +0,0 @@ -//Holds functions to help managing tabs - -//Returns activeTabId -function activeTabId() { - var activeTab = Session.get("activeTabId"); - return activeTab; -} - -//Returns activeTabContentId -function activeTabContentId () { - var activeTabId = activeTabId(); - var splitTabId = activeTabId.split("tab"); - var contentId = "content"+splitTabId[1]; - return contentId; -} \ No newline at end of file diff --git a/LesionTracker/client/components/layout/layout.html b/LesionTracker/client/components/layout/layout.html new file mode 100644 index 000000000..2b5e238ff --- /dev/null +++ b/LesionTracker/client/components/layout/layout.html @@ -0,0 +1,23 @@ + \ No newline at end of file diff --git a/LesionTracker/client/components/layout/layout.styl b/LesionTracker/client/components/layout/layout.styl new file mode 100644 index 000000000..fad80a700 --- /dev/null +++ b/LesionTracker/client/components/layout/layout.styl @@ -0,0 +1,14 @@ +.navbar + margin-bottom: 0 + border-radius: 0 + color: #888888 + background-color: #060606 + border: none + +.navbar-form + margin: 0 + padding: 15px 3px + +@media (min-width: 768px) + .navbar + border-radius: 0px \ No newline at end of file diff --git a/LesionTracker/client/components/viewer.css b/LesionTracker/client/components/viewer.css index f2b5f572f..01b26dddf 100644 --- a/LesionTracker/client/components/viewer.css +++ b/LesionTracker/client/components/viewer.css @@ -1,12 +1,7 @@ .viewer { width: 100%; - height: calc(100% - 54px); + height: 100%; margin: 0; padding: 0; background-color: black; -} - -.navbar { - margin-bottom: 0; - border-radius: 0; } \ No newline at end of file diff --git a/LesionTracker/client/components/viewer.html b/LesionTracker/client/components/viewer.html index fb9d3b3eb..0ded93dbd 100644 --- a/LesionTracker/client/components/viewer.html +++ b/LesionTracker/client/components/viewer.html @@ -1,10 +1,7 @@ \ No newline at end of file diff --git a/LesionTracker/client/components/viewer.js b/LesionTracker/client/components/viewer.js index bfcc9709e..b03c5e16a 100644 --- a/LesionTracker/client/components/viewer.js +++ b/LesionTracker/client/components/viewer.js @@ -58,9 +58,11 @@ function resizeViewports() { }, 1); } -Session.setDefault('ActiveViewport', 0); -Session.setDefault('viewportRows', 1); -Session.setDefault('viewportColumns', 2); +Template.viewer.onCreated(function() { + this.data.activeViewport = new ReactiveVar(0); + this.data.viewportRows = new ReactiveVar(1); + this.data.viewportColumns = new ReactiveVar(2); +}); // Avoid doing DOM manipulation during the resize handler // because it is fired very often. @@ -71,19 +73,4 @@ $(window).on('resize', function() { resizeTimer = setTimeout(function() { resizeViewports(); }, 100); -}); - -Template.viewer.onRendered(function() { - var imageViewer = $("#viewer"); - if (imageViewer) { - $('.navbar-default').css({ - 'background-color': '#000000', - 'border-color': '#101010' - }); - document.body.style.overflow = "hidden"; - document.body.style.height = '100%'; - document.body.style.width = '100%'; - document.body.style.minWidth = 0; - document.body.style.position = 'fixed'; // Prevent overscroll on mobile devices - } }); \ No newline at end of file diff --git a/LesionTracker/client/components/viewerMain/viewerMain.html b/LesionTracker/client/components/viewerMain/viewerMain.html index 634cc9a8a..09b7250f8 100644 --- a/LesionTracker/client/components/viewerMain/viewerMain.html +++ b/LesionTracker/client/components/viewerMain/viewerMain.html @@ -1,7 +1,7 @@ \ No newline at end of file diff --git a/LesionTracker/client/components/viewerMain/viewerMain.js b/LesionTracker/client/components/viewerMain/viewerMain.js index 873dd9888..871174009 100644 --- a/LesionTracker/client/components/viewerMain/viewerMain.js +++ b/LesionTracker/client/components/viewerMain/viewerMain.js @@ -1,4 +1,7 @@ Template.viewerMain.helpers({ + studies : function() { + return this.studies; + }, 'toolbarOptions': function() { var toolbarOptions = {}; diff --git a/LesionTracker/client/route.js b/LesionTracker/client/route.js index 6d1697afc..8c0a8265c 100644 --- a/LesionTracker/client/route.js +++ b/LesionTracker/client/route.js @@ -1,33 +1,40 @@ Router.configure({ - layoutTemplate: 'lesionTrackerLayout', - //loadingTemplate: '', - notFoundTemplate: 'notFound' + layoutTemplate: 'layoutLesionTracker', + //loadingTemplate: '', + notFoundTemplate: 'notFound' }); Router.route('/', function () { - this.render('worklist', { - }); + this.render('worklist', {}); }); -Router.route('/viewer/:_id', { - layoutTemplate: 'lesionTrackerLayout', - name: 'viewer', - onBeforeAction: function() { - var self = this; - //Session.set('openNewTabEvent', self); - - Meteor.call('GetStudyMetadata', this.params._id, function(error, study) { - //console.log(study); - sortStudy(study); +tabs = new Meteor.Collection(null); - var studies = [study]; - Session.set('studies', studies); - //Session.set(activeTabId, studies); - //Session.set('showContentInTab', true); - //self.render('viewer'); - openNewTab(studies); - }); - } +Router.route('/viewer/:_id', { + layoutTemplate: 'layoutLesionTracker', + name: 'viewer', + onBeforeAction: function() { + var self = this; + + Meteor.call('GetStudyMetadata', this.params._id, function(error, study) { + sortStudy(study); + + var studies = [study]; + var title = study.seriesList[0].instances[0].patientName; + var contentid = generateUUID(); + + var newTabObject = { + title: title, + contentid: contentid, + }; + tabs.insert(newTabObject); + + self.render('worklist'); + console.log('Setting studesInTab'); + Session.set('StudiesInTab#' + contentid, studies); + Session.set('OpenNewTabEvent', contentid); + }); + } }); \ No newline at end of file diff --git a/OHIFViewer/client/components/viewer/viewer.html b/OHIFViewer/client/components/viewer/viewer.html index ad6e2c5cd..173d21833 100644 --- a/OHIFViewer/client/components/viewer/viewer.html +++ b/OHIFViewer/client/components/viewer/viewer.html @@ -1,7 +1,4 @@ \ No newline at end of file diff --git a/Packages/worklist/components/tabTitle/tabTitle.js b/Packages/worklist/components/tabTitle/tabTitle.js index 4ca8751b7..aec5179d1 100644 --- a/Packages/worklist/components/tabTitle/tabTitle.js +++ b/Packages/worklist/components/tabTitle/tabTitle.js @@ -1,21 +1,21 @@ Template.tabTitle.events({ 'click .close': function(e) { - var tab = $(e.currentTarget).parents('[data-toggle="tab"]').eq(0); - var contentId = tab.data("target").replace("#",""); + var tab = $(e.currentTarget).siblings('a[data-toggle="tab"]').eq(0); + var contentId = tab.data("target").replace("#", ""); var tabObjectId = tabs.find({contentid: contentId}).fetch()[0]._id; tabs.remove(tabObjectId); - var tabIndex = tab.index(); + var tabIndex = tab.parent('li').index(); var newActiveTabIndex = Math.max(tabIndex - 1, 0); - if (newActiveTabIndex === 0) { - $('a[data-target="#worklistTab"]').addClass('active').tab('show'); - return; - } - var newActiveTab = $(".tabTitle").eq(newActiveTabIndex); - var newContentId = newActiveTab.data("contentid"); + var newActiveTabLink = newActiveTab.find("a[data-toggle=tab]"); + var newContentId = newActiveTabLink.data("target"); + switchToTab(newContentId); + } +}); - var tabObject = tabs.find({contentId: newContentId}).fetch()[0]; - tabObject.active = true; +Template.tabTitle.helpers({ + 'active': function() { + return this.active ? "active" : ""; } }); \ No newline at end of file diff --git a/Packages/worklist/components/tabTitle/tabTitle.styl b/Packages/worklist/components/tabTitle/tabTitle.styl index 30042706a..0519ecba6 100644 --- a/Packages/worklist/components/tabTitle/tabTitle.styl +++ b/Packages/worklist/components/tabTitle/tabTitle.styl @@ -1,8 +1 @@ -.tabTitle - a - padding: 0 5px - - a.close - font-size: 16pt - padding: 0 5px - font-weight: normal \ No newline at end of file + \ No newline at end of file diff --git a/Packages/worklist/components/worklist.html b/Packages/worklist/components/worklist.html index 428f22c79..04638ecb8 100644 --- a/Packages/worklist/components/worklist.html +++ b/Packages/worklist/components/worklist.html @@ -1,6 +1,6 @@