fix connected layout manager to use extensionManager

This commit is contained in:
dannyrb 2019-06-12 16:37:45 -04:00
parent 4f6cee8960
commit b052930123

View File

@ -1,32 +1,29 @@
import { LayoutManager } from 'react-viewerbase';
import { MODULE_TYPES } from 'ohif-core';
import { connect } from 'react-redux';
import { extensionManager } from './../App.js';
const mapStateToProps = state => {
const viewportPluginIds = state.plugins.availablePlugins
.filter(plugin => plugin.type === MODULE_TYPES.VIEWPORT)
.map(plugin => plugin.id);
const availableViewportModules = {};
const viewportModules = extensionManager.modules[MODULE_TYPES.VIEWPORT];
const availablePlugins = {};
viewportPluginIds.forEach(id => {
const plugin = OHIF.plugins.availablePlugins.find(
plugin => plugin.id === id
);
if (plugin) {
availablePlugins[id] = plugin.component;
}
viewportModules.forEach(moduleDefinition => {
availableViewportModules[moduleDefinition.extensionId] =
moduleDefinition.module;
});
// TODO Use something like state.plugins.defaultPlugin[MODULE_TYPES.VIEWPORT]
// TODO: Use something like state.plugins.defaultPlugin[MODULE_TYPES.VIEWPORT]
let defaultPlugin;
if (viewportPluginIds && viewportPluginIds.length) {
defaultPlugin = viewportPluginIds[0];
if (viewportModules.length) {
defaultPlugin = viewportModules[0].extensionId;
}
return {
layout: state.viewports.layout,
activeViewportIndex: state.viewports.activeViewportIndex,
availablePlugins,
// TODO: rename `availableViewportModules`
availablePlugins: availableViewportModules,
// TODO: rename `defaultViewportModule`
defaultPlugin,
};
};