[visualize/editor] properly filter multi-value metric aggs from orderByAgg
This commit is contained in:
parent
1ed7b50d26
commit
b6308b9c6d
|
@ -12,7 +12,7 @@ define(function (require) {
|
||||||
group: 'none',
|
group: 'none',
|
||||||
name: 'orderAgg',
|
name: 'orderAgg',
|
||||||
title: 'Order Agg',
|
title: 'Order Agg',
|
||||||
aggFilter: '!percentiles'
|
aggFilter: ['!percentiles', '!std_dev']
|
||||||
}
|
}
|
||||||
])).all[0];
|
])).all[0];
|
||||||
|
|
||||||
|
|
|
@ -24,26 +24,30 @@ define(function (require) {
|
||||||
if (!_.isArray(filters)) filters = filters.split(',');
|
if (!_.isArray(filters)) filters = filters.split(',');
|
||||||
if (_.contains(filters, '*')) return list;
|
if (_.contains(filters, '*')) return list;
|
||||||
|
|
||||||
filters = filters.map(function (filter) {
|
var options = filters.reduce(function (options, filter) {
|
||||||
var match = true;
|
var type = 'include';
|
||||||
var value = filter;
|
var value = filter;
|
||||||
|
|
||||||
if (filter.charAt(0) === '!') {
|
if (filter.charAt(0) === '!') {
|
||||||
match = false;
|
type = 'exclude';
|
||||||
value = filter.substr(1);
|
value = filter.substr(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
return {
|
if (!options[type]) options[type] = [];
|
||||||
match: match,
|
options[type].push(value);
|
||||||
value: value
|
return options;
|
||||||
};
|
}, {});
|
||||||
});
|
|
||||||
|
|
||||||
return list.filter(function (item) {
|
return list.filter(function (item) {
|
||||||
for (var i = 0; i < filters.length; i++) {
|
var value = item[prop];
|
||||||
var filter = filters[i];
|
|
||||||
if ((item[prop] === filter.value) === filter.match) return true;
|
var excluded = options.exclude && _.contains(options.exclude, value);
|
||||||
}
|
if (excluded) return false;
|
||||||
|
|
||||||
|
var included = !options.include || _.contains(options.include, value);
|
||||||
|
if (included) return true;
|
||||||
|
|
||||||
|
return false;
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,7 +28,7 @@ define(function (require) {
|
||||||
name: 'metric',
|
name: 'metric',
|
||||||
title: 'Y-Axis',
|
title: 'Y-Axis',
|
||||||
min: 1,
|
min: 1,
|
||||||
aggFilter: '!std_deviation',
|
aggFilter: '!std_dev',
|
||||||
defaults: [
|
defaults: [
|
||||||
{ schema: 'metric', type: 'count' }
|
{ schema: 'metric', type: 'count' }
|
||||||
]
|
]
|
||||||
|
|
|
@ -26,7 +26,7 @@ define(function (require) {
|
||||||
name: 'metric',
|
name: 'metric',
|
||||||
title: 'Y-Axis',
|
title: 'Y-Axis',
|
||||||
min: 1,
|
min: 1,
|
||||||
aggFilter: '!std_deviation',
|
aggFilter: '!std_dev',
|
||||||
defaults: [
|
defaults: [
|
||||||
{ schema: 'metric', type: 'count' }
|
{ schema: 'metric', type: 'count' }
|
||||||
]
|
]
|
||||||
|
|
Loading…
Reference in a new issue