Enabling viewport enlargement again
This commit is contained in:
parent
daefd83be6
commit
5330ba5982
@ -167,6 +167,10 @@ function addNewMeasurement(mouseEventData) {
|
|||||||
// Bind the event listener for image rendering
|
// Bind the event listener for image rendering
|
||||||
$element.on('CornerstoneImageRendered', imageRenderedHandler);
|
$element.on('CornerstoneImageRendered', imageRenderedHandler);
|
||||||
|
|
||||||
|
// Bind the tool deactivation and enlargement handlers
|
||||||
|
$element.on('CornerstoneToolsToolDeactivated', cancelAction);
|
||||||
|
$element.one('ohif.viewer.viewport.toggleEnlargement', cancelAction);
|
||||||
|
|
||||||
cornerstone.updateImage(element);
|
cornerstone.updateImage(element);
|
||||||
|
|
||||||
const timestamp = new Date().getTime();
|
const timestamp = new Date().getTime();
|
||||||
@ -192,6 +196,10 @@ function addNewMeasurement(mouseEventData) {
|
|||||||
// Unbind the event listener for image rendering
|
// Unbind the event listener for image rendering
|
||||||
$element.off('CornerstoneImageRendered', imageRenderedHandler);
|
$element.off('CornerstoneImageRendered', imageRenderedHandler);
|
||||||
|
|
||||||
|
// Unbind the tool deactivation and enlargement handlers
|
||||||
|
$element.off('CornerstoneToolsToolDeactivated', cancelAction);
|
||||||
|
$element.off('ohif.viewer.viewport.toggleEnlargement', cancelAction);
|
||||||
|
|
||||||
// perpendicular line is not connected to long-line
|
// perpendicular line is not connected to long-line
|
||||||
measurementData.handles.perpendicularStart.locked = false;
|
measurementData.handles.perpendicularStart.locked = false;
|
||||||
|
|
||||||
|
|||||||
@ -61,16 +61,6 @@ Template.timepointBrowserQuickSwitch.onCreated(() => {
|
|||||||
Template.timepointBrowserQuickSwitch.onRendered(() => {
|
Template.timepointBrowserQuickSwitch.onRendered(() => {
|
||||||
const instance = Template.instance();
|
const instance = Template.instance();
|
||||||
|
|
||||||
instance.autorun(() => {
|
|
||||||
const selectedTimepoint = instance.selectedTimepoint.get();
|
|
||||||
const selectedTimepointId = (selectedTimepoint && selectedTimepoint.timepointId) || '';
|
|
||||||
const $allBrowserItems = instance.$('.timepoint-browser-item');
|
|
||||||
const $browserItem = $allBrowserItems.filter(`[data-id=${selectedTimepointId}]`);
|
|
||||||
if (!$browserItem.hasClass('active')) {
|
|
||||||
$browserItem.find('.timepoint-item').trigger('click');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
instance.updateActiveStudy = () => {
|
instance.updateActiveStudy = () => {
|
||||||
const currentStudy = instance.data.currentStudy.get();
|
const currentStudy = instance.data.currentStudy.get();
|
||||||
const studyInstanceUid = (currentStudy && currentStudy.studyInstanceUid) || '';
|
const studyInstanceUid = (currentStudy && currentStudy.studyInstanceUid) || '';
|
||||||
@ -81,6 +71,16 @@ Template.timepointBrowserQuickSwitch.onRendered(() => {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
instance.autorun(() => {
|
||||||
|
const selectedTimepoint = instance.selectedTimepoint.get();
|
||||||
|
const selectedTimepointId = (selectedTimepoint && selectedTimepoint.timepointId) || '';
|
||||||
|
const $allBrowserItems = instance.$('.timepoint-browser-item');
|
||||||
|
const $browserItem = $allBrowserItems.filter(`[data-id=${selectedTimepointId}]`);
|
||||||
|
if (!$browserItem.hasClass('active')) {
|
||||||
|
$browserItem.find('.timepoint-item').trigger('click');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
instance.autorun(instance.updateActiveStudy);
|
instance.autorun(instance.updateActiveStudy);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@ -2,7 +2,6 @@ import { Meteor } from 'meteor/meteor';
|
|||||||
import { Template } from 'meteor/templating';
|
import { Template } from 'meteor/templating';
|
||||||
import { Tracker } from 'meteor/tracker';
|
import { Tracker } from 'meteor/tracker';
|
||||||
import { Session } from 'meteor/session';
|
import { Session } from 'meteor/session';
|
||||||
import { Random } from 'meteor/random';
|
|
||||||
import { $ } from 'meteor/jquery';
|
import { $ } from 'meteor/jquery';
|
||||||
// OHIF Modules
|
// OHIF Modules
|
||||||
import { OHIF } from 'meteor/ohif:core';
|
import { OHIF } from 'meteor/ohif:core';
|
||||||
@ -382,7 +381,7 @@ const loadDisplaySetIntoViewport = (data, templateData) => {
|
|||||||
// If it was, no changes are necessary, so stop here.
|
// If it was, no changes are necessary, so stop here.
|
||||||
const activeViewportIndex = Session.get('activeViewport');
|
const activeViewportIndex = Session.get('activeViewport');
|
||||||
if (viewportIndex === activeViewportIndex) {
|
if (viewportIndex === activeViewportIndex) {
|
||||||
return;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Reset the focus, even if we don't need to re-enable reference lines or prefetching
|
// Reset the focus, even if we don't need to re-enable reference lines or prefetching
|
||||||
@ -514,9 +513,10 @@ Template.imageViewerViewport.onRendered(function() {
|
|||||||
// When the imageViewerViewport template is rendered
|
// When the imageViewerViewport template is rendered
|
||||||
const element = this.find('.imageViewerViewport');
|
const element = this.find('.imageViewerViewport');
|
||||||
this.element = element;
|
this.element = element;
|
||||||
|
this.$element = $(element);
|
||||||
|
|
||||||
// Display the loading indicator for this element
|
// Display the loading indicator for this element
|
||||||
$(element).siblings('.imageViewerLoadingIndicator').css('display', 'block');
|
this.$element.siblings('.imageViewerLoadingIndicator').css('display', 'block');
|
||||||
|
|
||||||
// Get the current active viewport index, if this viewport has the same index,
|
// Get the current active viewport index, if this viewport has the same index,
|
||||||
// add the CSS 'active' class to highlight this viewport.
|
// add the CSS 'active' class to highlight this viewport.
|
||||||
@ -548,8 +548,8 @@ Template.imageViewerViewport.onRendered(function() {
|
|||||||
// instructions and then stop here since we don't know what to display in the viewport.
|
// instructions and then stop here since we don't know what to display in the viewport.
|
||||||
if (!displaySetInstanceUid) {
|
if (!displaySetInstanceUid) {
|
||||||
element.classList.add('empty');
|
element.classList.add('empty');
|
||||||
$(element).siblings('.imageViewerLoadingIndicator').css('display', 'none');
|
this.$element.siblings('.imageViewerLoadingIndicator').css('display', 'none');
|
||||||
$(element).siblings('.viewportInstructions').show();
|
this.$element.siblings('.viewportInstructions').show();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -558,6 +558,34 @@ Template.imageViewerViewport.onRendered(function() {
|
|||||||
|
|
||||||
data.study = study;
|
data.study = study;
|
||||||
setDisplaySet(data, displaySetInstanceUid, templateData);
|
setDisplaySet(data, displaySetInstanceUid, templateData);
|
||||||
|
|
||||||
|
// Double click event handlers to handle viewport enlargement
|
||||||
|
this.$element.on('CornerstoneToolsMouseDoubleClick CornerstoneToolsDoubleTap', event => {
|
||||||
|
this.$element.trigger('ohif.viewer.viewport.toggleEnlargement');
|
||||||
|
|
||||||
|
// Get the double clicked viewport index
|
||||||
|
const viewportIndex = $('.imageViewerViewport').index(event.currentTarget);
|
||||||
|
|
||||||
|
// Enlarge the double clicked viewport
|
||||||
|
const layoutManager = OHIF.viewerbase.layoutManager;
|
||||||
|
layoutManager.toggleEnlargement(viewportIndex);
|
||||||
|
|
||||||
|
// Wait for DOM re-rendering and update the active viewport
|
||||||
|
Tracker.afterFlush(() => {
|
||||||
|
let viewportIndexToZoom;
|
||||||
|
// Check if the viewer is zoomed
|
||||||
|
if (layoutManager.isZoomed) {
|
||||||
|
// Set the active viewport as the only one visible
|
||||||
|
viewportIndexToZoom = 0;
|
||||||
|
} else {
|
||||||
|
// Set the active viewport as the previous zoomed viewport
|
||||||
|
viewportIndexToZoom = layoutManager.zoomedViewportIndex || 0;
|
||||||
|
}
|
||||||
|
// Set zoomed viewport as active...
|
||||||
|
const element = $('.imageViewerViewport').get(viewportIndexToZoom);
|
||||||
|
setActiveViewport(element);
|
||||||
|
});
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
Template.imageViewerViewport.onDestroyed(function() {
|
Template.imageViewerViewport.onDestroyed(function() {
|
||||||
@ -607,30 +635,5 @@ Template.imageViewerViewport.events({
|
|||||||
'OHIFActivateViewport .imageViewerViewport'(event) {
|
'OHIFActivateViewport .imageViewerViewport'(event) {
|
||||||
OHIF.log.info('imageViewerViewport OHIFActivateViewport');
|
OHIF.log.info('imageViewerViewport OHIFActivateViewport');
|
||||||
setActiveViewport(event.currentTarget);
|
setActiveViewport(event.currentTarget);
|
||||||
},
|
|
||||||
|
|
||||||
'CornerstoneToolsMouseDoubleClick .imageViewerViewport, CornerstoneToolsDoubleTap .imageViewerViewport'(event) {
|
|
||||||
// Get the double clicked viewport index
|
|
||||||
const viewportIndex = $('.imageViewerViewport').index(event.currentTarget);
|
|
||||||
|
|
||||||
// Enlarge the double clicked viewport
|
|
||||||
const layoutManager = OHIF.viewerbase.layoutManager;
|
|
||||||
layoutManager.toggleEnlargement(viewportIndex);
|
|
||||||
|
|
||||||
// Wait for DOM re-rendering and update the active viewport
|
|
||||||
Tracker.afterFlush(() => {
|
|
||||||
let viewportIndexToZoom;
|
|
||||||
// Check if the viewer is zoomed
|
|
||||||
if (layoutManager.isZoomed) {
|
|
||||||
// Set the active viewport as the only one visible
|
|
||||||
viewportIndexToZoom = 0;
|
|
||||||
} else {
|
|
||||||
// Set the active viewport as the previous zoomed viewport
|
|
||||||
viewportIndexToZoom = layoutManager.zoomedViewportIndex || 0;
|
|
||||||
}
|
|
||||||
// Set zoomed viewport as active...
|
|
||||||
const element = $('.imageViewerViewport').get(viewportIndexToZoom);
|
|
||||||
setActiveViewport(element);
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user