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>
<div id="viewer"> <div id="viewer">
{{#if and Template.subscriptionsReady dataSourcesReady}} {{#if and Template.subscriptionsReady dataSourcesReady}}
{{>toolbarSection (clone this)}} {{>toolbarSection (clone this state=state)}}
{{>viewerSection (clone this)}} {{>viewerSection (clone this state=state)}}
{{else}} {{else}}
{{>loadingText}} {{>loadingText}}
{{/if}} {{/if}}

View File

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

View File

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

View File

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

View File

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

View File

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