Fixing play/pause tool issues
This commit is contained in:
parent
0ec797a79c
commit
88e504a010
@ -4,7 +4,6 @@ OHIF.viewer = OHIF.viewer || {};
|
|||||||
OHIF.viewer.loadIndicatorDelay = 500;
|
OHIF.viewer.loadIndicatorDelay = 500;
|
||||||
OHIF.viewer.defaultTool = 'wwwc';
|
OHIF.viewer.defaultTool = 'wwwc';
|
||||||
OHIF.viewer.refLinesEnabled = true;
|
OHIF.viewer.refLinesEnabled = true;
|
||||||
OHIF.viewer.isPlaying = {};
|
|
||||||
OHIF.viewer.cine = {
|
OHIF.viewer.cine = {
|
||||||
framesPerSecond: 24,
|
framesPerSecond: 24,
|
||||||
loop: true
|
loop: true
|
||||||
|
|||||||
@ -6,7 +6,6 @@ OHIF.viewer = OHIF.viewer || {};
|
|||||||
OHIF.viewer.loadIndicatorDelay = 3000;
|
OHIF.viewer.loadIndicatorDelay = 3000;
|
||||||
OHIF.viewer.defaultTool = 'wwwc';
|
OHIF.viewer.defaultTool = 'wwwc';
|
||||||
OHIF.viewer.refLinesEnabled = true;
|
OHIF.viewer.refLinesEnabled = true;
|
||||||
OHIF.viewer.isPlaying = {};
|
|
||||||
OHIF.viewer.cine = {
|
OHIF.viewer.cine = {
|
||||||
framesPerSecond: 24,
|
framesPerSecond: 24,
|
||||||
loop: true
|
loop: true
|
||||||
|
|||||||
@ -1,9 +1,12 @@
|
|||||||
getActiveViewportElement = function() {
|
import { Session } from 'meteor/session';
|
||||||
var viewportIndex = Session.get("activeViewport") || 0;
|
import { $ } from 'meteor/jquery';
|
||||||
|
|
||||||
|
getActiveViewportElement = () => {
|
||||||
|
const viewportIndex = Session.get('activeViewport') || 0;
|
||||||
return $('.imageViewerViewport').get(viewportIndex);
|
return $('.imageViewerViewport').get(viewportIndex);
|
||||||
};
|
};
|
||||||
|
|
||||||
zoomIn = function() {
|
zoomIn = () => {
|
||||||
const element = getActiveViewportElement();
|
const element = getActiveViewportElement();
|
||||||
let viewport = cornerstone.getViewport(element);
|
let viewport = cornerstone.getViewport(element);
|
||||||
const scaleIncrement = 0.15;
|
const scaleIncrement = 0.15;
|
||||||
@ -12,7 +15,7 @@ zoomIn = function() {
|
|||||||
cornerstone.setViewport(element, viewport);
|
cornerstone.setViewport(element, viewport);
|
||||||
};
|
};
|
||||||
|
|
||||||
zoomOut = function() {
|
zoomOut = () => {
|
||||||
const element = getActiveViewportElement();
|
const element = getActiveViewportElement();
|
||||||
let viewport = cornerstone.getViewport(element);
|
let viewport = cornerstone.getViewport(element);
|
||||||
const scaleIncrement = 0.15;
|
const scaleIncrement = 0.15;
|
||||||
@ -21,12 +24,12 @@ zoomOut = function() {
|
|||||||
cornerstone.setViewport(element, viewport);
|
cornerstone.setViewport(element, viewport);
|
||||||
};
|
};
|
||||||
|
|
||||||
zoomToFit = function() {
|
zoomToFit = () => {
|
||||||
const element = getActiveViewportElement();
|
const element = getActiveViewportElement();
|
||||||
cornerstone.fitToWindow(element);
|
cornerstone.fitToWindow(element);
|
||||||
};
|
};
|
||||||
|
|
||||||
rotateL = function() {
|
rotateL = () => {
|
||||||
const element = getActiveViewportElement();
|
const element = getActiveViewportElement();
|
||||||
let viewport = cornerstone.getViewport(element);
|
let viewport = cornerstone.getViewport(element);
|
||||||
viewport.rotation -= 90;
|
viewport.rotation -= 90;
|
||||||
@ -34,7 +37,7 @@ rotateL = function() {
|
|||||||
updateOrientationMarkers(element, viewport);
|
updateOrientationMarkers(element, viewport);
|
||||||
};
|
};
|
||||||
|
|
||||||
rotateR = function() {
|
rotateR = () => {
|
||||||
const element = getActiveViewportElement();
|
const element = getActiveViewportElement();
|
||||||
let viewport = cornerstone.getViewport(element);
|
let viewport = cornerstone.getViewport(element);
|
||||||
viewport.rotation += 90;
|
viewport.rotation += 90;
|
||||||
@ -42,14 +45,14 @@ rotateR = function() {
|
|||||||
updateOrientationMarkers(element, viewport);
|
updateOrientationMarkers(element, viewport);
|
||||||
};
|
};
|
||||||
|
|
||||||
invert = function() {
|
invert = () => {
|
||||||
const element = getActiveViewportElement();
|
const element = getActiveViewportElement();
|
||||||
let viewport = cornerstone.getViewport(element);
|
let viewport = cornerstone.getViewport(element);
|
||||||
viewport.invert = (viewport.invert === false);
|
viewport.invert = (viewport.invert === false);
|
||||||
cornerstone.setViewport(element, viewport);
|
cornerstone.setViewport(element, viewport);
|
||||||
};
|
};
|
||||||
|
|
||||||
flipV = function() {
|
flipV = () => {
|
||||||
const element = getActiveViewportElement();
|
const element = getActiveViewportElement();
|
||||||
let viewport = cornerstone.getViewport(element);
|
let viewport = cornerstone.getViewport(element);
|
||||||
viewport.vflip = (viewport.vflip === false);
|
viewport.vflip = (viewport.vflip === false);
|
||||||
@ -57,7 +60,7 @@ flipV = function() {
|
|||||||
updateOrientationMarkers(element, viewport);
|
updateOrientationMarkers(element, viewport);
|
||||||
};
|
};
|
||||||
|
|
||||||
flipH = function() {
|
flipH = () => {
|
||||||
const element = getActiveViewportElement();
|
const element = getActiveViewportElement();
|
||||||
let viewport = cornerstone.getViewport(element);
|
let viewport = cornerstone.getViewport(element);
|
||||||
viewport.hflip = (viewport.hflip === false);
|
viewport.hflip = (viewport.hflip === false);
|
||||||
@ -65,7 +68,7 @@ flipH = function() {
|
|||||||
updateOrientationMarkers(element, viewport);
|
updateOrientationMarkers(element, viewport);
|
||||||
};
|
};
|
||||||
|
|
||||||
resetViewport = function() {
|
resetViewport = () => {
|
||||||
const element = getActiveViewportElement();
|
const element = getActiveViewportElement();
|
||||||
const enabledElement = cornerstone.getEnabledElement(element);
|
const enabledElement = cornerstone.getEnabledElement(element);
|
||||||
if (enabledElement.fitToWindow === false) {
|
if (enabledElement.fitToWindow === false) {
|
||||||
@ -81,43 +84,53 @@ resetViewport = function() {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
clearTools = function() {
|
clearTools = () => {
|
||||||
const element = getActiveViewportElement();
|
const element = getActiveViewportElement();
|
||||||
const toolStateManager = cornerstoneTools.globalImageIdSpecificToolStateManager;
|
const toolStateManager = cornerstoneTools.globalImageIdSpecificToolStateManager;
|
||||||
toolStateManager.clear(element);
|
toolStateManager.clear(element);
|
||||||
cornerstone.updateImage(element);
|
cornerstone.updateImage(element);
|
||||||
};
|
};
|
||||||
|
|
||||||
toggleCinePlay = function() {
|
// Toggle the play/stop state for the cornerstone clip tool
|
||||||
|
toggleCinePlay = () => {
|
||||||
|
// Get the active viewport element
|
||||||
const element = getActiveViewportElement();
|
const element = getActiveViewportElement();
|
||||||
var viewportIndex = Session.get('activeViewport');
|
|
||||||
|
|
||||||
var isPlaying = OHIF.viewer.isPlaying[viewportIndex] || false;
|
// Check if it's playing the clip to toggle it
|
||||||
if (isPlaying) {
|
if (isPlaying()) {
|
||||||
cornerstoneTools.stopClip(element);
|
cornerstoneTools.stopClip(element);
|
||||||
} else {
|
} else {
|
||||||
cornerstoneTools.playClip(element);
|
cornerstoneTools.playClip(element);
|
||||||
}
|
}
|
||||||
|
|
||||||
OHIF.viewer.isPlaying[viewportIndex] = !OHIF.viewer.isPlaying[viewportIndex];
|
// Update the UpdateCINE session property
|
||||||
Session.set('UpdateCINE', Random.id());
|
Session.set('UpdateCINE', Random.id());
|
||||||
};
|
};
|
||||||
|
|
||||||
toggleCineDialog = function() {
|
// Show/hide the CINE dialog
|
||||||
var cineDialog = document.getElementById('cineDialog');
|
toggleCineDialog = () => {
|
||||||
|
const cineDialog = document.getElementById('cineDialog');
|
||||||
toggleDialog(cineDialog);
|
toggleDialog(cineDialog);
|
||||||
}
|
};
|
||||||
|
|
||||||
isPlaying = function() {
|
// Check if the clip is playing on the active viewport
|
||||||
Session.get('UpdateCINE');
|
isPlaying = () => {
|
||||||
var activeViewport = Session.get('activeViewport');
|
// Create a dependency on LayoutManagerUpdated and UpdateCINE session
|
||||||
|
Session.get('UpdateCINE');
|
||||||
// TODO=Check best way to make sure this is always defined
|
Session.get('LayoutManagerUpdated');
|
||||||
// Right now it is initialized in enableHotkeys AND in
|
|
||||||
// imageViewer onCreated, but this appears to break some things
|
// Get the viewport element and its current playClip tool state
|
||||||
if (!OHIF.viewer.isPlaying) {
|
const element = getActiveViewportElement();
|
||||||
return;
|
const toolState = cornerstoneTools.getToolState(element, 'playClip');
|
||||||
}
|
|
||||||
|
// Stop here if the tool state is not defined yet
|
||||||
return !!OHIF.viewer.isPlaying[activeViewport];
|
if (!toolState) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Get the clip state
|
||||||
|
const clipState = toolState.data[0];
|
||||||
|
|
||||||
|
// Return true if the clip is playing
|
||||||
|
return !_.isUndefined(clipState.intervalId);
|
||||||
};
|
};
|
||||||
Loading…
Reference in New Issue
Block a user