WIP reorganization
This commit is contained in:
1 parent
6706dfe634
commit
054e37dfb7
266 files changed
+98
-620
No files matched your search
+73
@@ -0,0 +1,73 @@
|
||||
import { Meteor } from 'meteor/meteor';
|
||||
import { Template } from 'meteor/templating';
|
||||
import { ReactiveVar } from 'meteor/reactive-var';
|
||||
import { _ } from 'meteor/underscore';
|
||||
import { OHIF } from 'meteor/ohif:core';
|
||||
import { SimpleSchema } from 'meteor/aldeed:simple-schema';
|
||||
|
||||
Meteor.startup(() => {
|
||||
const TrialCriteriaTypes = new Meteor.Collection(null);
|
||||
TrialCriteriaTypes._debugName = 'TrialCriteriaTypes';
|
||||
|
||||
TrialCriteriaTypes.insert({
|
||||
id: 'RECIST',
|
||||
name: 'RECIST 1.1',
|
||||
descriptionTemplate: 'recistDescription',
|
||||
selected: true
|
||||
});
|
||||
|
||||
TrialCriteriaTypes.insert({
|
||||
id: 'irRC',
|
||||
name: 'irRC',
|
||||
descriptionTemplate: 'irRCDescription',
|
||||
selected: false
|
||||
});
|
||||
|
||||
OHIF.lesiontracker.TrialCriteriaTypes = TrialCriteriaTypes;
|
||||
});
|
||||
|
||||
Template.trialOptionsModal.onCreated(() => {
|
||||
const instance = Template.instance();
|
||||
const { TrialCriteriaTypes } = OHIF.lesiontracker;
|
||||
const types = TrialCriteriaTypes.find().fetch();
|
||||
const defaultValue = _.findWhere(types, { selected: true })._id;
|
||||
instance.selectedTrial = new ReactiveVar(defaultValue);
|
||||
|
||||
instance.schema = new SimpleSchema({
|
||||
trialCriteria: {
|
||||
type: String,
|
||||
allowedValues: _.pluck(types, '_id'),
|
||||
valuesLabels: _.pluck(types, 'name'),
|
||||
defaultValue
|
||||
}
|
||||
});
|
||||
|
||||
instance.data.promise.then(formData => {
|
||||
// Set "selected" to false for the entire collection
|
||||
TrialCriteriaTypes.update({}, {
|
||||
$set: { selected: false }
|
||||
}, {
|
||||
multi: true
|
||||
});
|
||||
|
||||
// TODO: Use filter with "_id: $in" when allowing multiple criteria
|
||||
// Set "selected" to true for the current criteria
|
||||
TrialCriteriaTypes.update(formData.trialCriteria, {
|
||||
$set: { selected: true }
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
Template.trialOptionsModal.helpers({
|
||||
getDescriptionTemplate(_id) {
|
||||
return OHIF.lesiontracker.TrialCriteriaTypes.findOne(_id).descriptionTemplate;
|
||||
}
|
||||
});
|
||||
|
||||
Template.trialOptionsModal.events({
|
||||
'change .js-trial'(event, instance) {
|
||||
const form = instance.$('form').first().data('component');
|
||||
if (!form) return;
|
||||
instance.selectedTrial.set(form.value().trialCriteria);
|
||||
}
|
||||
});
|
||||
Reference in new issue
Block a user