LT-117: Add warning icon in study list row and give tip about user when warning icon is hovered if study is in-use by another user
This commit is contained in:
1 parent
064743a8f7
commit
2da841bab0
15 files changed
+206
-8
No files matched your search
@@ -183,6 +183,14 @@ changeLesionLocationCallback = function(measurementData, eventData, doneCallback
|
||||
selected: true
|
||||
}
|
||||
});
|
||||
|
||||
// Set reviewer for this timepoint
|
||||
Object.keys(measurement.timepoints).forEach(function(key) {
|
||||
if (measurement.timepoints[key].studyInstanceUid) {
|
||||
Meteor.call('setReviewer',measurement.timepoints[key].studyInstanceUid);
|
||||
}
|
||||
});
|
||||
|
||||
};
|
||||
|
||||
var config = {
|
||||
|
||||
+4
@@ -1,6 +1,9 @@
|
||||
<template name="lesionTrackerWorklistStudy">
|
||||
<tr class="worklistStudy noselect">
|
||||
<td>
|
||||
{{#if reviewerTip}}
|
||||
<i class="fa fa-exclamation-circle reviewerTip" data-toggle="tooltip" data-placement="bottom" title="{{reviewerTip}}"></i>
|
||||
{{/if}}
|
||||
{{formatPN patientName}}
|
||||
</td>
|
||||
<td>
|
||||
@@ -27,5 +30,6 @@
|
||||
{{numberOfStudyRelatedInstances}}
|
||||
</td>
|
||||
{{/unless}}
|
||||
|
||||
</tr>
|
||||
</template>
|
||||
+68
@@ -26,5 +26,73 @@ Template[defaultTemplate].helpers({
|
||||
}
|
||||
|
||||
return getTimepointName(timepoint);
|
||||
},
|
||||
reviewerTip: function() {
|
||||
var data = this;
|
||||
var study = Studies.findOne({
|
||||
studyInstanceUid: data.studyInstanceUid
|
||||
});
|
||||
|
||||
if (!study) {
|
||||
return;
|
||||
}
|
||||
|
||||
var timepoint = Timepoints.findOne({
|
||||
timepointId: study.timepointId
|
||||
});
|
||||
|
||||
if (!timepoint) {
|
||||
return;
|
||||
}
|
||||
|
||||
var timepointReviewers = Reviewers.findOne({timepointId: timepoint.timepointId});
|
||||
if (!timepointReviewers) {
|
||||
return;
|
||||
}
|
||||
|
||||
return getReviewerTipText(timepointReviewers.reviewers);
|
||||
}
|
||||
});
|
||||
|
||||
function getReviewerTipText(reviewers) {
|
||||
if (!reviewers || reviewers.length === 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
var newReviewers = reviewers.filter(function ( reviewer ) {
|
||||
return reviewer.userId !== Meteor.userId();
|
||||
});
|
||||
|
||||
if (newReviewers.length === 0) {
|
||||
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;
|
||||
}
|
||||
|
||||
// Observe changes on WorklistTabs
|
||||
WorklistTabs.find().observe({
|
||||
removed: function(tab) {
|
||||
var timepointId = tab.timepointId;
|
||||
if (!timepointId) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Remove the current user from Reviewers
|
||||
Meteor.call('removeReviewer', timepointId);
|
||||
|
||||
}
|
||||
});
|
||||
+4
-1
@@ -1,2 +1,5 @@
|
||||
.worklistStudy
|
||||
cursor: pointer
|
||||
cursor: pointer
|
||||
|
||||
.reviewerTip
|
||||
color: darkred
|
||||
Reference in new issue
Block a user