Expand extensionManager to index module definitions by namespace

This commit is contained in:
dannyrb authored and James A. Petts committed 2020-05-15 14:00:08 +02:00
1 parent f172f26dee
commit e1690390d9
1 file changed
+19 -1
@@ -12,9 +12,11 @@ export default class ExtensionManager {
this._appConfig = appConfig;
this._api = api;
this.modulesMap = {};
this.moduleTypeNames.forEach(moduleType => {
this.modules[moduleType] = [];
});
this.dataSourceMap = {};
}
/**
@@ -93,6 +95,10 @@ export default class ExtensionManager {
extensionId,
module: extensionModule,
});
extensionModule.forEach(element => {
this.modulesMap[`${extensionId}.${moduleType}.${name}`];
});
}
});
@@ -100,6 +106,14 @@ export default class ExtensionManager {
this.registeredExtensionIds.push(extensionId);
}
getModuleEntry(stringEntry) {
return this.modulesMap[stringEntry];
}
getDataSource(dataSourceId) {
return this.dataSourceMap[dataSourceId];
}
/**
* @private
* @param {string} moduleType
@@ -148,8 +162,12 @@ export default class ExtensionManager {
this._initCommandsModule(definitions, defaultContext);
break;
}
case: 'dataSourcesModule': {
case 'dataSourcesModule': {
break;
extensionModule.forEach(element => {
this.dataSourceMap[extensionModule.name] = element;
});
}
default:
// code block