ohif-viewer/Packages/lesiontracker/client/components/flexboxLayout/flexboxLayout.js
2016-07-22 11:00:16 +02:00

67 lines
2.0 KiB
JavaScript

Template.flexboxLayout.onCreated(() => {
const instance = Template.instance();
instance.state = instance.data.state;
instance.timepointViewType = new ReactiveVar();
});
var resizeTimeout;
Template.flexboxLayout.onRendered(() => {
const instance = Template.instance();
instance.autorun(function() {
Meteor.clearTimeout(resizeTimeout);
// Trigger a resize any time the layout state changes
var studySidebarOpen = instance.state.get('studySidebarOpen');
var lesionSidebarOpen = instance.state.get('lesionSidebarOpen');
var additionalMeasurementsSidebarOpen = instance.state.get('additionalMeasurementsSidebarOpen');
resizeTimeout = Meteor.setTimeout(function() {
handleResize();
}, 300);
});
});
Template.flexboxLayout.helpers({
timepointViewType() {
return Template.instance().timepointViewType;
},
buttonGroupData() {
const instance = Template.instance();
return {
value: instance.timepointViewType,
options: [{
key: 'key',
text: 'Key Timepoints'
}, {
key: 'all',
text: 'All Timepoints'
}]
};
},
studySidebarOpen() {
const instance = Template.instance();
return instance.state.get('studySidebarOpen');
},
lesionSidebarOpen() {
const instance = Template.instance();
return instance.state.get('lesionSidebarOpen');
},
additionalMeasurementsSidebarOpen() {
const instance = Template.instance();
return instance.state.get('additionalMeasurementsSidebarOpen');
},
rightSidebarOpen() {
const instance = Template.instance();
const lesionSidebarOpen = instance.data.state.get('lesionSidebarOpen');
const additionalMeasurementsSidebarOpen = instance.data.state.get('additionalMeasurementsSidebarOpen');
return lesionSidebarOpen || additionalMeasurementsSidebarOpen;
}
});