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;