* docs: formatting * Prefer numRows and numColumns to percentage width/height for layout * fix: LayoutManager --> ViewportGrid (get out of UI component library) * docs: remove outdated docs * Don't expose ExampleDropTarget * Revert thumnail entry drag source removal * Update screaming tests * fix drag-n-drop * fix vtk mpr2d CC: @jamesapetts * remove setSingleLayoutData * remove vtk qualifier
41 lines
1.1 KiB
JavaScript
41 lines
1.1 KiB
JavaScript
import ViewportGrid from './ViewportGrid.js';
|
|
import { MODULE_TYPES } from '@ohif/core';
|
|
import { connect } from 'react-redux';
|
|
import { extensionManager } from './../../App.js';
|
|
|
|
const mapStateToProps = state => {
|
|
const availableViewportModules = {};
|
|
const viewportModules = extensionManager.modules[MODULE_TYPES.VIEWPORT];
|
|
|
|
viewportModules.forEach(moduleDefinition => {
|
|
availableViewportModules[moduleDefinition.extensionId] =
|
|
moduleDefinition.module;
|
|
});
|
|
|
|
// TODO: Use something like state.plugins.defaultPlugin[MODULE_TYPES.VIEWPORT]
|
|
let defaultPlugin;
|
|
if (viewportModules.length) {
|
|
defaultPlugin = viewportModules[0].extensionId;
|
|
}
|
|
|
|
const { numRows, numColumns, layout, activeViewportIndex } = state.viewports;
|
|
|
|
return {
|
|
numRows,
|
|
numColumns,
|
|
layout,
|
|
activeViewportIndex,
|
|
// TODO: rename `availableViewportModules`
|
|
availablePlugins: availableViewportModules,
|
|
// TODO: rename `defaultViewportModule`
|
|
defaultPlugin,
|
|
};
|
|
};
|
|
|
|
const ConnectedViewportGrid = connect(
|
|
mapStateToProps,
|
|
null
|
|
)(ViewportGrid);
|
|
|
|
export default ConnectedViewportGrid;
|