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