ohif-viewer/Packages/ohif-measurements/client/components/longitudinal/longitudinalStudyListStudy/longitudinalStudyListStudy.js
Erik Ziegler ab4d4c9008 Work on refactoring measurements out of Lesion Tracker package
- Removed AssociatedStudies Collection
- Measurement API is generated from configuration files
- Data exchange methods are defined in configuration
2016-11-15 08:21:46 +01:00

76 lines
2.0 KiB
JavaScript

// Use Aldeed's meteor-template-extension package to replace the
// default StudyListStudy template.
// See https://github.com/aldeed/meteor-template-extension
const defaultTemplate = 'studylistStudy';
Template.longitudinalStudyListStudy.replaces(defaultTemplate);
// Add the TimepointName helper to the default template. The
// HTML of this template is replaced with that of longitudinalStudyListStudy
Template[defaultTemplate].helpers({
timepointName: function() {
const instance = Template.instance();
const timepointApi = StudyList.timepointApi;
if (!timepointApi) {
return;
}
const timepoint = timepointApi.study(instance.data.studyInstanceUid)[0];
if (!timepoint) {
return;
}
return timepointApi.name(timepoint);
},
reviewerTip: function() {
const instance = Template.instance();
const timepointApi = StudyList.timepointApi;
if (!timepointApi) {
return;
}
const timepoint = timepointApi.study(instance.data.studyInstanceUid);
if (!timepoint) {
return;
}
var timepointReviewers = Reviewers.findOne({
timepointId: timepoint.timepointId
});
if (!timepointReviewers) {
return;
}
return getReviewerTipText(timepointReviewers.reviewers);
}
});
function getReviewerTipText(reviewers) {
if (!reviewers || !reviewers.length) {
return;
}
var newReviewers = reviewers.filter(function(reviewer) {
return reviewer.userId !== Meteor.userId();
});
if (!newReviewers.length) {
return;
}
var tipText = 'The study is being reviewed by ';
newReviewers.forEach(function(reviewer, index) {
if (reviewer.userId === Meteor.userId()) {
return;
}
if (index > 0) {
tipText += ',';
}
tipText += reviewer.userName;
});
return tipText;
}