ohif-viewer/Packages/ohif-core/client/lib/viewer.js
2016-08-23 18:00:06 -03:00

46 lines
1.4 KiB
JavaScript

import { OHIF } from 'meteor/ohif:core';
OHIF.viewer = {};
// Move display sets forward or backward in the selected viewport
OHIF.viewer.moveDisplaySet = isNext => {
// Get the selected viewport index
const viewportIndex = Session.get('activeViewport');
// Get the selected viewport data
const viewportData = window.layoutManager.viewportData[viewportIndex];
// Get the current study
const currentStudy = _.findWhere(window.layoutManager.studies, {
studyInstanceUid: viewportData.studyInstanceUid
}) || window.layoutManager.studies[0];
// Get the display sets
const displaySets = currentStudy.displaySets;
// Get the current display set
const currentDisplaySet = _.findWhere(displaySets, {
displaySetInstanceUid: viewportData.displaySetInstanceUid
});
// Get the new index and ensure that it will exists in display sets
let newIndex = _.indexOf(displaySets, currentDisplaySet);
if (isNext) {
newIndex++;
if (newIndex >= displaySets.length) {
newIndex = 0;
}
} else {
newIndex--;
if (newIndex < 0) {
newIndex = displaySets.length - 1;
}
}
// Get the display set data for the new index
const newDisplaySetData = displaySets[newIndex];
// Rerender the viewport using the new display set data
window.layoutManager.rerenderViewportWithNewDisplaySet(viewportIndex, newDisplaySetData);
};