Prevent saving alerts with variables, fix #1100

This commit is contained in:
Alexander Zobnin
2020-12-22 17:01:37 +03:00
parent 1d15f3c11b
commit 32ccb28c34
2 changed files with 18 additions and 1 deletions

View File

@@ -13,7 +13,7 @@ import problemsHandler from './problemsHandler';
import { Zabbix } from './zabbix/zabbix';
import { ZabbixAPIError } from './zabbix/connectors/zabbix_api/zabbixAPIConnector';
import { ZabbixMetricsQuery, ZabbixDSOptions, VariableQueryTypes, ShowProblemTypes, ProblemDTO } from './types';
import { getBackendSrv } from '@grafana/runtime';
import { getBackendSrv, getTemplateSrv } from '@grafana/runtime';
import { DataFrame, DataQueryRequest, DataQueryResponse, DataSourceApi, DataSourceInstanceSettings, FieldType, isDataFrame, LoadingState } from '@grafana/data';
export class ZabbixDatasource extends DataSourceApi<ZabbixMetricsQuery, ZabbixDSOptions> {
@@ -643,6 +643,20 @@ export class ZabbixDatasource extends DataSourceApi<ZabbixMetricsQuery, ZabbixDS
});
}
targetContainsTemplate(target: ZabbixMetricsQuery): boolean {
const templateSrv = getTemplateSrv() as any;
return (
templateSrv.variableExists(target.group?.filter) ||
templateSrv.variableExists(target.host?.filter) ||
templateSrv.variableExists(target.application?.filter) ||
templateSrv.variableExists(target.item?.filter) ||
templateSrv.variableExists(target.proxy?.filter) ||
templateSrv.variableExists(target.trigger?.filter) ||
templateSrv.variableExists(target.textFilter) ||
templateSrv.variableExists(target.itServiceFilter)
);
}
/////////////////
// Annotations //
/////////////////

View File

@@ -49,6 +49,9 @@ export interface ZabbixMetricsQuery extends DataQuery {
application: { filter: string; name: string; };
item: { filter: string; name: string; };
itemFilter: string;
proxy?: { filter: string; };
trigger?: { filter: string; };
itServiceFilter?: string;
}
export interface ZabbixQueryOptions {