From 8b321d6fdc37a342d61b23964a1fed1001a5cacb Mon Sep 17 00:00:00 2001 From: ppisljar Date: Mon, 6 Feb 2017 17:49:42 +0100 Subject: [PATCH] fixing based on last review --- src/ui/public/agg_types/metrics/derivative.js | 3 ++- .../metrics/lib/parent_pipeline_agg_controller.js | 11 +++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/ui/public/agg_types/metrics/derivative.js b/src/ui/public/agg_types/metrics/derivative.js index e55959fba99dc6..47b229cd339b43 100644 --- a/src/ui/public/agg_types/metrics/derivative.js +++ b/src/ui/public/agg_types/metrics/derivative.js @@ -38,7 +38,7 @@ export default function AggTypeMetricDerivativeProvider(Private) { return this.makeAgg(agg, state); }, makeAgg: function (termsAgg, state) { - state = state || {}; + state = state || { type: 'count' }; state.schema = orderAggSchema; const orderAgg = new AggConfig(termsAgg.vis, state); orderAgg.id = termsAgg.id + '-orderAgg'; @@ -53,6 +53,7 @@ export default function AggTypeMetricDerivativeProvider(Private) { { name: 'metricAgg', editor: orderAggTemplate, + default: 'custom', controller: parentPipelineAggController, write: parentPipelineAggWritter } diff --git a/src/ui/public/agg_types/metrics/lib/parent_pipeline_agg_controller.js b/src/ui/public/agg_types/metrics/lib/parent_pipeline_agg_controller.js index 960e171338e25f..ba3c5c5f30f41f 100644 --- a/src/ui/public/agg_types/metrics/lib/parent_pipeline_agg_controller.js +++ b/src/ui/public/agg_types/metrics/lib/parent_pipeline_agg_controller.js @@ -1,5 +1,3 @@ -const aggFilter = ['!top_hits', '!percentiles', '!percentile_ranks', '!median', '!std_dev']; - const parentPipelineAggController = function ($scope) { $scope.safeMakeLabel = function (agg) { @@ -19,11 +17,9 @@ const parentPipelineAggController = function ($scope) { } }); - // Returns true if the agg is not compatible with the terms bucket $scope.rejectAgg = function (agg) { - // aggFilter elements all starts with a '!' - // so the index of agg.type.name in a filter is 1 if it is included - return Boolean(aggFilter.find((filter) => filter.indexOf(agg.type.name) === 1)); + const invalidAggs = ['top_hits', 'percentiles', 'percentile_ranks', 'median', 'std_dev']; + return Boolean(invalidAggs.find(invalidAgg => invalidAgg === agg.type.name)); }; function checkBuckets() { @@ -52,6 +48,9 @@ const parentPipelineAggController = function ($scope) { // we aren't creating a custom aggConfig if (metricAgg !== 'custom') { + if (!$scope.vis.aggs.find(agg => agg.id === metricAgg)) { + params.metricAgg = null; + } params.customMetric = null; return; }