Add support for route definition generation in appInit from modes config

This commit is contained in:
dannyrb 2020-05-07 14:05:03 -04:00 committed by James A. Petts
parent e1690390d9
commit e292bca92e
2 changed files with 10 additions and 13 deletions

View File

@ -4,7 +4,7 @@ import PropTypes from 'prop-types';
import { BrowserRouter, HashRouter } from 'react-router-dom';
import { ThemeWrapper } from '@ohif/ui';
// Viewer Project
import routes from './routes';
import createRoutes from './routes';
import appInit from './appInit.js';
/**
@ -20,14 +20,16 @@ function App({ config, defaultExtensions }) {
commandsManager,
extensionManager,
servicesManager,
appRoutes,
} = appInit(config, defaultExtensions);
console.log(appRoutes);
// TODO: Expose configuration w/ context?
// See: `setConfiguration` in master
return (
<Router basename={appConfig.routerBasename}>
<ThemeWrapper>{routes()}</ThemeWrapper>
<ThemeWrapper>{createRoutes(appRoutes)}</ThemeWrapper>
</Router>
);
}

View File

@ -20,15 +20,16 @@ import buildModeRoutes from './routes/buildModeRoutes';
function appInit(appConfigOrFunc, defaultExtensions) {
const appConfig = {
...(typeof appConfigOrFunc === 'function'
? config({ servicesManager })
? appConfigOrFunc({ servicesManager })
: appConfigOrFunc),
};
// TODO: Wire this up to Rodrigo's basic Context "ContextService"
const commandsManagerConfig = {
/** Used by commands to inject `viewports` from "redux" */
getAppState: () => store.getState(),
getAppState: () => {},
/** Used by commands to determine active context */
getActiveContexts: () => getActiveContexts(store.getState()),
getActiveContexts: () => ['VIEWER', 'ACTIVE_VIEWPORT::CORNERSTONE'],
};
const commandsManager = new CommandsManager(commandsManagerConfig);
const servicesManager = new ServicesManager();
@ -37,12 +38,6 @@ function appInit(appConfigOrFunc, defaultExtensions) {
commandsManager,
servicesManager,
appConfig,
api: {
contexts: CONTEXTS,
hooks: {
useAppContext,
},
},
});
servicesManager.registerServices([
@ -69,14 +64,14 @@ function appInit(appConfigOrFunc, defaultExtensions) {
const { modes } = appConfig;
const routes = buildModeRoutes(modes, extensionManager);
const appRoutes = buildModeRoutes(modes, extensionManager) || [];
return {
appConfig,
commandsManager,
extensionManager,
servicesManager,
routes,
appRoutes,
};
}