* Added docs with new screenshots * Added doc to architecture * Added documentations to various extension modules * Added more documentation to modes * Added docs to managers * Added docs for services * Fixed deployment docs * Added white labelling documentation * Added i18n docs and measurement export
1.4 KiB
1.4 KiB
Extension Manager
Overview
The ExtensionManager is a class made available to us via the @ohif/core
project (platform/core). Our application instantiates a single instance of it,
and provides a ServicesManager and CommandsManager along with the
application's configuration through the appConfig key (optional).
const commandsManager = new CommandsManager();
const servicesManager = new ServicesManager();
const extensionManager = new ExtensionManager({
commandsManager,
servicesManager,
appConfig,
});
The ExtensionManager only has a few public members:
setActiveDataSource- Sets the active data source for the applicationgetDataSources- Returns the registered data sourcesgetActiveDataSource- Returns the currently active data sourcegetModuleEntry- Returns the module entry by the give id.
Accessing Modules
We use getModuleEntry in our ViewerLayout logic to find the panels based on the
provided IDs in the mode's configuration.
For instance: extensionManager.getModuleEntry("org.ohif.measurement-tracking.panelModule.seriesList")
accesses the seriesList panel from panelModule of the org.ohif.measurement-tracking extension.
const getPanelData = id => {
const entry = extensionManager.getModuleEntry(id);
const content = entry.component;
return {
iconName: entry.iconName,
iconLabel: entry.iconLabel,
label: entry.label,
name: entry.name,
content,
};
};