Expand extensionManager to index module definitions by namespace

This commit is contained in:
dannyrb 2020-05-07 14:04:33 -04:00 committed by James A. Petts
parent f172f26dee
commit e1690390d9

View File

@ -12,9 +12,11 @@ export default class ExtensionManager {
this._appConfig = appConfig; this._appConfig = appConfig;
this._api = api; this._api = api;
this.modulesMap = {};
this.moduleTypeNames.forEach(moduleType => { this.moduleTypeNames.forEach(moduleType => {
this.modules[moduleType] = []; this.modules[moduleType] = [];
}); });
this.dataSourceMap = {};
} }
/** /**
@ -93,6 +95,10 @@ export default class ExtensionManager {
extensionId, extensionId,
module: extensionModule, module: extensionModule,
}); });
extensionModule.forEach(element => {
this.modulesMap[`${extensionId}.${moduleType}.${name}`];
});
} }
}); });
@ -100,6 +106,14 @@ export default class ExtensionManager {
this.registeredExtensionIds.push(extensionId); this.registeredExtensionIds.push(extensionId);
} }
getModuleEntry(stringEntry) {
return this.modulesMap[stringEntry];
}
getDataSource(dataSourceId) {
return this.dataSourceMap[dataSourceId];
}
/** /**
* @private * @private
* @param {string} moduleType * @param {string} moduleType
@ -148,8 +162,12 @@ export default class ExtensionManager {
this._initCommandsModule(definitions, defaultContext); this._initCommandsModule(definitions, defaultContext);
break; break;
} }
case: 'dataSourcesModule': { case 'dataSourcesModule': {
break; break;
extensionModule.forEach(element => {
this.dataSourceMap[extensionModule.name] = element;
});
} }
default: default:
// code block // code block