Fix layoutManager bug

This commit is contained in:
Erik Ziegler 2016-08-11 10:22:16 +02:00
parent 0860fc2c57
commit 710265af07
4 changed files with 11 additions and 5 deletions

View File

@ -11,7 +11,7 @@ Template.toolbarSection.helpers({
return;
}
return layoutManager.viewportData.length > 1;
return window.layoutManager.viewportData.length > 1;
},
leftSidebarToggleButtonData() {

View File

@ -25,7 +25,7 @@ function loadDisplaySetIntoViewport(data, templateData) {
var element = data.element;
var viewportIndex = $('.imageViewerViewport').index(element);
layoutManager = layoutManager || window.layoutManager;
let layoutManager = window.layoutManager;
layoutManager.viewportData = layoutManager.viewportData || {};
layoutManager.viewportData[viewportIndex] = layoutManager.viewportData[viewportIndex] || {};
layoutManager.viewportData[viewportIndex].viewportIndex = viewportIndex;
@ -253,6 +253,10 @@ function loadDisplaySetIntoViewport(data, templateData) {
function onImageRendered(e, eventData) {
log.info('imageViewerViewport onImageRendered');
if (!layoutManager.viewportData[viewportIndex]) {
log.warn("onImageRendered: LayoutManager has no viewport data for this viewport index?: " + viewportIndex);
}
// Use Session to trigger reactive updates in the viewportOverlay helper functions
// This lets the viewport overlay always display correct window / zoom values
Session.set('CornerstoneImageRendered' + viewportIndex, Random.id());

View File

@ -21,6 +21,8 @@ Template.viewerMain.onRendered(() => {
});
Template.viewerMain.onDestroyed(() => {
log.info('viewerMain onDestroyed');
// Remove the Window resize listener
$(window).off('resize', handleResize);

View File

@ -6,7 +6,7 @@ Template.registerHelper('isDisplaySetActive', (displaySetInstanceUid, viewportIn
Session.get('LayoutManagerUpdated');
// Stop here if layoutManager is not defined yet
if (!layoutManager) {
if (!window.layoutManager) {
return;
}
@ -26,7 +26,7 @@ Template.registerHelper('isDisplaySetActive', (displaySetInstanceUid, viewportIn
// Loop through the viewport data up until the currently displayed
// number of viewports
let viewportData = layoutManager.viewportData;
let viewportData = window.layoutManager.viewportData;
for (let i = 0; i < currentNumberOfViewports; i++) {
const data = viewportData[i];
@ -37,7 +37,7 @@ Template.registerHelper('isDisplaySetActive', (displaySetInstanceUid, viewportIn
}
}
} else {
const data = layoutManager.viewportData[viewportIndex];
const data = window.layoutManager.viewportData[viewportIndex];
// If the display set is displayed in this viewport, stop here
if (data && data.displaySetInstanceUid === displaySetInstanceUid) {