Merge branch 'LT-384'
This commit is contained in:
commit
7aec651a76
@ -48,9 +48,17 @@ Template.studySeriesQuickSwitch.onCreated(() => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
const checkScrollArea = element => {
|
const checkScrollArea = element => {
|
||||||
const { scrollHeight, clientHeight, offsetHeight, scrollTop } = element;
|
const { scrollHeight, offsetHeight, scrollTop } = element;
|
||||||
|
|
||||||
|
const matrix = $(element).find('.thumbnailsWrapper').css('transform');
|
||||||
|
|
||||||
if(scrollHeight > offsetHeight + scrollTop) {
|
let translateY = 0;
|
||||||
|
|
||||||
|
if(matrix && matrix !== 'none') {
|
||||||
|
translateY = parseInt(matrix.match(/-?[\d\.]+/g)[5]);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(scrollHeight > offsetHeight + scrollTop + translateY) {
|
||||||
element.classList.add('show-scroll-indicator-down');
|
element.classList.add('show-scroll-indicator-down');
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|||||||
@ -17,9 +17,17 @@ $seriesSpacing = 2px
|
|||||||
&.left
|
&.left
|
||||||
theme('border-right', '1px solid $uiBorderColor')
|
theme('border-right', '1px solid $uiBorderColor')
|
||||||
right: 50%
|
right: 50%
|
||||||
|
&.right-sidebar-only
|
||||||
|
.seriesHover
|
||||||
|
.scrollArea
|
||||||
|
padding-left: 200px;
|
||||||
|
|
||||||
&.right
|
&.right
|
||||||
left: 50%
|
left: 50%
|
||||||
|
&.left-sidebar-only
|
||||||
|
.seriesHover
|
||||||
|
.scrollArea
|
||||||
|
padding-right: 200px;
|
||||||
|
|
||||||
&.overlay .quickSwitch
|
&.overlay .quickSwitch
|
||||||
transition(z-index 0s linear 0s)
|
transition(z-index 0s linear 0s)
|
||||||
@ -152,7 +160,6 @@ $seriesSpacing = 2px
|
|||||||
|
|
||||||
.scrollArea
|
.scrollArea
|
||||||
margin-right: -22px;
|
margin-right: -22px;
|
||||||
min-height: 230px
|
|
||||||
max-height: 610px
|
max-height: 610px
|
||||||
overflow-x: hidden
|
overflow-x: hidden
|
||||||
overflow-y: scroll
|
overflow-y: scroll
|
||||||
|
|||||||
@ -1,21 +1,64 @@
|
|||||||
var resizeTimer;
|
let resizeTimer;
|
||||||
|
|
||||||
handleResize = function() {
|
handleResize = function() {
|
||||||
// Avoid doing DOM manipulation during the resize handler
|
// Avoid doing DOM manipulation during the resize handler
|
||||||
// because it is fired very often.
|
// because it is fired very often.
|
||||||
// Resizing is therefore performed 100 ms after the resize event stops.
|
// Resizing is therefore performed 100 ms after the resize event stops.
|
||||||
clearTimeout(resizeTimer);
|
clearTimeout(resizeTimer);
|
||||||
resizeTimer = setTimeout(function() {
|
resizeTimer = setTimeout(() => {
|
||||||
resizeViewportElements();
|
resizeViewportElements();
|
||||||
}, 100);
|
}, 100);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const repositionStudySeriesQuickSwitch = () => {
|
||||||
|
const activeTab = Session.get('activeContentId');
|
||||||
|
if(activeTab === 'viewerTab') {
|
||||||
|
const nViewports = window.layoutManager.viewportData.length;
|
||||||
|
|
||||||
|
if(nViewports && nViewports > 1) {
|
||||||
|
const leftSidebar = $('#viewer .sidebar-left.sidebar-open');
|
||||||
|
const rightSidebar = $('#viewer .sidebar-right.sidebar-open');
|
||||||
|
const leftQuickSwitch = $('.quickSwitchWrapper.left');
|
||||||
|
const rightQuickSwitch = $('.quickSwitchWrapper.right');
|
||||||
|
|
||||||
|
const hasLeftSidebar = leftSidebar.length > 0;
|
||||||
|
const hasRightSidebar = rightSidebar.length > 0;
|
||||||
|
|
||||||
|
rightQuickSwitch.removeClass('left-sidebar-only');
|
||||||
|
leftQuickSwitch.removeClass('right-sidebar-only');
|
||||||
|
|
||||||
|
let leftOffset = 0;
|
||||||
|
|
||||||
|
if(hasLeftSidebar) {
|
||||||
|
leftOffset = ( leftSidebar.width()/$(window).width() ) * 100;
|
||||||
|
|
||||||
|
if(!hasRightSidebar) {
|
||||||
|
rightQuickSwitch.addClass('left-sidebar-only');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(hasRightSidebar && !hasLeftSidebar) {
|
||||||
|
leftQuickSwitch.addClass('right-sidebar-only');
|
||||||
|
}
|
||||||
|
|
||||||
|
const leftPosition = ( ($('#imageViewerViewports').width() / nViewports) / $(window).width() ) * 100 + leftOffset;
|
||||||
|
const rightPosition = 100 - leftPosition;
|
||||||
|
|
||||||
|
leftQuickSwitch.css('right', rightPosition + '%');
|
||||||
|
rightQuickSwitch.css('left', leftPosition + '%');
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
// Resize viewport elements
|
// Resize viewport elements
|
||||||
resizeViewportElements = function() {
|
resizeViewportElements = function() {
|
||||||
viewportResizeTimer = setTimeout(function() {
|
const viewportResizeTimer = setTimeout(() => {
|
||||||
var elements = $('.imageViewerViewport').not('.empty');
|
repositionStudySeriesQuickSwitch();
|
||||||
elements.each(function(index, element) {
|
|
||||||
var enabledElement;
|
const elements = $('.imageViewerViewport').not('.empty');
|
||||||
|
elements.each((index, element) => {
|
||||||
|
let enabledElement;
|
||||||
try {
|
try {
|
||||||
enabledElement = cornerstone.getEnabledElement(element);
|
enabledElement = cornerstone.getEnabledElement(element);
|
||||||
} catch(error) {
|
} catch(error) {
|
||||||
@ -25,24 +68,24 @@ resizeViewportElements = function() {
|
|||||||
cornerstone.resize(element, true);
|
cornerstone.resize(element, true);
|
||||||
|
|
||||||
if (enabledElement.fitToWindow === false) {
|
if (enabledElement.fitToWindow === false) {
|
||||||
var imageId = enabledElement.image.imageId;
|
const imageId = enabledElement.image.imageId;
|
||||||
var instance = cornerstoneTools.metaData.get('instance', imageId);
|
const instance = cornerstoneTools.metaData.get('instance', imageId);
|
||||||
var instanceClassViewport = getInstanceClassDefaultViewport(instance, enabledElement, imageId);
|
const instanceClassViewport = getInstanceClassDefaultViewport(instance, enabledElement, imageId);
|
||||||
cornerstone.setViewport(element, instanceClassViewport);
|
cornerstone.setViewport(element, instanceClassViewport);
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO= Refactor this into separate scrollbar resize function
|
// TODO= Refactor this into separate scrollbar resize function
|
||||||
var currentOverlay = $(element).siblings('.imageViewerViewportOverlay');
|
const currentOverlay = $(element).siblings('.imageViewerViewportOverlay');
|
||||||
var imageControls = currentOverlay.find('.imageControls');
|
const imageControls = currentOverlay.find('.imageControls');
|
||||||
currentOverlay.find('.imageControls').height($(element).height());
|
currentOverlay.find('.imageControls').height($(element).height());
|
||||||
|
|
||||||
// Set it's width to its parent's height
|
// Set it's width to its parent's height
|
||||||
// (because webkit is stupid and can't style vertical sliders)
|
// (because webkit is stupid and can't style vertical sliders)
|
||||||
var scrollbar = currentOverlay.find('#scrollbar');
|
const scrollbar = currentOverlay.find('#scrollbar');
|
||||||
scrollbar.height(scrollbar.parent().height() - 20);
|
scrollbar.height(scrollbar.parent().height() - 20);
|
||||||
|
|
||||||
var currentImageSlider = currentOverlay.find('#imageSlider');
|
const currentImageSlider = currentOverlay.find('#imageSlider');
|
||||||
var overlayHeight = currentImageSlider.parent().height();
|
const overlayHeight = currentImageSlider.parent().height();
|
||||||
currentImageSlider.width(overlayHeight);
|
currentImageSlider.width(overlayHeight);
|
||||||
});
|
});
|
||||||
}, 1);
|
}, 1);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user