OHIF #83 Do not assign state reactive-dict to template data since template data is overwritten and previous state is lost when router is called multiple times

This commit is contained in:
Aysel Afsar 2017-08-12 09:25:53 -04:00
parent 2c38921385
commit b928051e10
6 changed files with 41 additions and 24 deletions

View File

@ -8,8 +8,8 @@
</div>
<div id="viewer">
{{#if and Template.subscriptionsReady dataSourcesReady}}
{{>toolbarSection (clone this)}}
{{>viewerSection (clone this)}}
{{>toolbarSection (clone this state=state)}}
{{>viewerSection (clone this state=state)}}
{{else}}
{{>loadingText}}
{{/if}}

View File

@ -55,9 +55,9 @@ Template.viewer.onCreated(() => {
ValidationErrors.remove({});
instance.data.state = new ReactiveDict();
instance.data.state.set('leftSidebar', Session.get('leftSidebar'));
instance.data.state.set('rightSidebar', Session.get('rightSidebar'));
instance.state = new ReactiveDict();
instance.state.set('leftSidebar', Session.get('leftSidebar'));
instance.state.set('rightSidebar', Session.get('rightSidebar'));
const viewportUtils = OHIF.viewerbase.viewportUtils;
@ -286,14 +286,14 @@ const setActiveToolAndSidebar = () => {
}
// Toggle Measurement Table
if (instance.data.state) {
instance.data.state.set('rightSidebar', 'measurements');
if (instance.state) {
instance.state.set('rightSidebar', 'measurements');
}
}
// Hide as default for single study
else {
if (instance.data.state) {
instance.data.state.set('rightSidebar', null);
if (instance.state) {
instance.state.set('rightSidebar', null);
}
}
};
@ -351,6 +351,10 @@ Template.viewer.helpers({
const ready = Session.get('TimepointsReady') && Session.get('MeasurementsReady');
OHIF.log.info('dataSourcesReady? : ' + ready);
return ready;
},
state() {
return Template.instance().state;
}
});

View File

@ -11,8 +11,8 @@
{{>textEntryDialog}}
</div>
<div id="viewer">
{{>toolbarSection (clone this)}}
{{>flexboxLayout (clone this)}}
{{>toolbarSection (clone this state=state)}}
{{>flexboxLayout (clone this state=state)}}
</div>
{{else}}
{{>loadingText}}

View File

@ -84,9 +84,9 @@ Template.viewer.onCreated(() => {
// Define the OHIF.viewer.data global object
OHIF.viewer.data = OHIF.viewer.data || Session.get('ViewerData') || {};
instance.data.state = new ReactiveDict();
instance.data.state.set('leftSidebar', Session.get('leftSidebar'));
instance.data.state.set('rightSidebar', Session.get('rightSidebar'));
instance.state = new ReactiveDict();
instance.state.set('leftSidebar', Session.get('leftSidebar'));
instance.state.set('rightSidebar', Session.get('rightSidebar'));
if (OHIF.viewer.data && OHIF.viewer.data.loadedSeriesData) {
OHIF.log.info('Reloading previous loadedSeriesData');
@ -153,13 +153,19 @@ Template.viewer.onRendered(function() {
Template.viewer.events({
'click .js-toggle-studies'() {
const instance = Template.instance();
const current = instance.data.state.get('leftSidebar');
instance.data.state.set('leftSidebar', !current);
const current = instance.state.get('leftSidebar');
instance.state.set('leftSidebar', !current);
},
'click .js-toggle-protocol-editor'() {
const instance = Template.instance();
const current = instance.data.state.get('rightSidebar');
const current = instance.state.get('rightSidebar');
instance.data.state.set('rightSidebar', !current);
},
});
Template.viewer.helpers({
state() {
return Template.instance().state;
}
});

View File

@ -6,8 +6,8 @@
{{>annotationDialogs}}
</div>
<div id="viewer">
{{>toolbarSection (clone this)}}
{{>flexboxLayout (clone this)}}
{{>toolbarSection (clone this state=state)}}
{{>flexboxLayout (clone this state=state)}}
</div>
{{else}}
{{>loadingText}}

View File

@ -50,9 +50,10 @@ const initHangingProtocol = () => {
Template.viewer.onCreated(() => {
const instance = Template.instance();
instance.data.state = new ReactiveDict();
instance.data.state.set('leftSidebar', Session.get('leftSidebar'));
instance.data.state.set('rightSidebar', Session.get('rightSidebar'));
instance.state = new ReactiveDict();
instance.state.set('leftSidebar', Session.get('leftSidebar'));
instance.state.set('rightSidebar', Session.get('rightSidebar'));
if (OHIF.viewer.data && OHIF.viewer.data.loadedSeriesData) {
OHIF.log.info('Reloading previous loadedSeriesData');
@ -118,7 +119,13 @@ Template.viewer.onRendered(function() {
Template.viewer.events({
'click .js-toggle-studies'() {
const instance = Template.instance();
const current = instance.data.state.get('leftSidebar');
instance.data.state.set('leftSidebar', !current);
const current = instance.state.get('leftSidebar');
instance.state.set('leftSidebar', !current);
}
});
Template.viewer.helpers({
state() {
return Template.instance().state;
}
});