DataSourcePlugin: Avoid anuglar injector if only one parameter (#17239)

This commit is contained in:
Ryan McKinley
2019-05-23 11:56:00 +02:00
committed by Torkel Ödegaard
parent ca6151e23f
commit 9e7fa74682
@@ -61,9 +61,13 @@ export class DatasourceSrv {
return;
}
const instance: DataSourceApi = this.$injector.instantiate(dsPlugin.DataSourceClass, {
instanceSettings: dsConfig,
});
// If there is only one constructor argument it is instanceSettings
const useAngular = dsPlugin.DataSourceClass.length !== 1;
const instance: DataSourceApi = useAngular
? this.$injector.instantiate(dsPlugin.DataSourceClass, {
instanceSettings: dsConfig,
})
: new dsPlugin.DataSourceClass(dsConfig);
instance.components = dsPlugin.components;
instance.meta = dsConfig.meta;