ohif-viewer/Packages/lesiontracker/client/components/lesionTable/lesionTable.js

88 lines
2.6 KiB
JavaScript
Raw Normal View History

Template.lesionTable.helpers({
measurement: function() {
// All Targets shall be listed first followed by Non-Targets
2016-02-14 13:39:50 +01:00
return Measurements.find({}, {
sort: {
isTarget: -1,
lesionNumberAbsolute: 1
}
});
},
timepoints: function() {
return Timepoints.find({}, {
sort: {
latestDate: 1
}
});
}
});
Template.lesionTable.events({
'click table#tblLesion tbody tr': function(e, template) {
// Retrieve the lesion id from the DOM data for this row
var measurementId = $(e.currentTarget).data('measurementid');
activateLesion(measurementId, template.data);
2015-12-07 17:55:48 +01:00
},
'mousedown div#dragbar': function(e, template) {
var pY = e.pageY;
var draggableParent = $(e.currentTarget).parent();
var startHeight = draggableParent.height();
template.dragging.set(true);
$(document).on('mouseup', function(e) {
template.dragging.set(false);
$(document).off('mouseup').off('mousemove');
});
$(document).on('mousemove', function(e) {
var topPosition = e.pageY - pY;
var newHeight = startHeight - topPosition;
// Min lesion table height = 5px
if (newHeight < 5) {
return;
}
2015-12-07 17:55:48 +01:00
draggableParent.css({
top: topPosition,
height: newHeight
2015-12-07 17:55:48 +01:00
});
var viewportAndLesionTableHeight = $('#viewportAndLesionTable').height();
2015-12-07 17:55:48 +01:00
var newPercentageHeightofLesionTable = (startHeight - topPosition) / viewportAndLesionTableHeight * 100;
var newPercentageHeightofViewermain = 100 - newPercentageHeightofLesionTable;
$('.viewerMain').height(newPercentageHeightofViewermain + '%');
2015-12-07 17:55:48 +01:00
// Resize viewport
resizeViewportElements();
2015-12-07 17:55:48 +01:00
});
}
2015-12-07 17:55:48 +01:00
});
Template.lesionTable.onCreated(function() {
this.dragging = new ReactiveVar(false);
2015-12-07 17:55:48 +01:00
});
// Temporary until we have a real window manager with events for series/study changed
Session.setDefault('NewSeriesLoaded', false);
Template.lesionTable.onRendered(function() {
// Find the first measurement by Lesion Number
var firstLesion = Measurements.findOne({}, {
sort: {
lesionNumber: 1
}
});
// Create an object to store the ContentId inside
var templateData = {
contentId: Session.get('activeContentId')
};
// Activate the first lesion
if (firstLesion) {
activateLesion(firstLesion._id, templateData);
}
});