Files
ohif-viewer/platform/core/src/redux/actions.js
T

146 lines
2.7 KiB
JavaScript
Raw Normal View History

2019-08-13 15:36:46 -04:00
/** 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';
2019-12-02 13:29:04 -03:00
/**
* The definition of a viewport layout.
*
* @typedef {Object} ViewportLayout
* @property {number} numRows -
* @property {number} numColumns -
* @property {array} viewports -
*/
2019-08-13 15:36:46 -04:00
/**
* VIEWPORT
*/
2019-12-02 13:29:04 -03:00
export const setViewportSpecificData = (
viewportIndex,
viewportSpecificData
) => ({
2019-08-13 15:36:46 -04:00
type: SET_VIEWPORT,
viewportIndex,
2019-12-02 13:29:04 -03:00
viewportSpecificData,
2019-08-13 15:36:46 -04:00
});
export const setViewportActive = viewportIndex => ({
type: SET_VIEWPORT_ACTIVE,
viewportIndex,
});
2019-10-11 12:03:59 -04:00
/**
2019-12-02 13:29:04 -03:00
* @param {ViewportLayout} layout
2019-10-11 12:03:59 -04:00
*/
export const setLayout = ({ numRows, numColumns, viewports }) => ({
2019-08-13 15:36:46 -04:00
type: SET_VIEWPORT_LAYOUT,
2019-10-11 12:03:59 -04:00
numRows,
numColumns,
viewports,
});
/**
* @param {number} layout.numRows
* @param {number} layout.numColumns
2019-12-02 13:29:04 -03:00
* @param {array} viewports
2019-10-11 12:03:59 -04:00
*/
export const setViewportLayoutAndData = (
{ numRows, numColumns, viewports },
viewportSpecificData
) => ({
type: SET_VIEWPORT_LAYOUT_AND_DATA,
numRows,
numColumns,
viewports,
viewportSpecificData,
2019-08-13 15:36:46 -04:00
});
export const clearViewportSpecificData = viewportIndex => ({
type: CLEAR_VIEWPORT,
viewportIndex,
});
2019-12-02 13:29:04 -03:00
export const setActiveViewportSpecificData = viewportSpecificData => ({
2019-08-13 15:36:46 -04:00
type: SET_ACTIVE_SPECIFIC_DATA,
2019-12-02 13:29:04 -03:00
viewportSpecificData,
2019-08-13 15:36:46 -04:00
});
/**
* 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 = {
2019-12-02 13:29:04 -03:00
/**
* VIEWPORT
*/
2019-08-13 15:36:46 -04:00
setViewportActive,
setViewportSpecificData,
setViewportLayoutAndData,
setLayout,
clearViewportSpecificData,
setActiveViewportSpecificData,
2019-12-02 13:29:04 -03:00
/**
* NOT-VIEWPORT
*/
2019-08-13 15:36:46 -04:00
setStudyLoadingProgress,
clearStudyLoadingProgress,
setUserPreferences,
setExtensionData,
setTimepoints,
setMeasurements,
setStudyData,
setServers,
};
export default actions;