fix switching from es raw document metric breaks query editor
This commit is contained in:
committed by
Johannes Schill
parent
330a5c6496
commit
ac3e175e54
@@ -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 {
|
|||||||
|
|
||||||
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 {
|
|||||||
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) {
|
|||||||
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' } };
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user