ohif-viewer/Packages/ohif-viewerbase/client/components/browser/quickSwitch.js
2018-12-14 14:38:36 +01:00

44 lines
1.7 KiB
JavaScript

import { Template } from 'meteor/templating';
import { ReactiveVar } from 'meteor/reactive-var';
import { Tracker } from 'meteor/tracker';
import { OHIF } from 'ohif-core';
Template.studyBrowserQuickSwitch.onCreated(() => {
const instance = Template.instance();
instance.studiesInformation = new ReactiveVar();
const filter = { studyInstanceUid: OHIF.viewer.data.studyInstanceUids };
OHIF.studies.searchStudies(filter).then(studies => instance.studiesInformation.set(studies));
});
Template.studyBrowserQuickSwitch.onRendered(() => {
const instance = Template.instance();
instance.autorun(() => {
instance.studiesInformation.dep.depend();
const currentStudy = instance.data.currentStudy.get();
const studyInstanceUid = (currentStudy && currentStudy.studyInstanceUid) || '';
Tracker.afterFlush(() => {
const $studyBrowserItems = instance.$('.study-browser-item');
$studyBrowserItems.removeClass('active');
$studyBrowserItems.filter(`[data-uid="${studyInstanceUid}"]`).addClass('active');
});
});
});
Template.studyBrowserQuickSwitch.events({
'ohif.studies.study.click'(event, instance, studyInformation) {
const { studyInstanceUid } = studyInformation;
const study = OHIF.viewer.Studies.findBy({ studyInstanceUid });
instance.data.currentStudy.set(study);
const $studySwitch = $(event.currentTarget).closest('.study-switch');
$studySwitch.siblings('.series-switch').trigger('rescale');
}
});
Template.studyBrowserQuickSwitch.helpers({
studyBrowserData() {
const instance = Template.instance();
const studiesInformation = instance.studiesInformation.get();
return { studiesInformation };
}
});