Add support for route definition generation in appInit from modes config
This commit is contained in:
parent
e1690390d9
commit
e292bca92e
@ -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>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user