Files
ohif-viewer/platform/core/src/redux/actions.js
T
Igor Octaviano f396b30166 refactor: Viewports state (#1218)
* Organize viewports reducers

* Organize viewports actions

* Add local state to store dom node and remove hack

* Comment usage of dom in vtk

* Fix set of enabledElements

* Fix warning in html viewport

* Update docs for state

* Add commandsmanager to commandsmodule
2019-12-02 11:29:04 -05:00

147 lines
2.7 KiB
JavaScript

/** Action Creators:
* https://redux.js.org/basics/actions#action-creators
*/
import {
CLEAR_VIEWPORT,
SET_ACTIVE_SPECIFIC_DATA,
SET_SERVERS,
SET_VIEWPORT,
SET_VIEWPORT_ACTIVE,
SET_VIEWPORT_LAYOUT,
SET_VIEWPORT_LAYOUT_AND_DATA,
} from './constants/ActionTypes.js';
/**
* The definition of a viewport layout.
*
* @typedef {Object} ViewportLayout
* @property {number} numRows -
* @property {number} numColumns -
* @property {array} viewports -
*/
/**
* VIEWPORT
*/
export const setViewportSpecificData = (
viewportIndex,
viewportSpecificData
) => ({
type: SET_VIEWPORT,
viewportIndex,
viewportSpecificData,
});
export const setViewportActive = viewportIndex => ({
type: SET_VIEWPORT_ACTIVE,
viewportIndex,
});
/**
* @param {ViewportLayout} layout
*/
export const setLayout = ({ numRows, numColumns, viewports }) => ({
type: SET_VIEWPORT_LAYOUT,
numRows,
numColumns,
viewports,
});
/**
* @param {number} layout.numRows
* @param {number} layout.numColumns
* @param {array} viewports
*/
export const setViewportLayoutAndData = (
{ numRows, numColumns, viewports },
viewportSpecificData
) => ({
type: SET_VIEWPORT_LAYOUT_AND_DATA,
numRows,
numColumns,
viewports,
viewportSpecificData,
});
export const clearViewportSpecificData = viewportIndex => ({
type: CLEAR_VIEWPORT,
viewportIndex,
});
export const setActiveViewportSpecificData = viewportSpecificData => ({
type: SET_ACTIVE_SPECIFIC_DATA,
viewportSpecificData,
});
/**
* NOT-VIEWPORT
*/
export const setStudyLoadingProgress = (progressId, progressData) => ({
type: 'SET_STUDY_LOADING_PROGRESS',
progressId,
progressData,
});
export const clearStudyLoadingProgress = progressId => ({
type: 'CLEAR_STUDY_LOADING_PROGRESS',
progressId,
});
export const setUserPreferences = state => ({
type: 'SET_USER_PREFERENCES',
state,
});
export const setExtensionData = (extension, data) => ({
type: 'SET_EXTENSION_DATA',
extension,
data,
});
export const setTimepoints = state => ({
type: 'SET_TIMEPOINTS',
state,
});
export const setMeasurements = state => ({
type: 'SET_MEASUREMENTS',
state,
});
export const setStudyData = (studyInstanceUid, data) => ({
type: 'SET_STUDY_DATA',
studyInstanceUid,
data,
});
export const setServers = servers => ({
type: SET_SERVERS,
servers,
});
const actions = {
/**
* VIEWPORT
*/
setViewportActive,
setViewportSpecificData,
setViewportLayoutAndData,
setLayout,
clearViewportSpecificData,
setActiveViewportSpecificData,
/**
* NOT-VIEWPORT
*/
setStudyLoadingProgress,
clearStudyLoadingProgress,
setUserPreferences,
setExtensionData,
setTimepoints,
setMeasurements,
setStudyData,
setServers,
};
export default actions;