diff --git a/src/ui/public/agg_types/__tests__/metrics/std_deviation.js b/src/ui/public/agg_types/__tests__/metrics/std_deviation.js index 96deddcf3b670..c16d9691e9744 100644 --- a/src/ui/public/agg_types/__tests__/metrics/std_deviation.js +++ b/src/ui/public/agg_types/__tests__/metrics/std_deviation.js @@ -33,9 +33,29 @@ describe('AggTypeMetricStandardDeviationProvider class', function () { let avgLabel = responseAggs[1].makeLabel(); let upperStdDevLabel = responseAggs[2].makeLabel(); - expect(lowerStdDevLabel).to.be('Lower custom label of memory'); + expect(lowerStdDevLabel).to.be('Lower custom label'); expect(avgLabel).to.be('Average of memory'); // not expected to use custom label - expect(upperStdDevLabel).to.be('Upper custom label of memory'); + expect(upperStdDevLabel).to.be('Upper custom label'); + }); + + it('uses the default labels if custom label is not set', function () { + let vis = new Vis(indexPattern, {}); + + // Grab the aggConfig off the vis (we don't actually use the vis for + // anything else) + let aggConfig = vis.aggs[0]; + aggConfig.params.field = { + displayName: 'memory' + }; + + let responseAggs = aggTypeMetricStandardDeviation.getResponseAggs(aggConfig); + let lowerStdDevLabel = responseAggs[0].makeLabel(); + let avgLabel = responseAggs[1].makeLabel(); + let upperStdDevLabel = responseAggs[2].makeLabel(); + + expect(lowerStdDevLabel).to.be('Lower Standard Deviation of memory'); + expect(avgLabel).to.be('Average of memory'); // not expected to use custom label + expect(upperStdDevLabel).to.be('Upper Standard Deviation of memory'); }); }); diff --git a/src/ui/public/agg_types/metrics/std_deviation.js b/src/ui/public/agg_types/metrics/std_deviation.js index 36340ee4fbc6b..9982dd65a9a3c 100644 --- a/src/ui/public/agg_types/metrics/std_deviation.js +++ b/src/ui/public/agg_types/metrics/std_deviation.js @@ -11,11 +11,12 @@ export default function AggTypeMetricStandardDeviationProvider(Private) { return details.valProp; }, makeLabel: function () { - let details = this.keyedDetails(this.params.customLabel)[this.key]; - return details.title + ' of ' + this.fieldDisplayName(); + const fieldDisplayName = this.fieldDisplayName(); + const details = this.keyedDetails(this.params.customLabel, fieldDisplayName); + return _.get(details, [this.key, 'title']); }, - keyedDetails: function (customLabel) { - const label = customLabel ? customLabel : 'Standard Deviation'; + keyedDetails: function (customLabel, fieldDisplayName) { + const label = customLabel ? customLabel : 'Standard Deviation of ' + fieldDisplayName; return { std_lower: { valProp: ['std_deviation_bounds', 'lower'], @@ -23,7 +24,7 @@ export default function AggTypeMetricStandardDeviationProvider(Private) { }, avg: { valProp: 'avg', - title: 'Average' + title: 'Average of ' + fieldDisplayName }, std_upper: { valProp: ['std_deviation_bounds', 'upper'],