From e1690390d929578838a06f282c4522c261e28652 Mon Sep 17 00:00:00 2001 From: dannyrb Date: Thu, 7 May 2020 14:04:33 -0400 Subject: [PATCH] Expand extensionManager to index module definitions by namespace --- .../core/src/extensions/ExtensionManager.js | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/platform/core/src/extensions/ExtensionManager.js b/platform/core/src/extensions/ExtensionManager.js index 4e81970ca..22ab070f9 100644 --- a/platform/core/src/extensions/ExtensionManager.js +++ b/platform/core/src/extensions/ExtensionManager.js @@ -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