diff --git a/app/assets/javascripts/darkswarm/filters/taxons.js.coffee b/app/assets/javascripts/darkswarm/filters/taxons.js.coffee index c060647ac5..e10228b648 100644 --- a/app/assets/javascripts/darkswarm/filters/taxons.js.coffee +++ b/app/assets/javascripts/darkswarm/filters/taxons.js.coffee @@ -1,10 +1,8 @@ Darkswarm.filter 'taxons', (Matcher)-> # Filter anything that responds to object.taxons, and/or object.primary_taxon - (objects, text) -> + (objects, id) -> objects ||= [] - text ?= "" + id ?= 0 objects.filter (obj)-> - Matcher.match([obj.primary_taxon?.name || ""], text) || obj.taxons.some (taxon)-> - Matcher.match [taxon.name], text - - + obj.primary_taxon?.id == id || obj.taxons.some (taxon)-> + taxon.id == id diff --git a/spec/javascripts/unit/darkswarm/filters/taxons_spec.js.coffee b/spec/javascripts/unit/darkswarm/filters/taxons_spec.js.coffee index fee894353c..f8b387b9a7 100644 --- a/spec/javascripts/unit/darkswarm/filters/taxons_spec.js.coffee +++ b/spec/javascripts/unit/darkswarm/filters/taxons_spec.js.coffee @@ -5,11 +5,12 @@ describe 'filtering by taxons', -> taxons: [] primary_taxon: name: "frogs" + id: 1 } { taxons: [ - {name: "kittens"} - {name: "puppies"} + {name: "kittens", id: 2} + {name: "puppies", id: 3} ] } ] @@ -21,7 +22,9 @@ describe 'filtering by taxons', -> filterByTaxons = $filter('taxons') it "filters by primary taxon", -> - expect(filterByTaxons(objects, "frogs")[0]).toBe objects[0] + expect(filterByTaxons(objects, 1)[0]).toBe objects[0] it "filters by taxons", -> - expect(filterByTaxons(objects, "kittens")[0]).toBe objects[1] + expect(filterByTaxons(objects, 2)[0]).toBe objects[1] + +