feat(plugins): Add initial version of ViewportPlugin class (#242)
* Add initial version of ViewportPlugin class * Move entrypoints from OHIFPlugin to OHIF.plugins * Add URL route to DICOMWeb server for Standalone Viewer
This commit is contained in:
1 parent
ced47c765f
commit
53cd12a16a
18 files changed
+708
-562
No files matched your search
+13
-9
@@ -21,6 +21,8 @@ const allCornerstoneEvents = ['click', 'cornerstonetoolsmousedown', 'cornerstone
|
||||
'cornerstonetoolsmousewheel', 'cornerstonetoolsdoubletap', 'cornerstonetoolstouchpress',
|
||||
'cornerstonetoolsmultitouchstart', 'cornerstonetoolsmultitouchstartactive', 'cornerstonetoolsmultitouchdrag'];
|
||||
|
||||
const PLUGIN_CORNERSTONE = 'cornerstone';
|
||||
|
||||
/**
|
||||
* This function loads a study series into a viewport element.
|
||||
*
|
||||
@@ -40,7 +42,7 @@ const loadDisplaySetIntoViewport = (data, templateData) => {
|
||||
// Get the current element and it's index in the list of all viewports
|
||||
// The viewport index is often used to store information about a viewport element
|
||||
const element = data.element;
|
||||
const viewportIndex = $('.imageViewerViewport').index(element);
|
||||
const viewportIndex = templateData.viewportIndex;
|
||||
|
||||
const layoutManager = OHIF.viewerbase.layoutManager;
|
||||
layoutManager.viewportData = layoutManager.viewportData || {};
|
||||
@@ -115,7 +117,8 @@ const loadDisplaySetIntoViewport = (data, templateData) => {
|
||||
displaySetInstanceUid,
|
||||
currentImageIdIndex,
|
||||
viewport: viewport || data.viewport,
|
||||
viewportIndex
|
||||
viewportIndex,
|
||||
plugin: PLUGIN_CORNERSTONE
|
||||
};
|
||||
|
||||
// Handle the case where the imageId isn't loaded correctly and the
|
||||
@@ -461,7 +464,9 @@ const loadDisplaySetIntoViewport = (data, templateData) => {
|
||||
// This is done to ensure that the active element has the current
|
||||
// focus, so that keyboard events are triggered.
|
||||
if (viewportIndex === Session.get('activeViewport')) {
|
||||
setActiveViewport(element);
|
||||
const viewportContainer = $element.parents('.viewportContainer');
|
||||
|
||||
setActiveViewport(viewportContainer);
|
||||
}
|
||||
|
||||
// Run any renderedCallback that exists in the data context
|
||||
@@ -469,9 +474,6 @@ const loadDisplaySetIntoViewport = (data, templateData) => {
|
||||
data.renderedCallback(element);
|
||||
}
|
||||
|
||||
// Update the LayoutManagerUpdated session key
|
||||
layoutManager.updateSession();
|
||||
|
||||
// Check if it has after loadAndCacheImage callback
|
||||
if (typeof callbacks.after === 'function') {
|
||||
OHIF.log.info('imageViewerViewport after callback');
|
||||
@@ -624,8 +626,8 @@ Template.imageViewerViewport.onRendered(function() {
|
||||
viewportIndexToZoom = layoutManager.zoomedViewportIndex || 0;
|
||||
}
|
||||
// Set zoomed viewport as active...
|
||||
const element = $('.imageViewerViewport').get(viewportIndexToZoom);
|
||||
setActiveViewport(element);
|
||||
const viewportContainer = $('.viewportContainer').get(viewportIndexToZoom);
|
||||
setActiveViewport(viewportContainer);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -682,6 +684,8 @@ Template.imageViewerViewport.onDestroyed(function() {
|
||||
Template.imageViewerViewport.events({
|
||||
'OHIFActivateViewport .imageViewerViewport'(event) {
|
||||
OHIF.log.info('imageViewerViewport OHIFActivateViewport');
|
||||
setActiveViewport(event.currentTarget);
|
||||
|
||||
const viewportContainer = $(event.currentTarget).parents('.viewportContainer').get(0);
|
||||
setActiveViewport(viewportContainer);
|
||||
}
|
||||
});
|
||||
Reference in new issue
Block a user