42 lines
1.7 KiB
JavaScript
42 lines
1.7 KiB
JavaScript
/**
|
|
* This function destroys and re-renders the imageViewerViewport template.
|
|
* It uses the data provided (object containing seriesIndex and studyIndex) to
|
|
* load a new series into the produced viewport.
|
|
*
|
|
* @param element
|
|
* @param data An object containing a seriesIndex and studyIndex for a study to load into this viewport
|
|
*/
|
|
rerenderViewportWithNewSeries = function(element, data) {
|
|
// Get the container and index of the current viewport.
|
|
// The parent container is identified because it is later removed from the DOM
|
|
var container = $(element).parents('.viewportContainer').get(0);
|
|
var viewportIndex = $(container).index();
|
|
|
|
// Record the current viewportIndex so this can be passed into the re-rendering call
|
|
data.viewportIndex = viewportIndex;
|
|
|
|
// Update the dictionary of loaded series for the specified viewport
|
|
OHIF.viewer.loadedSeriesData[viewportIndex] = {
|
|
seriesInstanceUid: data.seriesInstanceUid,
|
|
studyInstanceUid: data.studyInstanceUid,
|
|
currentImageIdIndex: 0
|
|
};
|
|
|
|
// Remove the hover styling
|
|
$(element).find('canvas').not('.magnifyTool').removeClass("faded");
|
|
|
|
// Remove the whole template, add in the new one
|
|
var viewportContainer = $(element).parents('.removable');
|
|
|
|
var newViewportContainer = document.createElement('div');
|
|
newViewportContainer.className = 'removable';
|
|
|
|
// Remove the parent element of the template
|
|
// This is a workaround since otherwise Blaze UI onDestroyed doesn't fire
|
|
viewportContainer.remove();
|
|
|
|
container.appendChild(newViewportContainer);
|
|
|
|
// Render and insert the template
|
|
UI.renderWithData(Template.imageViewerViewport, data, newViewportContainer);
|
|
}; |