(cloudwatch) fix template replace with panel repeat

This commit is contained in:
Mitsuhiro Tanda 2016-02-17 11:59:53 +09:00
parent 807c052fea
commit f28eec8be3

View File

@ -58,7 +58,7 @@ function (angular, _, moment, dateMath) {
var result = []; var result = [];
_.each(allResponse, function(response, index) { _.each(allResponse, function(response, index) {
var metrics = transformMetricData(response, options.targets[index]); var metrics = transformMetricData(response, options.targets[index], options.scopedVars);
result = result.concat(metrics); result = result.concat(metrics);
}); });
@ -302,18 +302,18 @@ function (angular, _, moment, dateMath) {
return this.defaultRegion; return this.defaultRegion;
}; };
function transformMetricData(md, options) { function transformMetricData(md, options, scopedVars) {
var aliasRegex = /\{\{(.+?)\}\}/g; var aliasRegex = /\{\{(.+?)\}\}/g;
var aliasPattern = options.alias || '{{metric}}_{{stat}}'; var aliasPattern = options.alias || '{{metric}}_{{stat}}';
var aliasData = { var aliasData = {
region: templateSrv.replace(options.region), region: templateSrv.replace(options.region, scopedVars),
namespace: templateSrv.replace(options.namespace), namespace: templateSrv.replace(options.namespace, scopedVars),
metric: templateSrv.replace(options.metricName), metric: templateSrv.replace(options.metricName, scopedVars),
}; };
var aliasDimensions = {}; var aliasDimensions = {};
_.each(_.keys(options.dimensions), function(origKey) { _.each(_.keys(options.dimensions), function(origKey) {
var key = templateSrv.replace(origKey); var key = templateSrv.replace(origKey, scopedVars);
var value = templateSrv.replace(options.dimensions[origKey]); var value = templateSrv.replace(options.dimensions[origKey], scopedVars);
aliasDimensions[key] = value; aliasDimensions[key] = value;
}); });
_.extend(aliasData, aliasDimensions); _.extend(aliasData, aliasDimensions);