73 lines
2.7 KiB
JavaScript
73 lines
2.7 KiB
JavaScript
import { Template } from 'meteor/templating';
|
|
import { ReactiveVar } from 'meteor/reactive-var';
|
|
import { $ } from 'meteor/jquery';
|
|
import { OHIF } from 'meteor/ohif:core';
|
|
|
|
Template.viewerSection.onCreated(() => {
|
|
const instance = Template.instance();
|
|
|
|
instance.isTimepointBrowser = () => !!OHIF.viewer.data.currentTimepointId;
|
|
|
|
OHIF.viewer.quickSwitchStudyBrowserTemplate = 'timepointBrowserQuickSwitch';
|
|
if (!instance.isTimepointBrowser()) {
|
|
OHIF.viewer.quickSwitchStudyBrowserTemplate = 'studyBrowserQuickSwitch';
|
|
instance.loading = new ReactiveVar(true);
|
|
instance.studiesInformation = new ReactiveVar([]);
|
|
const filter = { studyInstanceUid: OHIF.viewer.data.studyInstanceUids };
|
|
OHIF.studies.searchStudies(filter).then(studiesData => {
|
|
instance.loading.set(false);
|
|
instance.studiesInformation.set(studiesData);
|
|
}).catch(error => {
|
|
instance.loading.set(false);
|
|
const text = 'An error has occurred while retrieving studies information';
|
|
OHIF.ui.notifications.danger({ text });
|
|
OHIF.log.error(error);
|
|
});
|
|
}
|
|
});
|
|
|
|
Template.viewerSection.events({
|
|
'transitionend .sidebarMenu'(event) {
|
|
if (!event.target.classList.contains('sidebarMenu')) return;
|
|
window.ResizeViewportManager.handleResize();
|
|
},
|
|
|
|
'ohif.lesiontracker.timepoint.changeViewType .timepoint-browser-list'(event, instance, viewType) {
|
|
const $browserList = $(event.currentTarget);
|
|
const $allBrowserItems = $browserList.find('.timepoint-browser-item');
|
|
|
|
// Removes all active classes to collapse the timepoints and studies
|
|
$allBrowserItems.removeClass('active');
|
|
|
|
if (viewType === 'key') {
|
|
const { timepointIds, currentTimepointId } = OHIF.viewer.data;
|
|
timepointIds.forEach(timepointId => {
|
|
const $browserItem = $allBrowserItems.filter(`[data-id=${timepointId}]`);
|
|
$browserItem.find('.timepoint-item').trigger('ohif.lesiontracker.timepoint.load');
|
|
});
|
|
|
|
// Show only current timepoint expanded on key timepoints tab
|
|
const $browserItem = $allBrowserItems.filter(`[data-id=${currentTimepointId}]`);
|
|
$browserItem.find('.timepoint-item').trigger('click');
|
|
}
|
|
}
|
|
});
|
|
|
|
Template.viewerSection.helpers({
|
|
leftSidebarOpen() {
|
|
return Template.instance().data.state.get('leftSidebar');
|
|
},
|
|
|
|
rightSidebarOpen() {
|
|
return Template.instance().data.state.get('rightSidebar');
|
|
},
|
|
|
|
isTimepointBrowser() {
|
|
return Template.instance().isTimepointBrowser();
|
|
},
|
|
|
|
studiesInformation() {
|
|
return Template.instance().studiesInformation.get();
|
|
}
|
|
});
|