CR Updates
This commit is contained in:
parent
c8052e0e0a
commit
f96c1f6648
@ -1,5 +1,8 @@
|
||||
/*
|
||||
* Supported Keys: https://craig.is/killing/mice
|
||||
*/
|
||||
export default [
|
||||
// ~ Global
|
||||
/** Global */
|
||||
{
|
||||
commandName: 'incrementActiveViewport',
|
||||
label: 'Next Viewport',
|
||||
@ -10,8 +13,7 @@ export default [
|
||||
label: 'Previous Viewport',
|
||||
keys: ['left'],
|
||||
},
|
||||
// Supported Keys: https://craig.is/killing/mice
|
||||
// ~ Cornerstone Extension
|
||||
/** Viewport */
|
||||
{ commandName: 'rotateViewportCW', label: 'Rotate Right', keys: ['r'] },
|
||||
{ commandName: 'rotateViewportCCW', label: 'Rotate Left', keys: ['l'] },
|
||||
{ commandName: 'invertViewport', label: 'Invert', keys: ['i'] },
|
||||
@ -29,11 +31,8 @@ export default [
|
||||
{ commandName: 'scaleDownViewport', label: 'Zoom Out', keys: ['-'] },
|
||||
{ commandName: 'fitViewportToWindow', label: 'Zoom to Fit', keys: ['='] },
|
||||
{ commandName: 'resetViewport', label: 'Reset', keys: ['space'] },
|
||||
// clearAnnotations
|
||||
{ commandName: 'nextImage', label: 'Next Image', keys: ['down'] },
|
||||
{ commandName: 'previousImage', label: 'Previous Image', keys: ['up'] },
|
||||
// firstImage
|
||||
// lastImage
|
||||
{
|
||||
commandName: 'previousViewportDisplaySet',
|
||||
label: 'Previous Series',
|
||||
@ -44,51 +43,58 @@ export default [
|
||||
label: 'Next Series',
|
||||
keys: ['pageup'],
|
||||
},
|
||||
// ~ Cornerstone Tools
|
||||
{ commandName: 'setZoomTool', label: 'Zoom', keys: ['z'] },
|
||||
// ~ Window level presets
|
||||
/** Window level presets */
|
||||
{
|
||||
commandName: 'windowLevelPreset1',
|
||||
commandName: 'setWindowLevelPreset',
|
||||
commandOptions: { preset: 1 },
|
||||
label: 'W/L Preset 1',
|
||||
keys: ['1'],
|
||||
},
|
||||
{
|
||||
commandName: 'windowLevelPreset2',
|
||||
commandName: 'setWindowLevelPreset',
|
||||
commandOptions: { preset: 2 },
|
||||
label: 'W/L Preset 2',
|
||||
keys: ['2'],
|
||||
},
|
||||
{
|
||||
commandName: 'windowLevelPreset3',
|
||||
commandName: 'setWindowLevelPreset',
|
||||
commandOptions: { preset: 3 },
|
||||
label: 'W/L Preset 3',
|
||||
keys: ['3'],
|
||||
},
|
||||
{
|
||||
commandName: 'windowLevelPreset4',
|
||||
commandName: 'setWindowLevelPreset',
|
||||
commandOptions: { preset: 4 },
|
||||
label: 'W/L Preset 4',
|
||||
keys: ['4'],
|
||||
},
|
||||
{
|
||||
commandName: 'windowLevelPreset5',
|
||||
commandName: 'setWindowLevelPreset',
|
||||
commandOptions: { preset: 5 },
|
||||
label: 'W/L Preset 5',
|
||||
keys: ['5'],
|
||||
},
|
||||
{
|
||||
commandName: 'windowLevelPreset6',
|
||||
commandName: 'setWindowLevelPreset',
|
||||
commandOptions: { preset: 6 },
|
||||
label: 'W/L Preset 6',
|
||||
keys: ['6'],
|
||||
},
|
||||
{
|
||||
commandName: 'windowLevelPreset7',
|
||||
commandName: 'setWindowLevelPreset',
|
||||
commandOptions: { preset: 7 },
|
||||
label: 'W/L Preset 7',
|
||||
keys: ['7'],
|
||||
},
|
||||
{
|
||||
commandName: 'windowLevelPreset8',
|
||||
commandName: 'setWindowLevelPreset',
|
||||
commandOptions: { preset: 8 },
|
||||
label: 'W/L Preset 8',
|
||||
keys: ['8'],
|
||||
},
|
||||
{
|
||||
commandName: 'windowLevelPreset9',
|
||||
commandName: 'setWindowLevelPreset',
|
||||
commandOptions: { preset: 9 },
|
||||
label: 'W/L Preset 9',
|
||||
keys: ['9'],
|
||||
},
|
||||
|
||||
@ -1,5 +1,4 @@
|
||||
import useDebounce from './useDebounce.js';
|
||||
import useQuery from './useQuery.js';
|
||||
import useHotkeys from './useHotkeys.js';
|
||||
|
||||
export { useDebounce, useQuery, useHotkeys };
|
||||
export { useDebounce, useQuery };
|
||||
|
||||
@ -1,31 +0,0 @@
|
||||
import { useEffect, useState } from 'react';
|
||||
|
||||
/**
|
||||
* @param {Object} manager HotkeysManager instance
|
||||
* @param {Object} hotkeys hotkey bindings
|
||||
* @param {Object} defaultHotkeys default hotkey bindings
|
||||
*/
|
||||
const useHotkeys = (manager, hotkeys, defaultHotkeys) => {
|
||||
const [isLoaded, setIsLoaded] = useState(false);
|
||||
|
||||
useEffect(() => {
|
||||
if (!hotkeys) {
|
||||
console.warn('[hotkeys] No bindings defined for hotkeys hook!');
|
||||
return;
|
||||
}
|
||||
|
||||
console.debug('[hotkeys] Setting up hotkeys...');
|
||||
manager.setDefaultHotKeys(defaultHotkeys || hotkeys);
|
||||
manager.setHotkeys(hotkeys);
|
||||
setIsLoaded(true);
|
||||
|
||||
return () => {
|
||||
console.debug('[hotkeys] Removing hotkeys...');
|
||||
manager.destroy();
|
||||
};
|
||||
}, [manager, hotkeys, defaultHotkeys]);
|
||||
|
||||
return isLoaded;
|
||||
}
|
||||
|
||||
export default useHotkeys;
|
||||
@ -5,7 +5,7 @@ import PropTypes from 'prop-types';
|
||||
import { DicomMetadataStore } from '@ohif/core';
|
||||
import { DragAndDropProvider, ImageViewerProvider } from '@ohif/ui';
|
||||
//
|
||||
import { useQuery, useHotkeys } from '@hooks';
|
||||
import { useQuery } from '@hooks';
|
||||
import ViewportGrid from '@components/ViewportGrid';
|
||||
import Compose from './Compose';
|
||||
|
||||
@ -17,7 +17,6 @@ export default function ModeRoute({
|
||||
servicesManager,
|
||||
hotkeysManager
|
||||
}) {
|
||||
const isHotkeysLoaded = useHotkeys(hotkeysManager, mode.hotkeys);
|
||||
// Parse route params/querystring
|
||||
const query = useQuery();
|
||||
const queryStudyInstanceUIDs = query.get('StudyInstanceUIDs');
|
||||
@ -28,7 +27,7 @@ export default function ModeRoute({
|
||||
? StudyInstanceUIDs
|
||||
: [StudyInstanceUIDs];
|
||||
|
||||
const { extensions, sopClassHandlers } = mode;
|
||||
const { extensions, sopClassHandlers, hotkeys } = mode;
|
||||
|
||||
if (dataSourceName === undefined) {
|
||||
dataSourceName = extensionManager.defaultDataSourceName;
|
||||
@ -76,6 +75,22 @@ export default function ModeRoute({
|
||||
return ViewportGrid({ ...props, dataSource });
|
||||
}
|
||||
|
||||
useEffect(() => {
|
||||
if (!hotkeys) {
|
||||
console.warn('[hotkeys] No bindings defined for hotkeys hook!');
|
||||
return;
|
||||
}
|
||||
|
||||
console.debug('[hotkeys] Setting up hotkeys...');
|
||||
hotkeysManager.setDefaultHotKeys(hotkeys);
|
||||
hotkeysManager.setHotkeys(hotkeys);
|
||||
|
||||
return () => {
|
||||
console.debug('[hotkeys] Removing hotkeys...');
|
||||
hotkeysManager.destroy();
|
||||
};
|
||||
}, []);
|
||||
|
||||
useEffect(() => {
|
||||
route.init({ servicesManager, extensionManager });
|
||||
}, [
|
||||
@ -85,8 +100,7 @@ export default function ModeRoute({
|
||||
route,
|
||||
servicesManager,
|
||||
extensionManager,
|
||||
hotkeysManager,
|
||||
isHotkeysLoaded
|
||||
hotkeysManager
|
||||
]);
|
||||
|
||||
// This queries for series, but... What does it do with them?
|
||||
|
||||
Loading…
Reference in New Issue
Block a user