Removing duplicated functions

This commit is contained in:
Eloízio Salgado 2017-01-18 16:53:01 -02:00 committed by Emanuel F. Oliveira
parent a8626d02c0
commit 6e8376f9fd
2 changed files with 46 additions and 312 deletions

View File

@ -1,266 +0,0 @@
import { Session } from 'meteor/session';
import { $ } from 'meteor/jquery';
getActiveViewportElement = () => {
const viewportIndex = Session.get('activeViewport') || 0;
return $('.imageViewerViewport').get(viewportIndex);
};
zoomIn = () => {
const element = getActiveViewportElement();
if (!element) {
return;
}
let viewport = cornerstone.getViewport(element);
const scaleIncrement = 0.15;
const maximumScale = 10;
viewport.scale = Math.min(viewport.scale + increment, maximumScale);
cornerstone.setViewport(element, viewport);
};
zoomOut = () => {
const element = getActiveViewportElement();
if (!element) {
return;
}
let viewport = cornerstone.getViewport(element);
const scaleIncrement = 0.15;
const minimumScale = 0.05;
viewport.scale = Math.max(viewport.scale - increment, minimumScale);
cornerstone.setViewport(element, viewport);
};
zoomToFit = () => {
const element = getActiveViewportElement();
if (!element) {
return;
}
cornerstone.fitToWindow(element);
};
rotateL = () => {
const element = getActiveViewportElement();
if (!element) {
return;
}
let viewport = cornerstone.getViewport(element);
viewport.rotation -= 90;
cornerstone.setViewport(element, viewport);
updateOrientationMarkers(element, viewport);
};
rotateR = () => {
const element = getActiveViewportElement();
if (!element) {
return;
}
let viewport = cornerstone.getViewport(element);
viewport.rotation += 90;
cornerstone.setViewport(element, viewport);
updateOrientationMarkers(element, viewport);
};
invert = () => {
const element = getActiveViewportElement();
if (!element) {
return;
}
let viewport = cornerstone.getViewport(element);
viewport.invert = (viewport.invert === false);
cornerstone.setViewport(element, viewport);
};
flipV = () => {
const element = getActiveViewportElement();
let viewport = cornerstone.getViewport(element);
viewport.vflip = (viewport.vflip === false);
cornerstone.setViewport(element, viewport);
updateOrientationMarkers(element, viewport);
};
flipH = () => {
const element = getActiveViewportElement();
let viewport = cornerstone.getViewport(element);
viewport.hflip = (viewport.hflip === false);
cornerstone.setViewport(element, viewport);
updateOrientationMarkers(element, viewport);
};
resetViewport = () => {
const element = getActiveViewportElement();
const enabledElement = cornerstone.getEnabledElement(element);
if (enabledElement.fitToWindow === false) {
const imageId = enabledElement.image.imageId;
const instance = cornerstoneTools.metaData.get('instance', imageId);
enabledElement.viewport = cornerstone.getDefaultViewport(enabledElement.canvas, enabledElement.image);
const instanceClassDefaultViewport = getInstanceClassDefaultViewport(instance, enabledElement, imageId);
cornerstone.setViewport(element, instanceClassDefaultViewport);
} else {
cornerstone.reset(element);
}
};
clearTools = () => {
const element = getActiveViewportElement();
const toolStateManager = cornerstoneTools.globalImageIdSpecificToolStateManager;
toolStateManager.clear(element);
cornerstone.updateImage(element);
};
link = () => {
const synchronizer = OHIF.viewer.stackImagePositionOffsetSynchronizer;
if(synchronizer.isActive()) {
synchronizer.deactivate();
} else {
synchronizer.activate();
}
}
// Toggle the play/stop state for the cornerstone clip tool
toggleCinePlay = () => {
// Get the active viewport element
const element = getActiveViewportElement();
// Check if it's playing the clip to toggle it
if (isPlaying()) {
cornerstoneTools.stopClip(element);
} else {
cornerstoneTools.playClip(element);
}
// Update the UpdateCINE session property
Session.set('UpdateCINE', Random.id());
};
// Show/hide the CINE dialog
toggleCineDialog = () => {
const cineDialog = document.getElementById('cineDialog');
toggleDialog(cineDialog);
};
// Check if the clip is playing on the active viewport
isPlaying = () => {
// Create a dependency on LayoutManagerUpdated and UpdateCINE session
Session.get('UpdateCINE');
Session.get('LayoutManagerUpdated');
// Get the viewport element and its current playClip tool state
const element = getActiveViewportElement();
// Empty Elements throws cornerstore exception
if (!element || !$(element).find('canvas').length) {
return;
}
const toolState = cornerstoneTools.getToolState(element, 'playClip');
// Stop here if the tool state is not defined yet
if (!toolState) {
return false;
}
// Get the clip state
const clipState = toolState.data[0];
if(clipState) {
// Return true if the clip is playing
return !_.isUndefined(clipState.intervalId);
}
return false;
};
// Check if a study has multiple frames
hasMultipleFrames = () => {
// Its called everytime active viewport and/or layout change
Session.get('activeViewport');
Session.get('LayoutManagerUpdated');
const activeViewport = getActiveViewportElement();
// No active viewport yet: disable button
if(!activeViewport || !$(activeViewport).find('canvas').length) {
return true;
}
// Get images in the stack
const stackToolData = cornerstoneTools.getToolState(activeViewport, 'stack');
// No images in the stack, so disable button
if (!stackToolData || !stackToolData.data || !stackToolData.data.length) {
return true;
}
// Get number of images in the stack
const stackData = stackToolData.data[0];
const nImages = stackData.imageIds && stackData.imageIds.length ? stackData.imageIds.length : 1;
// Stack has just one image, so disable button
if(nImages === 1) {
return true;
}
if(clipState) {
// Return true if the clip is playing
return !_.isUndefined(clipState.intervalId);
}
return false;
};
// Check if a study has multiple frames
hasMultipleFrames = () => {
// Its called everytime active viewport and/or layout change
Session.get('activeViewport');
Session.get('LayoutManagerUpdated');
const activeViewport = getActiveViewportElement();
// No active viewport yet: disable button
if(!activeViewport) {
return true;
}
// Get images in the stack
const stackToolData = cornerstoneTools.getToolState(activeViewport, 'stack');
// No images in the stack, so disable button
if (!stackToolData || !stackToolData.data || !stackToolData.data.length) {
return true;
}
// Get number of images in the stack
const stackData = stackToolData.data[0];
const nImages = stackData.imageIds && stackData.imageIds.length ? stackData.imageIds.length : 1;
// Stack has just one image, so disable button
if(nImages === 1) {
return true;
}
return false;
};
isStackScrollLinkingDisabled = () => {
// Its called everytime active viewport and/or layout change
Session.get('activeViewport');
Session.get('LayoutManagerUpdated');
const synchronizer = OHIF.viewer.stackImagePositionOffsetSynchronizer;
const linkableViewports = synchronizer.getLinkableViewports();
return linkableViewports.length <= 1;
}
// Create an event listener to update playing state when a clip stops playing
$(window).on('CornerstoneToolsClipStopped', () => Session.set('UpdateCINE', Random.id()));

