54 lines
1.8 KiB
JavaScript
54 lines
1.8 KiB
JavaScript
Meteor.methods({
|
|
"removeMeasurement": function(id) {
|
|
console.log(Measurements.find().fetch());
|
|
console.log("Removing: " + id);
|
|
Measurements.remove(id);
|
|
console.log(Measurements.find().fetch());
|
|
},
|
|
"removeMeasurementsByPatientId": function(patientId) {
|
|
Measurements.remove({patientId: patientId});
|
|
},
|
|
// TODO= Check where this is used? Seems like nowhere..
|
|
"removePatientMeasurement": function(lesionObject) {
|
|
// Find patient data
|
|
var measurementData = Measurements.findOne({
|
|
patientId: lesionObject.patientId,
|
|
isTarget: lesionObject.isTarget,
|
|
lesionNumber: lesionObject.lesionNumber
|
|
});
|
|
|
|
// Get timepoints
|
|
var timepoints = measurementData.timepoints;
|
|
|
|
// Create an array to hold keys of timepoints
|
|
var timepointsIds = Object.keys(timepoints).slice(0);
|
|
|
|
timepointsIds.forEach(function(timepointId) {
|
|
if (timepointId === lesionObject.timepointId) {
|
|
delete timepoints[timepointId];
|
|
}
|
|
});
|
|
|
|
var newTimepointsIds = Object.keys(timepoints);
|
|
// If there is no timepoints object, remove measurement data
|
|
if (newTimepointsIds.length) {
|
|
//Update measurement timepoints
|
|
Measurements.update({
|
|
patientId: lesionObject.patientId,
|
|
isTarget: lesionObject.isTarget,
|
|
lesionNumber: lesionObject.lesionNumber
|
|
}, {
|
|
$set: {
|
|
timepoints: timepoints
|
|
}
|
|
});
|
|
} else {
|
|
// Remove all data
|
|
Measurements.remove({
|
|
patientId: lesionObject.patientId,
|
|
isTarget: lesionObject.isTarget,
|
|
lesionNumber: lesionObject.lesionNumber
|
|
});
|
|
}
|
|
}
|
|
}); |