From 9e7fa74682423774a3962cbac8fa8cfdd819559d Mon Sep 17 00:00:00 2001 From: Ryan McKinley Date: Thu, 23 May 2019 02:56:00 -0700 Subject: [PATCH] DataSourcePlugin: Avoid anuglar injector if only one parameter (#17239) --- public/app/features/plugins/datasource_srv.ts | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/public/app/features/plugins/datasource_srv.ts b/public/app/features/plugins/datasource_srv.ts index 6143a5e182b..1a84355ac02 100644 --- a/public/app/features/plugins/datasource_srv.ts +++ b/public/app/features/plugins/datasource_srv.ts @@ -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;