Merge pull request #2329 from simianhacker/fix-2328

Added uniqFilters() to the filterBarClickHandler()
This commit is contained in:
Spencer 2014-12-16 14:42:52 -07:00
commit c3f964c37c
3 changed files with 30 additions and 0 deletions

View file

@ -1,6 +1,7 @@
define(function (require) {
var _ = require('lodash');
var dedupFilters = require('./lib/dedupFilters');
var uniqFilters = require('./lib/uniqFilters');
return function (Notifier) {
return function ($state) {
@ -28,6 +29,7 @@ define(function (require) {
if (!filters.length) return;
filters = uniqFilters(filters);
filters = dedupFilters($state.filters, filters);
// We need to add a bunch of filter deduping here.
$state.$newFilters = filters;

View file

@ -0,0 +1,11 @@
define(function (require) {
var _ = require('lodash');
var dedupFilters = require('components/filter_bar/lib/dedupFilters');
return function (filters) {
var results = [];
_.each(filters, function (filter) {
results = _.union(results, dedupFilters(results, [filter]));
});
return results;
};
});

View file

@ -0,0 +1,17 @@
define(function (require) {
var uniqFilters = require('components/filter_bar/lib/uniqFilters');
describe('Filter Bar Directive', function () {
describe('uniqFilter', function () {
it('should filter out dups', function () {
var before = [
{ query: { _type: { match: { query: 'apache', type: 'phrase' } } } },
{ query: { _type: { match: { query: 'apache', type: 'phrase' } } } }
];
var results = uniqFilters(before);
expect(results).to.have.length(1);
});
});
});
});