[facetviewer][s]: change from dropdown and simplify styling plus make some minor fixes.
This commit is contained in:
@@ -17,16 +17,15 @@ this.recline.View = this.recline.View || {};
|
|||||||
my.FacetViewer = Backbone.View.extend({
|
my.FacetViewer = Backbone.View.extend({
|
||||||
className: 'recline-facet-viewer',
|
className: 'recline-facet-viewer',
|
||||||
template: ' \
|
template: ' \
|
||||||
<div class="facets row"> \
|
<div class="facets"> \
|
||||||
<div class="span1"> \
|
|
||||||
<h3>Facets</h3> \
|
|
||||||
</div> \
|
|
||||||
{{#facets}} \
|
{{#facets}} \
|
||||||
<div class="facet-summary span2 dropdown" data-facet="{{id}}"> \
|
<div class="facet-summary" data-facet="{{id}}"> \
|
||||||
<a class="btn dropdown-toggle" data-toggle="dropdown" href="#"><i class="icon-chevron-down"></i> {{id}} {{label}}</a> \
|
<h3> \
|
||||||
<ul class="facet-items dropdown-menu"> \
|
{{id}} \
|
||||||
|
</h3> \
|
||||||
|
<ul class="facet-items"> \
|
||||||
{{#terms}} \
|
{{#terms}} \
|
||||||
<li><a class="facet-choice js-facet-filter" data-value="{{term}}">{{term}} ({{count}})</a></li> \
|
<li><a class="facet-choice js-facet-filter" data-value="{{term}}" href="#{{term}}">{{term}} ({{count}})</a></li> \
|
||||||
{{/terms}} \
|
{{/terms}} \
|
||||||
{{#entries}} \
|
{{#entries}} \
|
||||||
<li><a class="facet-choice js-facet-filter" data-value="{{time}}">{{term}} ({{count}})</a></li> \
|
<li><a class="facet-choice js-facet-filter" data-value="{{time}}">{{term}} ({{count}})</a></li> \
|
||||||
@@ -49,10 +48,9 @@ my.FacetViewer = Backbone.View.extend({
|
|||||||
},
|
},
|
||||||
render: function() {
|
render: function() {
|
||||||
var tmplData = {
|
var tmplData = {
|
||||||
facets: this.model.facets.toJSON(),
|
|
||||||
fields: this.model.fields.toJSON()
|
fields: this.model.fields.toJSON()
|
||||||
};
|
};
|
||||||
tmplData.facets = _.map(tmplData.facets, function(facet) {
|
tmplData.facets = _.map(this.model.facets.toJSON(), function(facet) {
|
||||||
if (facet._type === 'date_histogram') {
|
if (facet._type === 'date_histogram') {
|
||||||
facet.entries = _.map(facet.entries, function(entry) {
|
facet.entries = _.map(facet.entries, function(entry) {
|
||||||
entry.term = new Date(entry.time).toDateString();
|
entry.term = new Date(entry.time).toDateString();
|
||||||
@@ -75,10 +73,13 @@ my.FacetViewer = Backbone.View.extend({
|
|||||||
this.el.hide();
|
this.el.hide();
|
||||||
},
|
},
|
||||||
onFacetFilter: function(e) {
|
onFacetFilter: function(e) {
|
||||||
|
e.preventDefault();
|
||||||
var $target= $(e.target);
|
var $target= $(e.target);
|
||||||
var fieldId = $target.closest('.facet-summary').attr('data-facet');
|
var fieldId = $target.closest('.facet-summary').attr('data-facet');
|
||||||
var value = $target.attr('data-value');
|
var value = $target.attr('data-value');
|
||||||
this.model.queryState.addTermFilter(fieldId, value);
|
this.model.queryState.addFilter({type: 'term', field: fieldId, term: value});
|
||||||
|
// have to trigger explicitly for some reason
|
||||||
|
this.model.query();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user