ohif-viewer/Packages/ohif-viewerbase/client/lib/setActiveViewport.js

39 lines
1.5 KiB
JavaScript

import { OHIF } from 'meteor/ohif:core';
setActiveViewport = element => {
if (!element) {
return;
}
const viewportIndex = $('.imageViewerViewport').index(element);
const jQueryElement = $(element);
// When an ActivateViewport event is fired, update the Meteor Session
// with the viewport index that it was fired from.
Session.set('activeViewport', viewportIndex);
// Update the Session variable to the UI re-renders
Session.set('LayoutManagerUpdated', Random.id());
// Add the 'active' class to the parent container to highlight the active viewport
$('#imageViewerViewports .viewportContainer').removeClass('active');
jQueryElement.parents('.viewportContainer').addClass('active');
// Finally, enable stack prefetching and hide the reference lines from
// the newly activated viewport that has a canvas
if (jQueryElement.find('canvas').length) {
// Cornerstone Tools compare DOM elements (check getEnabledElement cornerstone function)
// so we can't pass a jQuery object as an argument, otherwise it throws an excepetion
const domElement = jQueryElement.get(0);
enablePrefetchOnElement(domElement);
displayReferenceLines(domElement);
OHIF.viewer.stackImagePositionOffsetSynchronizer.update();
}
// Set the div to focused, so keypress events are handled
//$(element).focus();
//.focus() event breaks in FF&IE
jQueryElement.triggerHandler('focus');
};