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

View File

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