[#66,#62,filters,facets,view][s]: facet view checkbox now triggers filter on that field and value.

This commit is contained in:
Rufus Pollock
2012-04-02 21:06:22 +01:00
parent 5a73ced225
commit b1f90a3b27

View File

@@ -292,7 +292,7 @@ my.FacetViewer = Backbone.View.extend({
<a class="btn dropdown-toggle" data-toggle="dropdown" href="#"><i class="icon-chevron-down"></i> {{id}} {{label}}</a> \ <a class="btn dropdown-toggle" data-toggle="dropdown" href="#"><i class="icon-chevron-down"></i> {{id}} {{label}}</a> \
<ul class="facet-items dropdown-menu"> \ <ul class="facet-items dropdown-menu"> \
{{#terms}} \ {{#terms}} \
<li><input type="checkbox" class="facet-choice" value="{{term}}" name="{{term}}" /> <label for="{{term}}">{{term}} ({{count}})</label></li> \ <li><input type="checkbox" class="facet-choice js-facet-filter" value="{{term}}" name="{{term}}" /> <label for="{{term}}">{{term}} ({{count}})</label></li> \
{{/terms}} \ {{/terms}} \
</ul> \ </ul> \
</div> \ </div> \
@@ -301,7 +301,8 @@ my.FacetViewer = Backbone.View.extend({
', ',
events: { events: {
'click .js-hide': 'onHide' 'click .js-hide': 'onHide',
'change .js-facet-filter': 'onFacetFilter'
}, },
initialize: function(model) { initialize: function(model) {
_.bindAll(this, 'render'); _.bindAll(this, 'render');
@@ -327,6 +328,13 @@ my.FacetViewer = Backbone.View.extend({
onHide: function(e) { onHide: function(e) {
e.preventDefault(); e.preventDefault();
this.el.hide(); this.el.hide();
},
onFacetFilter: function(e) {
// todo: uncheck
var $checkbox = $(e.target);
var fieldId = $checkbox.closest('.facet-summary').attr('data-facet');
var value = $checkbox.val();
this.model.queryState.addTermFilter(fieldId, value);
} }
}); });