diff --git a/src/datasource-zabbix/datasource.ts b/src/datasource-zabbix/datasource.ts index d250768..c6f8013 100644 --- a/src/datasource-zabbix/datasource.ts +++ b/src/datasource-zabbix/datasource.ts @@ -108,11 +108,9 @@ export class ZabbixDatasource extends DataSourceApi !isBackendTarget(t)); + const frontendTargets = requestTargets.filter(t => !this.isBackendTarget(t)); const promises = _.map(frontendTargets, target => { // Don't request for hidden targets if (target.hide) { @@ -204,7 +202,7 @@ export class ZabbixDatasource extends DataSourceApi): Promise { const { intervalMs, maxDataPoints, range, requestId } = request; - const targets = request.targets.filter(isBackendTarget); + const targets = request.targets.filter(this.isBackendTarget); // Add range variables request.scopedVars = Object.assign({}, request.scopedVars, utils.getRangeScopedVars(request.range)); @@ -834,6 +832,15 @@ export class ZabbixDatasource extends DataSourceApi { + if (this.enableDirectDBConnection) { + return false; + } + + return target.queryType === c.MODE_METRICS || + target.queryType === c.MODE_ITEMID; + } } function bindFunctionDefs(functionDefs, category) { @@ -943,12 +950,3 @@ function getRequestTarget(request: DataQueryRequest, refId: string): any { } return null; } - -function isBackendQuery(request: DataQueryRequest): boolean { - return request.targets.every(isBackendTarget); -} - -function isBackendTarget(target: any): boolean { - return target.queryType === c.MODE_METRICS || - target.queryType === c.MODE_ITEMID; -}