Fix ds provisioning with direct DB connection enabled (#723)

* fix ds provisioning with direct DB connection #711

* fix linter error
This commit is contained in:
Alexander Zobnin
2019-04-19 12:56:51 +03:00
committed by GitHub
parent e4bbecb18b
commit 869634ef62
4 changed files with 25 additions and 5 deletions

View File

@@ -28,9 +28,16 @@ export class ZabbixDSConfigController {
this.current.jsonData = migrateDSConfig(this.current.jsonData);
_.defaults(this.current.jsonData, defaultConfig);
this.dbConnectionEnable = this.current.jsonData.dbConnectionEnable;
this.dbConnectionDatasourceId = this.current.jsonData.dbConnectionDatasourceId;
this.dbDataSources = this.getSupportedDBDataSources();
this.zabbixVersions = _.cloneDeep(zabbixVersions);
this.autoDetectZabbixVersion();
if (!this.dbConnectionDatasourceId) {
this.loadCurrentDBDatasource();
}
}
getSupportedDBDataSources() {
@@ -41,11 +48,21 @@ export class ZabbixDSConfigController {
}
getCurrentDatasourceType() {
const dsId = this.current.jsonData.dbConnectionDatasourceId;
const dsId = this.dbConnectionDatasourceId;
const currentDs = _.find(this.dbDataSources, { 'id': dsId });
return currentDs ? currentDs.type : null;
}
loadCurrentDBDatasource() {
const dsName= this.current.jsonData.dbConnectionDatasourceName;
this.datasourceSrv.loadDatasource(dsName)
.then(ds => {
if (ds) {
this.dbConnectionDatasourceId = ds.id;
}
});
}
autoDetectZabbixVersion() {
if (!this.current.id) {
return;