80 lines
2.2 KiB
JavaScript
80 lines
2.2 KiB
JavaScript
ViewerData = Session.get('ViewerData') || {};
|
||
|
||
Template.worklist.helpers({
|
||
'tabs': function() {
|
||
console.log('Updating tabs');
|
||
return tabs.find();
|
||
}
|
||
});
|
||
|
||
Template.worklist.events({
|
||
'click a[data-toggle="tab"]': function(e) {
|
||
var contentId = $(e.currentTarget).data('target').replace("#", "");
|
||
switchToTab(contentId);
|
||
}
|
||
});
|
||
|
||
switchToTab = function(contentId) {
|
||
var data = ViewerData[contentId];
|
||
|
||
console.log("Switching to tab: " + contentId);
|
||
|
||
// Set active tab
|
||
Session.set("activeContentId", contentId);
|
||
|
||
$('.tabTitle a[data-target="#' + contentId + '"]').tab('show');
|
||
|
||
$("#viewer").remove();
|
||
|
||
var container = $('.tab-content').find("#" + contentId).get(0);
|
||
if (!container) {
|
||
return;
|
||
}
|
||
|
||
if (contentId === 'worklistTab') {
|
||
console.log('Switching to worklist');
|
||
document.body.style.overflow = null;
|
||
document.body.style.height = null;
|
||
document.body.style.minWidth = null;
|
||
document.body.style.position = null;
|
||
} else {
|
||
UI.renderWithData(Template.viewer, data, container);
|
||
var imageViewer = $("#viewer");
|
||
if (imageViewer) {
|
||
document.body.style.overflow = "hidden";
|
||
document.body.style.height = '100%';
|
||
document.body.style.width = '100%';
|
||
document.body.style.minWidth = 0;
|
||
document.body.style.position = 'fixed'; // Prevent overscroll on mobile devices
|
||
}
|
||
}
|
||
};
|
||
|
||
Template.worklist.onRendered(function() {
|
||
this.autorun(function() {
|
||
var data = Session.get('OpenNewTabEvent');
|
||
|
||
// If we have no new tab data, stop here
|
||
// (e.g. if we are rendering the worklist)
|
||
if (!data) {
|
||
return;
|
||
}
|
||
|
||
var contentId = data.contentid;
|
||
if (ViewerData.hasOwnProperty(contentId)) {
|
||
console.warn('Contentid already exists?');
|
||
return;
|
||
}
|
||
|
||
// Update the viewer data object
|
||
ViewerData[contentId] = {
|
||
contentId: contentId,
|
||
studies: data.studies,
|
||
title: data.title
|
||
};
|
||
Session.set('ViewerData', ViewerData);
|
||
|
||
|
||
switchToTab(contentId);
|
||
});
|
||
}); |