LT-399: Load measurements and sync viewports when clicking on measurement number

This commit is contained in:
Leonardo Campos committed 2017-01-17 18:16:07 -02:00
1 parent cbe895be64
commit df5e8e14c5
3 files changed
+72 -20

No files matched your search

@@ -18,28 +18,13 @@ class StackImagePositionOffsetSynchronizer {
}
activate() {
if(this.isActive()) {
return;
}
const viewports = this.getLinkableViewports();
const viewportIndexes = [];
this.syncViewports(viewports);
}
if(viewports.length <= 1) {
return;
}
viewports.forEach((viewport, index) => {
this.synchronizer.add(viewport.element);
this.syncedViewports.push(viewport);
viewportIndexes.push(viewport.index)
$(viewport.element).on(StackImagePositionOffsetSynchronizer.ELEMENT_DISABLED_EVENT, this.elementDisabledHandler(this));
});
this.active = true;
toolManager.activateCommandButton('link');
Session.set('StackImagePositionOffsetSynchronizerLinkedViewports', viewportIndexes);
activateByViewportIndexes(viewportIndexes) {
const viewports = this.getViewportByIndexes(viewportIndexes);
this.syncViewports(viewports);
}
deactivate() {
@@ -71,6 +56,27 @@ class StackImagePositionOffsetSynchronizer {
this.activate();
}
syncViewports(viewports) {
const viewportIndexes = [];
if(this.isActive() || (viewports.length <= 1)) {
return;
}
viewports.forEach((viewport, index) => {
this.synchronizer.add(viewport.element);
this.syncedViewports.push(viewport);
viewportIndexes.push(viewport.index)
$(viewport.element).on(StackImagePositionOffsetSynchronizer.ELEMENT_DISABLED_EVENT, this.elementDisabledHandler(this));
});
this.active = true;
toolManager.activateCommandButton('link');
Session.set('StackImagePositionOffsetSynchronizerLinkedViewports', viewportIndexes);
}
isViewportSynced(viewportElement) {
return !!this.getViewportByElement(viewportElement);
}
@@ -129,6 +135,26 @@ class StackImagePositionOffsetSynchronizer {
}
}
getViewportByIndexes(viewportIndexes) {
const viewports = [];
const viewportElements = $('.imageViewerViewport');
viewportIndexes.forEach(index => {
const element = viewportElements.get(index);
if(!element) {
return;
}
viewports.push({
index,
element
});
});
return viewports;
}
getLinkableViewports() {
const activeViewportElement = this.getActiveViewportElement();
const activeViewportImageNormal = this.getViewportImageNormal(activeViewportElement);