Files
ohif-viewer/Packages/ohif-measurements/client/components/measurementTable/measurementTableHeaderRow/measurementTableHeaderRow.js
T

61 lines
1.9 KiB
JavaScript

import { Template } from 'meteor/templating';
import { OHIF } from 'meteor/ohif:core';
Template.measurementTableHeaderRow.helpers({
numberOfMeasurements() {
const instance = Template.instance();
if (!instance.data.measurements) {
return;
}
return instance.data.measurements.length;
},
maxNumMeasurements() {
const instance = Template.instance();
if (!instance.data.conformanceCriteria) {
return;
}
return instance.data.conformanceCriteria.maxTargets.get();
},
anyUnmarkedLesionsLeft() {
// Skip New Lesions section
const instance = Template.instance();
if (!instance.data.measurements) {
return;
}
const measurementType = instance.data.measurementType;
const config = OHIF.measurements.MeasurementApi.getConfiguration();
if (measurementType.id === config.newMeasurementTool.id) {
return;
}
const timepointApi = instance.data.timepointApi;
const current = timepointApi.current();
const prior = timepointApi.prior();
if (!prior) {
return true;
}
const currentFilter = { timepointId: current.timepointId };
const priorFilter = { timepointId: prior.timepointId };
const measurementTypeId = measurementType.id;
const measurementApi = instance.data.measurementApi;
const numCurrent = measurementApi.fetch(measurementTypeId, currentFilter).length;
const numPrior = measurementApi.fetch(measurementTypeId, priorFilter).length;
const remaining = Math.max(numPrior - numCurrent, 0);
return remaining > 0;
}
});
Template.measurementTableHeaderRow.events({
'click .js-setTool'(event, instance) {
const measurementType = instance.data.measurementType;
toolManager.setActiveTool(measurementType.cornerstoneToolType);
}
});