Skip to content

Commit 2313526

Browse files
committed
(feat): template support for facet positioning
1 parent 70ac9a4 commit 2313526

File tree

2 files changed

+48
-41
lines changed

2 files changed

+48
-41
lines changed

README.md

Lines changed: 41 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -45,48 +45,48 @@ Consider a normal search page with basic layout as shown in the figure below and
4545
,isClickNScroll: false
4646
,clickNScrollSelector : ''
4747
,isAutoScroll : true
48-
,facetTemp : ['{{#facets}}<div class="facet-block">'
49-
,'<h3>{{name}}</h3>'
50-
,'<div class="facet-values">'
51-
,'<ul>'
52-
,'{{#selected}}'
53-
,'<li unbxdParam_facetName="{{../facet_name}}" unbxdParam_facetValue="{{value}}">'
54-
,'<label for="{{../facet_name}}_{{value}}">'
55-
,'<input type="checkbox" checked class="filter-checkbox" unbxdParam_facetName="{{../facet_name}}" unbxdParam_facetValue="{{value}}" id="{{../facet_name}}_{{value}}"> {{prepareFacetValue value}} ({{count}})'
56-
,'</label>'
57-
,'</li>'
58-
,'{{/selected}}'
59-
,'{{#unselected}}'
60-
,'<li unbxdParam_facetName="{{../facet_name}}" unbxdParam_facetValue="{{value}}">'
61-
,'<label for="{{../facet_name}}_{{value}}">'
62-
,'<input type="checkbox" class="filter-checkbox" unbxdParam_facetName="{{../facet_name}}" unbxdParam_facetValue="{{value}}" id="{{../facet_name}}_{{value}}"> {{prepareFacetValue value}} ({{count}})'
63-
,'</label>'
64-
,'</li>'
65-
,'{{/unselected}}'
66-
,'</ul>'
48+
,facetTemp : [
49+
'{{#sortedFacets}}'
50+
,'<div class="facet-block">'
51+
,'<h3>{{name}}</h3>'
52+
,'<div class="facet-values">'
53+
,'<ul>'
54+
,'{{#isRangeFacet type}}'
55+
,'{{#selected}}'
56+
,'<li unbxdParam_facetName="{{../facet_name}}" unbxdParam_facetValue="{{value}}">'
57+
,'<label for="{{../facet_name}}_{{value}}">'
58+
,'<input type="checkbox" checked class="filter-checkbox" unbxdParam_facetName="{{../facet_name}}" unbxdParam_facetValue="{{value}}" id="{{../facet_name}}_{{value}}"> {{prepareFacetValue begin}} - {{prepareFacetValue end}} ({{count}})'
59+
,'</label>'
60+
,'</li>'
61+
,'{{/selected}}'
62+
,'{{#unselected}}'
63+
,'<li unbxdParam_facetName="{{../facet_name}}" unbxdParam_facetValue="{{value}}">'
64+
,'<label for="{{../facet_name}}_{{value}}">'
65+
,'<input type="checkbox" class="filter-checkbox" unbxdParam_facetName="{{../facet_name}}" unbxdParam_facetValue="{{value}}" id="{{../facet_name}}_{{value}}"> {{prepareFacetValue begin}} - {{prepareFacetValue end}} ({{count}})'
66+
,'</label>'
67+
,'</li>'
68+
,'{{/unselected}}'
69+
,'{{else}}'
70+
,'{{#selected}}'
71+
,'<li unbxdParam_facetName="{{../facet_name}}" unbxdParam_facetValue="{{value}}">'
72+
,'<label for="{{../facet_name}}_{{value}}">'
73+
,'<input type="checkbox" checked class="filter-checkbox" unbxdParam_facetName="{{../facet_name}}" unbxdParam_facetValue="{{value}}" id="{{../facet_name}}_{{value}}"> {{prepareFacetValue value}} ({{count}})'
74+
,'</label>'
75+
,'</li>'
76+
,'{{/selected}}'
77+
,'{{#unselected}}'
78+
,'<li unbxdParam_facetName="{{../facet_name}}" unbxdParam_facetValue="{{value}}">'
79+
,'<label for="{{../facet_name}}_{{value}}">'
80+
,'<input type="checkbox" class="filter-checkbox" unbxdParam_facetName="{{../facet_name}}" unbxdParam_facetValue="{{value}}" id="{{../facet_name}}_{{value}}"> {{prepareFacetValue value}} ({{count}})'
81+
,'</label>'
82+
,'</li>'
83+
,'{{/unselected}}'
84+
,'{{/isRangeFacet}}'
85+
,'</ul>'
86+
,'</div>'
6787
,'</div>'
68-
,'</div>{{/facets}}'
69-
,'{{#rangefacets}}<div class="facet-block"'
70-
,'<h3>{{name}}</h3>'
71-
,'<div class="facet-values">'
72-
,'<ul>'
73-
,'{{#selected}}'
74-
,'<li unbxdParam_facetName="{{../facet_name}}" unbxdParam_facetValue="{{value}}">'
75-
,'<label for="{{../facet_name}}_{{value}}">'
76-
,'<input type="checkbox" checked class="filter-checkbox" unbxdParam_facetName="{{../facet_name}}" unbxdParam_facetValue="{{value}}" id="{{../facet_name}}_{{value}}"> {{prepareFacetValue begin}} - {{prepareFacetValue end}} ({{count}})'
77-
,'</label>'
78-
,'</li>'
79-
,'{{/selected}}'
80-
,'{{#unselected}}'
81-
,'<li unbxdParam_facetName="{{../facet_name}}" unbxdParam_facetValue="{{value}}">'
82-
,'<label for="{{../facet_name}}_{{value}}">'
83-
,'<input type="checkbox" class="filter-checkbox" unbxdParam_facetName="{{../facet_name}}" unbxdParam_facetValue="{{value}}" id="{{../facet_name}}_{{value}}"> {{prepareFacetValue begin}} - {{prepareFacetValue end}} ({{count}})'
84-
,'</label>'
85-
,'</li>'
86-
,'{{/unselected}}'
87-
,'</ul>'
88-
,'</div>'
89-
,'</div>{{/rangefacets}}'].join('')
88+
,'{{/sortedFacets}}'
89+
].join('')
9090
,facetContainerSelector : "#facets_container"
9191
,facetCheckBoxSelector : "input[type='checkbox']"
9292
,facetElementSelector : "label"

unbxdSearch.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -348,6 +348,13 @@ var unbxdSearchInit = function(jQuery, Handlebars){
348348
return txt.trim().length > 0 ? txt : "&nbsp;&nbsp;&nbsp;";
349349
});
350350

351+
Handlebars.registerHelper("isRangeFacet", function(type, options){
352+
if(type === "facet_ranges")
353+
return options.fn(this);
354+
else
355+
return options.inverse(this);
356+
});
357+
351358
Unbxd.setSearch.prototype.defaultOptions = {
352359
inputSelector : '#search_query'
353360
,searchButtonSelector : '#search_button'

0 commit comments

Comments
 (0)