From fdcaea9eb3003a82024b8c6b66a15aaa335f1c83 Mon Sep 17 00:00:00 2001 From: Bruno Alves de Faria Date: Thu, 22 Feb 2018 15:40:02 -0300 Subject: [PATCH] Allowing series to be loaded by a single click on sidebar --- Packages/ohif-servers/both/schema/servers.js | 5 +++++ .../studyBrowser/imageThumbnail/imageThumbnail.js | 1 + .../studyBrowser/imageThumbnail/imageThumbnail.styl | 3 +++ .../studyBrowser/thumbnailEntry/thumbnailEntry.js | 11 +++++++++-- 4 files changed, 18 insertions(+), 2 deletions(-) diff --git a/Packages/ohif-servers/both/schema/servers.js b/Packages/ohif-servers/both/schema/servers.js index 62e91701a..e9a32d83d 100644 --- a/Packages/ohif-servers/both/schema/servers.js +++ b/Packages/ohif-servers/both/schema/servers.js @@ -142,6 +142,11 @@ export const UISettings = new SimpleSchema({ label: 'Left sidebar open by default?', defaultValue: false }, + leftSidebarDragAndDrop: { + type: Boolean, + label: 'Left sidebar allows thumbnail drag and drop. If false, images will be loaded on single click.', + defaultValue: true + }, displaySetNavigationLoopOverSeries: { type: Boolean, label: 'The UP/DOWN display set navigation buttons will start over when reach the last display set in viewport?', diff --git a/Packages/ohif-viewerbase/client/components/studyBrowser/imageThumbnail/imageThumbnail.js b/Packages/ohif-viewerbase/client/components/studyBrowser/imageThumbnail/imageThumbnail.js index ca585bd3b..946658032 100644 --- a/Packages/ohif-viewerbase/client/components/studyBrowser/imageThumbnail/imageThumbnail.js +++ b/Packages/ohif-viewerbase/client/components/studyBrowser/imageThumbnail/imageThumbnail.js @@ -3,6 +3,7 @@ import { Template } from 'meteor/templating'; import { Tracker } from 'meteor/tracker'; import { Session } from 'meteor/session'; import { OHIF } from 'meteor/ohif:core'; +import { cornerstone } from 'meteor/ohif:cornerstone'; Template.imageThumbnail.onCreated(() => { const instance = Template.instance(); diff --git a/Packages/ohif-viewerbase/client/components/studyBrowser/imageThumbnail/imageThumbnail.styl b/Packages/ohif-viewerbase/client/components/studyBrowser/imageThumbnail/imageThumbnail.styl index cf05bb241..47aaa9a35 100644 --- a/Packages/ohif-viewerbase/client/components/studyBrowser/imageThumbnail/imageThumbnail.styl +++ b/Packages/ohif-viewerbase/client/components/studyBrowser/imageThumbnail/imageThumbnail.styl @@ -31,6 +31,9 @@ height: 100% overflow: hidden + img + -webkit-user-drag: none + .thumbnailLoadingIndicator display: none pointer-events: none diff --git a/Packages/ohif-viewerbase/client/components/studyBrowser/thumbnailEntry/thumbnailEntry.js b/Packages/ohif-viewerbase/client/components/studyBrowser/thumbnailEntry/thumbnailEntry.js index 812772806..c1b65193c 100644 --- a/Packages/ohif-viewerbase/client/components/studyBrowser/thumbnailEntry/thumbnailEntry.js +++ b/Packages/ohif-viewerbase/client/components/studyBrowser/thumbnailEntry/thumbnailEntry.js @@ -9,7 +9,8 @@ Template.thumbnailEntry.onCreated(() => { const instance = Template.instance(); // Check if the thumbnails will be draggable or clickable - instance.isDragAndDrop = _.isUndefined(instance.data.viewportIndex); + const isIndexUndefined = _.isUndefined(instance.data.viewportIndex); + instance.isDragAndDrop = isIndexUndefined && OHIF.uiSettings.leftSidebarDragAndDrop !== false; }); Template.thumbnailEntry.events({ @@ -44,8 +45,14 @@ Template.thumbnailEntry.events({ // Get the thumbnail stack data const data = instance.data.thumbnail.stack; + // Get the viewport index + let { viewportIndex } = instance.data; + if (_.isUndefined(viewportIndex)) { + viewportIndex = Session.get('activeViewport') || 0; + } + // Rerender the viewport using the clicked thumbnail data - OHIF.viewerbase.layoutManager.rerenderViewportWithNewDisplaySet(instance.data.viewportIndex, data); + OHIF.viewerbase.layoutManager.rerenderViewportWithNewDisplaySet(viewportIndex, data); }, // Event handlers for double click