Fixed bug with aggregation functions bind when dashboard loaded.
This commit is contained in:
@@ -152,7 +152,8 @@ function (angular, _, dateMath, utils, metricFunctions) {
|
||||
return _.contains(transformFunctions, func.def.name);
|
||||
});
|
||||
var functions = _.map(transFuncDefs, function(func) {
|
||||
return func.bindFunction(DataProcessingService.metricFunctions);
|
||||
var funcInstance = metricFunctions.createFuncInstance(func.def, func.params);
|
||||
return funcInstance.bindFunction(DataProcessingService.metricFunctions);
|
||||
});
|
||||
|
||||
// Metric data processing
|
||||
@@ -171,7 +172,8 @@ function (angular, _, dateMath, utils, metricFunctions) {
|
||||
return _.contains(aggregationFunctions, func.def.name);
|
||||
});
|
||||
var functions = _.map(aggFuncDefs, function(func) {
|
||||
return func.bindFunction(DataProcessingService.metricFunctions);
|
||||
var funcInstance = metricFunctions.createFuncInstance(func.def, func.params);
|
||||
return funcInstance.bindFunction(DataProcessingService.metricFunctions);
|
||||
});
|
||||
var dp = _.map(timeseries_data, 'datapoints');
|
||||
|
||||
|
||||
@@ -110,11 +110,14 @@ function (_, $) {
|
||||
categories[catName] = _.sortBy(funcList, 'name');
|
||||
});
|
||||
|
||||
function FuncInstance(funcDef, options) {
|
||||
function FuncInstance(funcDef, params) {
|
||||
this.def = funcDef;
|
||||
this.params = [];
|
||||
|
||||
if (options && options.withDefaultParams) {
|
||||
if (params) {
|
||||
this.params = params;
|
||||
} else {
|
||||
// Create with default params
|
||||
this.params = [];
|
||||
this.params = funcDef.defaultParams.slice(0);
|
||||
}
|
||||
|
||||
@@ -200,14 +203,14 @@ function (_, $) {
|
||||
};
|
||||
|
||||
return {
|
||||
createFuncInstance: function(funcDef, options) {
|
||||
createFuncInstance: function(funcDef, params) {
|
||||
if (_.isString(funcDef)) {
|
||||
if (!index[funcDef]) {
|
||||
throw { message: 'Method not found ' + name };
|
||||
}
|
||||
funcDef = index[funcDef];
|
||||
}
|
||||
return new FuncInstance(funcDef, options);
|
||||
return new FuncInstance(funcDef, params);
|
||||
},
|
||||
|
||||
getFuncDef: function(name) {
|
||||
|
||||
@@ -269,7 +269,7 @@ define([
|
||||
$scope.validateTarget = function () {};
|
||||
|
||||
$scope.addFunction = function(funcDef) {
|
||||
var newFunc = metricFunctions.createFuncInstance(funcDef, { withDefaultParams: true });
|
||||
var newFunc = metricFunctions.createFuncInstance(funcDef);
|
||||
newFunc.added = true;
|
||||
$scope.target.functions.push(newFunc);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user