* feat: 🎸 Update hotkeys and user preferences modal This feature fix incompatibility with existent hotkeys component and adds user preferences modal back Closes: #923 * Update preferences structure in store * Hide window level section of user preferences * Update modal to reflect current hotkey value * Clone object with hotkeys before passing to manager * CR Update: Extract hotkeys manager format code to manager * Fix broken cypress test * Use new modal provider * Rename hotkeyDefinitions in hotkeyspreferences and use array as representation * Update study test and remove unused styles
42 lines
1.2 KiB
JavaScript
42 lines
1.2 KiB
JavaScript
import { connect } from 'react-redux';
|
|
import { UserPreferencesForm } from '@ohif/ui';
|
|
import OHIF from '@ohif/core';
|
|
import { hotkeysManager } from '../App.js';
|
|
|
|
const { setUserPreferences } = OHIF.redux.actions;
|
|
|
|
const mapStateToProps = (state, ownProps) => {
|
|
const hotkeyDefinitions =
|
|
state.preferences.hotkeyDefinitions.length > 0
|
|
? state.preferences.hotkeyDefinitions
|
|
: hotkeysManager.hotkeyDefaults;
|
|
hotkeysManager.setHotkeys(hotkeyDefinitions);
|
|
return {
|
|
onClose: ownProps.hide,
|
|
windowLevelData: state.preferences ? state.preferences.windowLevelData : {},
|
|
hotkeyDefinitions,
|
|
};
|
|
};
|
|
|
|
const mapDispatchToProps = (dispatch, ownProps) => {
|
|
return {
|
|
onSave: ({ windowLevelData, hotkeyDefinitions }) => {
|
|
hotkeysManager.setHotkeys(hotkeyDefinitions);
|
|
ownProps.hide();
|
|
dispatch(setUserPreferences({ windowLevelData, hotkeyDefinitions }));
|
|
},
|
|
onResetToDefaults: () => {
|
|
hotkeysManager.restoreDefaultBindings();
|
|
ownProps.hide();
|
|
dispatch(setUserPreferences());
|
|
},
|
|
};
|
|
};
|
|
|
|
const ConnectedUserPreferencesForm = connect(
|
|
mapStateToProps,
|
|
mapDispatchToProps
|
|
)(UserPreferencesForm);
|
|
|
|
export default ConnectedUserPreferencesForm;
|