diff --git a/LesionTracker/client/components/viewer.js b/LesionTracker/client/components/viewer.js index b3372edb5..dbbb74ba8 100644 --- a/LesionTracker/client/components/viewer.js +++ b/LesionTracker/client/components/viewer.js @@ -1,16 +1,3 @@ -var resizeTimer; - -// TODO= Move this and resizeViewportElements to viewerbase -function handleResize() { - // Avoid doing DOM manipulation during the resize handler - // because it is fired very often. - // Resizing is therefore performed 100 ms after the resize event stops. - clearTimeout(resizeTimer); - resizeTimer = setTimeout(function() { - resizeViewportElements(); - }, 100); -} - Template.viewer.onCreated(function() { // Attach the Window resize listener $(window).on('resize', handleResize); diff --git a/OHIFViewer/client/components/viewer/viewer.js b/OHIFViewer/client/components/viewer/viewer.js index 2e779d45e..c2aef020e 100644 --- a/OHIFViewer/client/components/viewer/viewer.js +++ b/OHIFViewer/client/components/viewer/viewer.js @@ -1,25 +1,10 @@ -function resizeViewports() { - log.info("viewer resizeViewports"); - - // Handle resizing of image viewer viewports - // For some reason, this seems to need to be on - // another delay, or the resizing won't work properly - viewportResizeTimer = setTimeout(function() { - var elements = $('.imageViewerViewport'); - elements.each(function(index) { - var element = this; - if (!element) { - return; - } - cornerstone.resize(element, true); - }); - }, 1); -} - Template.viewer.onCreated(function() { + // Attach the Window resize listener + $(window).on('resize', handleResize); + log.info("viewer onCreated"); - OHIF = { + OHIF = window.OHIF || { viewer: {} }; @@ -96,15 +81,4 @@ Template.viewer.onCreated(function() { Template.viewer.onDestroyed(function() { log.info("onDestroyed"); OHIF.viewer.updateImageSynchronizer.destroy(); -}); - -// Avoid doing DOM manipulation during the resize handler -// because it is fired very often. -// Resizing is therefore performed 100 ms after the resize event stops. -var resizeTimer; -$(window).on('resize', function() { - clearTimeout(resizeTimer); - resizeTimer = setTimeout(function() { - resizeViewports(); - }, 100); }); \ No newline at end of file diff --git a/Packages/lesiontracker/client/components/lesionTable/lesionTable.styl b/Packages/lesiontracker/client/components/lesionTable/lesionTable.styl index 270805d23..d17d3df04 100644 --- a/Packages/lesiontracker/client/components/lesionTable/lesionTable.styl +++ b/Packages/lesiontracker/client/components/lesionTable/lesionTable.styl @@ -65,7 +65,7 @@ bottom: 0 overflow: auto width: 100% - + padding-bottom: 20px tr.selectedRow background: #F5F5F5 !important diff --git a/Packages/lesiontracker/package.js b/Packages/lesiontracker/package.js index 397a30dcc..5ac031717 100644 --- a/Packages/lesiontracker/package.js +++ b/Packages/lesiontracker/package.js @@ -62,13 +62,11 @@ Package.onUse(function (api) { // Library functions api.addFiles('lib/uuid.js', 'client'); - api.addFiles('lib/resizeViewportElements.js', 'client'); api.addFiles('lib/toggleLesionTrackerTools.js', 'client'); api.addFiles('lib/clearTools.js', 'client'); // Export lesionTable function for activate measurements api.export('activateLesion','client'); - api.export('resizeViewportElements','client'); api.export('toggleLesionTrackerTools', 'client'); api.export('clearTools', 'client'); api.export('measurementManagerDAL', 'client'); diff --git a/Packages/viewerbase/client/components/viewer/playClipButton/playClipButton.js b/Packages/viewerbase/client/components/viewer/playClipButton/playClipButton.js index a17ce1423..4671e7cef 100644 --- a/Packages/viewerbase/client/components/viewer/playClipButton/playClipButton.js +++ b/Packages/viewerbase/client/components/viewer/playClipButton/playClipButton.js @@ -23,6 +23,13 @@ Template.playClipButton.helpers({ 'isPlaying': function() { Session.get('UpdateCINE'); var activeViewport = Session.get('activeViewport'); + + // TODO=Check best way to make sure this is always defined + // Right now it is initialized in enableHotkeys AND in + // imageViewer onCreated, but this appears to break some things + if (!OHIF.viewer.isPlaying) { + return; + } return !!OHIF.viewer.isPlaying[activeViewport]; } }); diff --git a/Packages/lesiontracker/lib/resizeViewportElements.js b/Packages/viewerbase/lib/resizeViewportElements.js similarity index 75% rename from Packages/lesiontracker/lib/resizeViewportElements.js rename to Packages/viewerbase/lib/resizeViewportElements.js index 16efe4b30..32bf65a2b 100644 --- a/Packages/lesiontracker/lib/resizeViewportElements.js +++ b/Packages/viewerbase/lib/resizeViewportElements.js @@ -1,3 +1,15 @@ +var resizeTimer; + +handleResize = function() { + // Avoid doing DOM manipulation during the resize handler + // because it is fired very often. + // Resizing is therefore performed 100 ms after the resize event stops. + clearTimeout(resizeTimer); + resizeTimer = setTimeout(function() { + resizeViewportElements(); + }, 100); +}; + // Resize viewport elements resizeViewportElements = function() { viewportResizeTimer = setTimeout(function() { diff --git a/Packages/viewerbase/lib/toolManager.js b/Packages/viewerbase/lib/toolManager.js index a5eb9e072..355014e97 100644 --- a/Packages/viewerbase/lib/toolManager.js +++ b/Packages/viewerbase/lib/toolManager.js @@ -72,7 +72,10 @@ toolManager = { mouse: cornerstoneTools.arrowAnnotate, touch: cornerstoneTools.arrowAnnotateTouch }); - activeTool = OHIF.viewer.defaultTool; + + if (OHIF.viewer.defaultTool) { + activeTool = OHIF.viewer.defaultTool; + } configureTools(); initialized = true; diff --git a/Packages/viewerbase/package.js b/Packages/viewerbase/package.js index c8f6493c7..8b3b739fb 100644 --- a/Packages/viewerbase/package.js +++ b/Packages/viewerbase/package.js @@ -121,10 +121,12 @@ Package.onUse(function (api) { api.addFiles('lib/enableHotkeys.js', 'client'); api.addFiles('lib/viewportFunctions.js', 'client'); api.addFiles('lib/WLPresets.js', 'client'); - + api.addFiles('lib/resizeViewportElements.js', 'client'); api.addFiles('lib/encodeQueryData.js', 'server'); //api.export('accountsConfig', 'client'); + api.export('resizeViewportElements','client'); + api.export('handleResize','client'); api.export('enableHotkeys', 'client'); api.export('enablePrefetchOnElement', 'client'); api.export('displayReferenceLines', 'client');