From c3d7c2af09b4b645690c7bafd1c5da666c8986e2 Mon Sep 17 00:00:00 2001 From: Erik Ziegler Date: Wed, 31 Aug 2016 11:11:45 +0200 Subject: [PATCH] Fix image scrolling direction issue and DIMSE Server schema issue --- OHIFViewer/.meteor/packages | 1 - .../viewer/imageControls/imageControls.js | 23 +++++++++++++++++-- Packages/worklist/both/schema.js | 1 + 3 files changed, 22 insertions(+), 3 deletions(-) diff --git a/OHIFViewer/.meteor/packages b/OHIFViewer/.meteor/packages index 4108a86e1..c305d0da9 100755 --- a/OHIFViewer/.meteor/packages +++ b/OHIFViewer/.meteor/packages @@ -40,7 +40,6 @@ clinical:router fastclick@1.0.12 standard-minifier-css@1.1.8 standard-minifier-js@1.1.8 -aldeed:simple-schema johdirr:meteor-git-rev wadoproxy aldeed:template-extension diff --git a/Packages/viewerbase/client/components/viewer/imageControls/imageControls.js b/Packages/viewerbase/client/components/viewer/imageControls/imageControls.js index a77a2d385..e88c73381 100644 --- a/Packages/viewerbase/client/components/viewer/imageControls/imageControls.js +++ b/Packages/viewerbase/client/components/viewer/imageControls/imageControls.js @@ -16,14 +16,33 @@ Template.imageControls.onRendered(() => { }) Template.imageControls.events({ - 'input #imageSlider, change #imageSlider': function(e) { + 'keydown #imageSlider'(event) { + // We don't allow direct keyboard up/down input on the + // image sliders since the natural direction is reversed (0 is at the top) + + // Prevent the browser's default behaviour (scrolling) + event.preventDefault(); + + // Store the KeyCodes in an object for readability + const keys = { + DOWN: 40, + UP: 38 + }; + + if (event.which === keys.DOWN) { + OHIF.viewer.hotkeyFunctions.scrollDown(); + } else if (event.which === keys.UP) { + OHIF.viewer.hotkeyFunctions.scrollUp(); + } + }, + 'input #imageSlider, change #imageSlider'(event) { // Note that we throttle requests to prevent the // user's ultrafast scrolling from firing requests too quickly. clearTimeout(slideTimeout); slideTimeout = setTimeout(() => { // Using the slider in an inactive viewport // should cause that viewport to become active - const slider = $(e.currentTarget); + const slider = $(event.currentTarget); const newActiveElement = slider.parents().eq(2).siblings('.imageViewerViewport').get(0); setActiveViewport(newActiveElement); diff --git a/Packages/worklist/both/schema.js b/Packages/worklist/both/schema.js index fd2153ec2..30edd1ade 100644 --- a/Packages/worklist/both/schema.js +++ b/Packages/worklist/both/schema.js @@ -86,6 +86,7 @@ export const DIMSEPeer = new SimpleSchema({ hostAE: { type: String, label: 'Application Entity (AE) Host', + optional: true }, host: { type: String,