Commit f065af32 by Marcus Efraimsson

fix switching from es raw document metric breaks query editor

parent dcb50150
...@@ -160,6 +160,12 @@ export class ElasticMetricAggCtrl { ...@@ -160,6 +160,12 @@ export class ElasticMetricAggCtrl {
$scope.agg.settings = {}; $scope.agg.settings = {};
$scope.agg.meta = {}; $scope.agg.meta = {};
$scope.showOptions = false; $scope.showOptions = false;
// reset back to metric/group by query
if ($scope.target.bucketAggs.length === 0 && $scope.agg.type !== 'raw_document') {
$scope.target.bucketAggs = [queryDef.defaultBucketAgg()];
}
$scope.updatePipelineAggOptions(); $scope.updatePipelineAggOptions();
$scope.onChange(); $scope.onChange();
}; };
......
...@@ -181,8 +181,8 @@ export class ElasticQueryBuilder { ...@@ -181,8 +181,8 @@ export class ElasticQueryBuilder {
build(target, adhocFilters?, queryString?) { build(target, adhocFilters?, queryString?) {
// make sure query has defaults; // make sure query has defaults;
target.metrics = target.metrics || [{ type: 'count', id: '1' }]; target.metrics = target.metrics || [queryDef.defaultMetricAgg()];
target.bucketAggs = target.bucketAggs || [{ type: 'date_histogram', id: '2', settings: { interval: 'auto' } }]; target.bucketAggs = target.bucketAggs || [queryDef.defaultBucketAgg()];
target.timeField = this.timeField; target.timeField = this.timeField;
let i, nestedAggs, metric; let i, nestedAggs, metric;
......
...@@ -17,6 +17,19 @@ export class ElasticQueryCtrl extends QueryCtrl { ...@@ -17,6 +17,19 @@ export class ElasticQueryCtrl extends QueryCtrl {
super($scope, $injector); super($scope, $injector);
this.esVersion = this.datasource.esVersion; this.esVersion = this.datasource.esVersion;
this.target = this.target || {};
this.target.metrics = this.target.metrics || [queryDef.defaultMetricAgg()];
this.target.bucketAggs = this.target.bucketAggs || [queryDef.defaultBucketAgg()];
if (this.target.bucketAggs.length === 0) {
const metric = this.target.metrics[0];
if (!metric || metric.type !== 'raw_document') {
this.target.bucketAggs = [queryDef.defaultBucketAgg()];
}
this.refresh();
}
this.queryUpdated(); this.queryUpdated();
} }
......
...@@ -228,3 +228,11 @@ export function describeOrderBy(orderBy, target) { ...@@ -228,3 +228,11 @@ export function describeOrderBy(orderBy, target) {
return 'metric not found'; return 'metric not found';
} }
} }
export function defaultMetricAgg() {
return { type: 'count', id: '1' };
}
export function defaultBucketAgg() {
return { type: 'date_histogram', id: '2', settings: { interval: 'auto' } };
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment