Merge pull request #14054 from marefr/6367_raw_document_reset

Fix switching from es raw document metric breaks query editor
This commit is contained in:
Torkel Ödegaard 2018-11-14 16:46:47 +01:00 committed by GitHub
commit 0a080149ae
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 29 additions and 2 deletions

View File

@ -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();
}; };

View File

@ -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;

View File

@ -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();
} }

View File

@ -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' } };
}