45 lines
1.4 KiB
JavaScript
45 lines
1.4 KiB
JavaScript
/**
|
|
* Template: StudyList
|
|
*
|
|
* This is the main component of the StudyList package
|
|
*/
|
|
|
|
// Define the ViewerData global object
|
|
// If there is currently any Session data for this object,
|
|
// use this to repopulate the variable
|
|
ViewerData = Session.get('ViewerData') || {};
|
|
|
|
// Define the StudyListStudies Collection
|
|
// This is a client-side only Collection which
|
|
// Stores the list of studies in the StudyList
|
|
StudyListStudies = new Meteor.Collection(null);
|
|
StudyListStudies._debugName = 'StudyListStudies';
|
|
|
|
Session.setDefault('activeContentId', 'studylistTab');
|
|
|
|
Template.studylist.onCreated(() => {
|
|
const instance = Template.instance();
|
|
|
|
if (StudyList.subscriptions) {
|
|
StudyList.subscriptions.forEach(subscriptionName => {
|
|
instance.subscribe(subscriptionName);
|
|
});
|
|
}
|
|
});
|
|
|
|
Template.studylist.onRendered(() => {
|
|
const instance = Template.instance();
|
|
if (instance.data && instance.data.studyInstanceUid) {
|
|
const studyInstanceUid = instance.data.studyInstanceUid;
|
|
openNewTab(studyInstanceUid);
|
|
} else {
|
|
// If there is a tab set as active in the Session,
|
|
// switch to that now.
|
|
console.log('studylist onRendered');
|
|
const contentId = Session.get('activeContentId');
|
|
if (contentId !== 'studylistTab' && ViewerData && ViewerData[contentId]) {
|
|
switchToTab(contentId);
|
|
}
|
|
}
|
|
});
|