View File

@ -7,98 +7,98 @@ import { OHIF } from 'meteor/ohif:core';
import { updateOrientationMarkers } from './updateOrientationMarkers'; import { updateOrientationMarkers } from './updateOrientationMarkers';
import { getInstanceClassDefaultViewport } from './instanceClassSpecificViewport'; import { getInstanceClassDefaultViewport } from './instanceClassSpecificViewport';
function getActiveViewportElement() { const getActiveViewportElement = () => {
const viewportIndex = Session.get('activeViewport') || 0; const viewportIndex = Session.get('activeViewport') || 0;
return $('.imageViewerViewport').get(viewportIndex); return $('.imageViewerViewport').get(viewportIndex);
} };
function zoomIn() { const zoomIn = () => {
const element = getActiveViewportElement(); const element = getActiveViewportElement();
if (!element) { if (!element) {
return; return;
} }
let viewport = cornerstone.getViewport(element); const viewport = cornerstone.getViewport(element);
const scaleIncrement = 0.15; const scaleIncrement = 0.15;
const maximumScale = 10; const maximumScale = 10;
viewport.scale = Math.min(viewport.scale + scaleIncrement, maximumScale); viewport.scale = Math.min(viewport.scale + scaleIncrement, maximumScale);
cornerstone.setViewport(element, viewport); cornerstone.setViewport(element, viewport);
} };
function zoomOut() { const zoomOut = () => {
const element = getActiveViewportElement(); const element = getActiveViewportElement();
if (!element) { if (!element) {
return; return;
} }
let viewport = cornerstone.getViewport(element); const viewport = cornerstone.getViewport(element);
const scaleIncrement = 0.15; const scaleIncrement = 0.15;
const minimumScale = 0.05; const minimumScale = 0.05;
viewport.scale = Math.max(viewport.scale - scaleIncrement, minimumScale); viewport.scale = Math.max(viewport.scale - scaleIncrement, minimumScale);
cornerstone.setViewport(element, viewport); cornerstone.setViewport(element, viewport);
} };
function zoomToFit() { const zoomToFit = () => {
const element = getActiveViewportElement(); const element = getActiveViewportElement();
if (!element) { if (!element) {
return; return;
} }
cornerstone.fitToWindow(element); cornerstone.fitToWindow(element);
} };
function rotateL() { const rotateL = () => {
const element = getActiveViewportElement(); const element = getActiveViewportElement();
if (!element) { if (!element) {
return; return;
} }
let viewport = cornerstone.getViewport(element); const viewport = cornerstone.getViewport(element);
viewport.rotation -= 90; viewport.rotation -= 90;
cornerstone.setViewport(element, viewport); cornerstone.setViewport(element, viewport);
updateOrientationMarkers(element, viewport); updateOrientationMarkers(element, viewport);
} };
function rotateR() { const rotateR = () => {
const element = getActiveViewportElement(); const element = getActiveViewportElement();
if (!element) { if (!element) {
return; return;
} }
let viewport = cornerstone.getViewport(element); const viewport = cornerstone.getViewport(element);
viewport.rotation += 90; viewport.rotation += 90;
cornerstone.setViewport(element, viewport); cornerstone.setViewport(element, viewport);
updateOrientationMarkers(element, viewport); updateOrientationMarkers(element, viewport);
} };
function invert() { const invert = () => {
const element = getActiveViewportElement(); const element = getActiveViewportElement();
if (!element) { if (!element) {
return; return;
} }
let viewport = cornerstone.getViewport(element); const viewport = cornerstone.getViewport(element);
viewport.invert = (viewport.invert === false); viewport.invert = (viewport.invert === false);
cornerstone.setViewport(element, viewport); cornerstone.setViewport(element, viewport);
} };
function flipV() { const flipV = () => {
const element = getActiveViewportElement(); const element = getActiveViewportElement();
let viewport = cornerstone.getViewport(element); const viewport = cornerstone.getViewport(element);
viewport.vflip = (viewport.vflip === false); viewport.vflip = (viewport.vflip === false);
cornerstone.setViewport(element, viewport); cornerstone.setViewport(element, viewport);
updateOrientationMarkers(element, viewport); updateOrientationMarkers(element, viewport);
} };
function flipH() { const flipH = () => {
const element = getActiveViewportElement(); const element = getActiveViewportElement();
let viewport = cornerstone.getViewport(element); const viewport = cornerstone.getViewport(element);
viewport.hflip = (viewport.hflip === false); viewport.hflip = (viewport.hflip === false);
cornerstone.setViewport(element, viewport); cornerstone.setViewport(element, viewport);
updateOrientationMarkers(element, viewport); updateOrientationMarkers(element, viewport);
} };
function resetViewport() { const 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) {
@ -112,16 +112,16 @@ function resetViewport() {
} else { } else {
cornerstone.reset(element); cornerstone.reset(element);
} }
} };
function clearTools() { const 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);
} };
function linkStackScroll() { const linkStackScroll = () => {
const synchronizer = OHIF.viewer.stackImagePositionOffsetSynchronizer; const synchronizer = OHIF.viewer.stackImagePositionOffsetSynchronizer;
if(synchronizer.isActive()) { if(synchronizer.isActive()) {
@ -129,11 +129,11 @@ function linkStackScroll() {
} else { } else {
synchronizer.activate(); synchronizer.activate();
} }
} };
// This function was originally defined alone inside client/lib/toggleDialog.js // This function was originally defined alone inside client/lib/toggleDialog.js
// and has been moved here to avoid circular dependency issues. // and has been moved here to avoid circular dependency issues.
function toggleDialog(element) { const toggleDialog = (e =>lement) {
const $element = $(element); const $element = $(element);
if($element.is('dialog')) { if($element.is('dialog')) {
if (element.hasAttribute('open')) { if (element.hasAttribute('open')) {
@ -150,10 +150,10 @@ function toggleDialog(element) {
} }
Session.set('UpdateCINE', Random.id()); Session.set('UpdateCINE', Random.id());
} };
// Toggle the play/stop state for the cornerstone clip tool // Toggle the play/stop state for the cornerstone clip tool
function toggleCinePlay() { const toggleCinePlay = () => {
// Get the active viewport element // Get the active viewport element
const element = getActiveViewportElement(); const element = getActiveViewportElement();
@ -166,16 +166,16 @@ function toggleCinePlay() {
// Update the UpdateCINE session property // Update the UpdateCINE session property
Session.set('UpdateCINE', Random.id()); Session.set('UpdateCINE', Random.id());
} };
// Show/hide the CINE dialog // Show/hide the CINE dialog
function toggleCineDialog() { const toggleCineDialog = () => {
var dialog = document.getElementById('cineDialog'); const dialog = document.getElementById('cineDialog');
toggleDialog(dialog); toggleDialog(dialog);
} };
// Check if the clip is playing on the active viewport // Check if the clip is playing on the active viewport
function isPlaying() { const isPlaying = () => {
// Create a dependency on LayoutManagerUpdated and UpdateCINE session // Create a dependency on LayoutManagerUpdated and UpdateCINE session
Session.get('UpdateCINE'); Session.get('UpdateCINE');
Session.get('LayoutManagerUpdated'); Session.get('LayoutManagerUpdated');
@ -203,10 +203,10 @@ function isPlaying() {
} }
return false; return false;
} };
// Check if a study has multiple frames // Check if a study has multiple frames
function hasMultipleFrames() { const hasMultipleFrames = () => {
// Its called everytime active viewport and/or layout change // Its called everytime active viewport and/or layout change
Session.get('activeViewport'); Session.get('activeViewport');
Session.get('LayoutManagerUpdated'); Session.get('LayoutManagerUpdated');
@ -236,20 +236,20 @@ function hasMultipleFrames() {
} }
return false; return false;
} };
// Stop clips on all non-empty elements // Stop clips on all non-empty elements
function stopAllClips() { const stopAllClips = () => {
const elements = $('.imageViewerViewport').not('.empty'); const elements = $('.imageViewerViewport').not('.empty');
elements.each( (index, element) => { elements.each( (index, element) => {
if ($(element).find('canvas').length) { if ($(element).find('canvas').length) {
cornerstoneTools.stopClip(element); cornerstoneTools.stopClip(element);
} }
}); });
} };
function isStackScrollLinkingDisabled() { const isStackScrollLinkingDisabled = () => {
// Its called everytime active viewport and/or layout change // Its called everytime active viewport and/or layout change
Session.get('activeViewport'); Session.get('activeViewport');
Session.get('LayoutManagerUpdated'); Session.get('LayoutManagerUpdated');
@ -258,7 +258,7 @@ function isStackScrollLinkingDisabled() {
const linkableViewports = synchronizer.getLinkableViewports(); const linkableViewports = synchronizer.getLinkableViewports();
return linkableViewports.length <= 1; return linkableViewports.length <= 1;
} };
// Create an event listener to update playing state when a clip stops playing // Create an event listener to update playing state when a clip stops playing
$(window).on('CornerstoneToolsClipStopped', () => Session.set('UpdateCINE', Random.id())); $(window).on('CornerstoneToolsClipStopped', () => Session.set('UpdateCINE', Random.id()));