ohif-viewer/Packages/lesiontracker/client/components/flexboxLayout/flexboxLayout.js

60 lines
1.5 KiB
JavaScript
Raw Normal View History

2016-06-07 19:09:47 +02:00
Template.flexboxLayout.onCreated(() => {
const instance = Template.instance();
instance.state = instance.data.state;
instance.timepointViewType = new ReactiveVar();
});
let resizeTimeout;
2016-06-07 19:09:47 +02:00
Template.flexboxLayout.onRendered(() => {
const instance = Template.instance();
instance.autorun(() => {
2016-06-07 19:09:47 +02:00
Meteor.clearTimeout(resizeTimeout);
// Trigger a resize any time the layout state changes
instance.state.get('leftSidebar');
instance.state.get('rightSidebar');
2016-06-07 19:09:47 +02:00
resizeTimeout = Meteor.setTimeout(() => {
2016-06-07 19:09:47 +02:00
handleResize();
}, 300);
});
});
Template.flexboxLayout.helpers({
timepointViewType() {
return Template.instance().timepointViewType;
},
sidebarButtonGroupData() {
2016-06-07 19:09:47 +02:00
const instance = Template.instance();
return {
value: instance.timepointViewType,
options: [{
value: 'key',
2016-06-07 19:09:47 +02:00
text: 'Key Timepoints'
}, {
value: 'all',
2016-06-07 19:09:47 +02:00
text: 'All Timepoints'
}]
};
},
leftSidebarOpen() {
2016-06-07 19:09:47 +02:00
const instance = Template.instance();
return instance.state.get('leftSidebar');
2016-06-07 19:09:47 +02:00
},
lesionSidebarOpen() {
return Template.instance().state.get('rightSidebar') === 'lesions';
2016-06-07 19:09:47 +02:00
},
additionalMeasurementsSidebarOpen() {
return Template.instance().state.get('rightSidebar') === 'additional';
2016-06-07 19:09:47 +02:00
},
rightSidebarOpen() {
return Template.instance().state.get('rightSidebar') !== null;
2016-06-07 19:09:47 +02:00
}
});