From 95fab060c3a989bb7b60079918d6dfcc0a9f4e46 Mon Sep 17 00:00:00 2001 From: kielni Date: Fri, 6 Sep 2013 11:58:23 -0700 Subject: [PATCH] add options to addFacet for size and silent --- src/model.js | 9 +++++++-- test/model.test.js | 6 ++++++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/model.js b/src/model.js index c18aa2fb..d72bfa8d 100644 --- a/src/model.js +++ b/src/model.js @@ -543,7 +543,7 @@ my.Query = Backbone.Model.extend({ // Add a Facet to this query // // See - addFacet: function(fieldId) { + addFacet: function(fieldId, size, silent) { var facets = this.get('facets'); // Assume id and fieldId should be the same (TODO: this need not be true if we want to add two different type of facets on same field) if (_.contains(_.keys(facets), fieldId)) { @@ -552,8 +552,13 @@ my.Query = Backbone.Model.extend({ facets[fieldId] = { terms: { field: fieldId } }; + if (!_.isUndefined(size)) { + facets[fieldId].terms.size = size; + } this.set({facets: facets}, {silent: true}); - this.trigger('facet:add', this); + if (!silent) { + this.trigger('facet:add', this); + } }, addHistogramFacet: function(fieldId) { var facets = this.get('facets'); diff --git a/test/model.test.js b/test/model.test.js index 506ef2bd..b1ed0744 100644 --- a/test/model.test.js +++ b/test/model.test.js @@ -347,6 +347,12 @@ test('Query', function () { deepEqual({terms: {field: 'xyz'}}, query.get('facets')['xyz']); }); +test('Query.addFacet', function () { + var query = new recline.Model.Query(); + query.addFacet('xyz', 25); + deepEqual({terms: {field: 'xyz', "size": 25}}, query.get('facets')['xyz']); +}); + test('Query.addFilter', function () { var query = new recline.Model.Query(); query.addFilter({type: 'term', field: 'xyz'});