70 lines
3.0 KiB
JavaScript
70 lines
3.0 KiB
JavaScript
Template.imageViewerViewports.helpers({
|
|
height: function() {
|
|
var viewportRows = this.viewportRows || 1;
|
|
return 100 / viewportRows;
|
|
},
|
|
width: function() {
|
|
var viewportColumns = this.viewportColumns || 1;
|
|
return 100 / viewportColumns;
|
|
},
|
|
viewportArray: function() {
|
|
log.info("imageViewerViewports viewportArray");
|
|
|
|
var studies = Session.get('studies');
|
|
|
|
var viewportRows = this.viewportRows || 1;
|
|
var viewportColumns = this.viewportColumns || 1;
|
|
|
|
var contentId = this.contentId || $("#viewer").parents(".tab-pane.active").attr('id');
|
|
if (this.viewportRows && this.viewportColumns) {
|
|
viewportRows = this.viewportRows || 1;
|
|
viewportColumns = this.viewportColumns || 1;
|
|
} else if (ViewerData[contentId].viewportRows && ViewerData[contentId].viewportColumns) {
|
|
viewportRows = ViewerData[contentId].viewportRows;
|
|
viewportColumns = ViewerData[contentId].viewportColumns;
|
|
}
|
|
|
|
// Update viewerData
|
|
ViewerData[contentId].viewportRows = viewportRows;
|
|
ViewerData[contentId].viewportColumns = viewportColumns;
|
|
Session.set("ViewerData", ViewerData);
|
|
|
|
var viewportData;
|
|
if (!$.isEmptyObject(ViewerData[contentId].loadedSeriesData)) {
|
|
viewportData = ViewerData[contentId].loadedSeriesData;
|
|
}
|
|
|
|
var hangingProtocol = getHangingProtocol();
|
|
var inputData = {
|
|
viewportColumns: viewportColumns,
|
|
viewportRows: viewportRows,
|
|
studies: studies
|
|
};
|
|
var hangingProtocolViewportData = hangingProtocol(inputData);
|
|
|
|
var array = [];
|
|
var numViewports = viewportRows * viewportColumns;
|
|
for (var i=0; i < numViewports; ++i) {
|
|
var data = {
|
|
viewportIndex: i,
|
|
// These two are necessary because otherwise the width and height helpers
|
|
// don't get the right data context. Seems to be related to the "each" loop.
|
|
viewportColumns: viewportColumns,
|
|
viewportRows: viewportRows
|
|
};
|
|
if (viewportData && viewportData[i]) {
|
|
data.seriesInstanceUid = viewportData[i].seriesInstanceUid;
|
|
data.studyInstanceUid = viewportData[i].studyInstanceUid;
|
|
data.currentImageIdIndex = viewportData[i].currentImageIdIndex;
|
|
data.viewport = viewportData[i].viewport;
|
|
} else if (hangingProtocolViewportData && hangingProtocolViewportData[i]) {
|
|
data.seriesInstanceUid = hangingProtocolViewportData[i].seriesInstanceUid;
|
|
data.studyInstanceUid = hangingProtocolViewportData[i].studyInstanceUid;
|
|
data.currentImageIdIndex = hangingProtocolViewportData[i].currentImageIdIndex;
|
|
data.viewport = hangingProtocolViewportData[i].viewport;
|
|
}
|
|
array.push(data);
|
|
}
|
|
return array;
|
|
},
|
|
}); |