ohif-viewer/Packages/viewerbase/lib/resizeViewportElements.js

49 lines
2.0 KiB
JavaScript

var resizeTimer;
handleResize = function() {
// Avoid doing DOM manipulation during the resize handler
// because it is fired very often.
// Resizing is therefore performed 100 ms after the resize event stops.
clearTimeout(resizeTimer);
resizeTimer = setTimeout(function() {
resizeViewportElements();
}, 100);
};
// Resize viewport elements
resizeViewportElements = function() {
viewportResizeTimer = setTimeout(function() {
var elements = $('.imageViewerViewport').not('.empty');
elements.each(function(index, element) {
var enabledElement;
try {
enabledElement = cornerstone.getEnabledElement(element);
} catch(error) {
return;
}
cornerstone.resize(element, true);
if (enabledElement.fitToWindow === false) {
var imageId = enabledElement.image.imageId;
var instance = cornerstoneTools.metaData.get('instance', imageId);
var instanceClassViewport = getInstanceClassDefaultViewport(instance, enabledElement, imageId);
cornerstone.setViewport(element, instanceClassViewport);
}
// TODO= Refactor this into separate scrollbar resize function
var currentOverlay = $(element).siblings('.imageViewerViewportOverlay');
var imageControls = currentOverlay.find('.imageControls');
currentOverlay.find('.imageControls').height($(element).height());
// Set it's width to its parent's height
// (because webkit is stupid and can't style vertical sliders)
var scrollbar = currentOverlay.find('#scrollbar');
scrollbar.height(scrollbar.parent().height() - 20);
var currentImageSlider = currentOverlay.find('#imageSlider');
var overlayHeight = currentImageSlider.parent().height();
currentImageSlider.width(overlayHeight);
});
}, 1);
};