* WindowLevel preset code changes * Remove localStorage code as its already being saved and some small refactor on reducer/action * Creating unit tests for preferences reducer * Fix cypress after class naming change * Make hidden false as default for tab components * Remove addUserPreferences * Small refactor to use commandsManager from getCommandsModule instead of getting it from App.js
This commit is contained in:
1 parent
4fd0c6dfcb
commit
ebc01a8ca2
18 files changed
+510
-119
No files matched your search
@@ -1,74 +1,140 @@
|
||||
import { redux, utils } from '@ohif/core';
|
||||
import { redux } from '@ohif/core';
|
||||
import store from './../../store';
|
||||
const { setViewportActive, setActiveViewportSpecificData } = redux.actions;
|
||||
|
||||
const actions = {
|
||||
updateActiveViewport: ({ viewports, direction }) => {
|
||||
const { viewportSpecificData, activeViewportIndex } = viewports;
|
||||
const maxIndex = Object.keys(viewportSpecificData).length - 1;
|
||||
const commandsModule = ({ commandsManager }) => {
|
||||
const { setViewportActive, setActiveViewportSpecificData } = redux.actions;
|
||||
|
||||
let newIndex = activeViewportIndex + direction;
|
||||
newIndex = newIndex > maxIndex ? 0 : newIndex;
|
||||
newIndex = newIndex < 0 ? maxIndex : newIndex;
|
||||
const actions = {
|
||||
updateActiveViewport: ({ viewports, direction }) => {
|
||||
const { viewportSpecificData, activeViewportIndex } = viewports;
|
||||
const maxIndex = Object.keys(viewportSpecificData).length - 1;
|
||||
|
||||
store.dispatch(setViewportActive(newIndex));
|
||||
},
|
||||
updateViewportDisplaySet: ({ viewports, direction }) => {
|
||||
const viewportSpecificData = { ...viewports.viewportSpecificData };
|
||||
const activeViewport = viewportSpecificData[viewports.activeViewportIndex];
|
||||
const studyMetadata = utils.studyMetadataManager.get(
|
||||
activeViewport.studyInstanceUid
|
||||
);
|
||||
let newIndex = activeViewportIndex + direction;
|
||||
newIndex = newIndex > maxIndex ? 0 : newIndex;
|
||||
newIndex = newIndex < 0 ? maxIndex : newIndex;
|
||||
|
||||
if (!studyMetadata) {
|
||||
return;
|
||||
}
|
||||
store.dispatch(setViewportActive(newIndex));
|
||||
},
|
||||
setWindowLevelPreset: ({ viewports, preset }) => {
|
||||
const state = store.getState();
|
||||
const { preferences = {} } = state;
|
||||
const { window, level } =
|
||||
preferences.windowLevelData && preferences.windowLevelData[preset];
|
||||
|
||||
const allDisplaySets = studyMetadata.getDisplaySets();
|
||||
const currentDisplaySetIndex = allDisplaySets.findIndex(
|
||||
displaySet =>
|
||||
displaySet.displaySetInstanceUid ===
|
||||
activeViewport.displaySetInstanceUid
|
||||
);
|
||||
if (currentDisplaySetIndex < 0) {
|
||||
return;
|
||||
}
|
||||
if (window && level) {
|
||||
commandsManager.runCommand('setWindowLevel', {
|
||||
viewports,
|
||||
window,
|
||||
level,
|
||||
});
|
||||
}
|
||||
},
|
||||
updateViewportDisplaySet: ({ viewports, direction }) => {
|
||||
const viewportSpecificData = { ...viewports.viewportSpecificData };
|
||||
const activeViewport =
|
||||
viewportSpecificData[viewports.activeViewportIndex];
|
||||
const studyMetadata = utils.studyMetadataManager.get(
|
||||
activeViewport.studyInstanceUid
|
||||
);
|
||||
|
||||
const newDisplaySetIndex = currentDisplaySetIndex + direction;
|
||||
const newDisplaySetData = allDisplaySets[newDisplaySetIndex];
|
||||
if (!newDisplaySetData) {
|
||||
return;
|
||||
}
|
||||
if (!studyMetadata) {
|
||||
return;
|
||||
}
|
||||
|
||||
store.dispatch(setActiveViewportSpecificData(newDisplaySetData));
|
||||
},
|
||||
const allDisplaySets = studyMetadata.getDisplaySets();
|
||||
const currentDisplaySetIndex = allDisplaySets.findIndex(
|
||||
displaySet =>
|
||||
displaySet.displaySetInstanceUid ===
|
||||
activeViewport.displaySetInstanceUid
|
||||
);
|
||||
if (currentDisplaySetIndex < 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
const newDisplaySetIndex = currentDisplaySetIndex + direction;
|
||||
const newDisplaySetData = allDisplaySets[newDisplaySetIndex];
|
||||
if (!newDisplaySetData) {
|
||||
return;
|
||||
}
|
||||
|
||||
store.dispatch(setActiveViewportSpecificData(newDisplaySetData));
|
||||
},
|
||||
};
|
||||
|
||||
const definitions = {
|
||||
// Next/Previous active viewport
|
||||
incrementActiveViewport: {
|
||||
commandFn: actions.updateActiveViewport,
|
||||
storeContexts: ['viewports'],
|
||||
options: { direction: 1 },
|
||||
},
|
||||
decrementActiveViewport: {
|
||||
commandFn: actions.updateActiveViewport,
|
||||
storeContexts: ['viewports'],
|
||||
options: { direction: -1 },
|
||||
},
|
||||
// Window level Presets
|
||||
windowLevelPreset1: {
|
||||
commandFn: actions.setWindowLevelPreset,
|
||||
storeContexts: ['viewports'],
|
||||
options: { preset: 1 },
|
||||
},
|
||||
windowLevelPreset2: {
|
||||
commandFn: actions.setWindowLevelPreset,
|
||||
storeContexts: ['viewports'],
|
||||
options: { preset: 2 },
|
||||
},
|
||||
windowLevelPreset3: {
|
||||
commandFn: actions.setWindowLevelPreset,
|
||||
storeContexts: ['viewports'],
|
||||
options: { preset: 3 },
|
||||
},
|
||||
windowLevelPreset4: {
|
||||
commandFn: actions.setWindowLevelPreset,
|
||||
storeContexts: ['viewports'],
|
||||
options: { preset: 4 },
|
||||
},
|
||||
windowLevelPreset5: {
|
||||
commandFn: actions.setWindowLevelPreset,
|
||||
storeContexts: ['viewports'],
|
||||
options: { preset: 5 },
|
||||
},
|
||||
windowLevelPreset6: {
|
||||
commandFn: actions.setWindowLevelPreset,
|
||||
storeContexts: ['viewports'],
|
||||
options: { preset: 6 },
|
||||
},
|
||||
windowLevelPreset7: {
|
||||
commandFn: actions.setWindowLevelPreset,
|
||||
storeContexts: ['viewports'],
|
||||
options: { preset: 7 },
|
||||
},
|
||||
windowLevelPreset8: {
|
||||
commandFn: actions.setWindowLevelPreset,
|
||||
storeContexts: ['viewports'],
|
||||
options: { preset: 8 },
|
||||
},
|
||||
windowLevelPreset9: {
|
||||
commandFn: actions.setWindowLevelPreset,
|
||||
storeContexts: ['viewports'],
|
||||
options: { preset: 9 },
|
||||
},
|
||||
nextViewportDisplaySet: {
|
||||
commandFn: actions.updateViewportDisplaySet,
|
||||
storeContexts: ['viewports'],
|
||||
options: { direction: 1 },
|
||||
},
|
||||
previousViewportDisplaySet: {
|
||||
commandFn: actions.updateViewportDisplaySet,
|
||||
storeContexts: ['viewports'],
|
||||
options: { direction: -1 },
|
||||
},
|
||||
};
|
||||
|
||||
return {
|
||||
definitions,
|
||||
defaultContext: 'VIEWER',
|
||||
};
|
||||
};
|
||||
|
||||
const definitions = {
|
||||
// Next/Previous active viewport
|
||||
incrementActiveViewport: {
|
||||
commandFn: actions.updateActiveViewport,
|
||||
storeContexts: ['viewports'],
|
||||
options: { direction: 1 },
|
||||
},
|
||||
decrementActiveViewport: {
|
||||
commandFn: actions.updateActiveViewport,
|
||||
storeContexts: ['viewports'],
|
||||
options: { direction: -1 },
|
||||
},
|
||||
nextViewportDisplaySet: {
|
||||
commandFn: actions.updateViewportDisplaySet,
|
||||
storeContexts: ['viewports'],
|
||||
options: { direction: 1 },
|
||||
},
|
||||
previousViewportDisplaySet: {
|
||||
commandFn: actions.updateViewportDisplaySet,
|
||||
storeContexts: ['viewports'],
|
||||
options: { direction: -1 },
|
||||
},
|
||||
};
|
||||
|
||||
export default {
|
||||
definitions,
|
||||
defaultContext: 'VIEWER',
|
||||
};
|
||||
export default commandsModule;
|
||||
Reference in new issue
Block a user