[visualize/editor] properly filter multi-value metric aggs from orderByAgg

This commit is contained in:
Spencer Alger 2015-02-18 11:51:52 -07:00
parent 1ed7b50d26
commit b6308b9c6d
4 changed files with 19 additions and 15 deletions

View file

@ -12,7 +12,7 @@ define(function (require) {
group: 'none',
name: 'orderAgg',
title: 'Order Agg',
aggFilter: '!percentiles'
aggFilter: ['!percentiles', '!std_dev']
}
])).all[0];

View file

@ -24,26 +24,30 @@ define(function (require) {
if (!_.isArray(filters)) filters = filters.split(',');
if (_.contains(filters, '*')) return list;
filters = filters.map(function (filter) {
var match = true;
var options = filters.reduce(function (options, filter) {
var type = 'include';
var value = filter;
if (filter.charAt(0) === '!') {
match = false;
type = 'exclude';
value = filter.substr(1);
}
return {
match: match,
value: value
};
});
if (!options[type]) options[type] = [];
options[type].push(value);
return options;
}, {});
return list.filter(function (item) {
for (var i = 0; i < filters.length; i++) {
var filter = filters[i];
if ((item[prop] === filter.value) === filter.match) return true;
}
var value = item[prop];
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;
});
};
}

View file

@ -28,7 +28,7 @@ define(function (require) {
name: 'metric',
title: 'Y-Axis',
min: 1,
aggFilter: '!std_deviation',
aggFilter: '!std_dev',
defaults: [
{ schema: 'metric', type: 'count' }
]

View file

@ -26,7 +26,7 @@ define(function (require) {
name: 'metric',
title: 'Y-Axis',
min: 1,
aggFilter: '!std_deviation',
aggFilter: '!std_dev',
defaults: [
{ schema: 'metric', type: 'count' }
]