Skip to content

Commit 2dfc017

Browse files
committed
bind wrapped facet filter input to typeahead in search script [skip ci]
1 parent 7bf7918 commit 2dfc017

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

src/js/vendor/docsearch.bundle.js

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,6 @@
1616
advancedSyntaxFeatures: ['exactPhrase'],
1717
}
1818
var searchField = document.getElementById(config.searchFieldId || 'search')
19-
var filterInput = searchField.querySelector('.filter input')
20-
filterInput.checked = window.localStorage.getItem(SEARCH_FILTER_ACTIVE_KEY) === 'true'
2119
var controller = docsearch({
2220
appId: config.appId,
2321
apiKey: config.apiKey,
@@ -27,10 +25,10 @@
2725
algoliaOptions: algoliaOptions,
2826
transformData: protectHitOrder,
2927
queryHook:
30-
filterInput &&
28+
searchField.classList.contains('has-filter') &&
3129
function (query) {
32-
controller.algoliaOptions = filterInput.checked
33-
? Object.assign({}, algoliaOptions, { facetFilters: [filterInput.dataset.facetFilter] })
30+
controller.algoliaOptions = typeahead.$facetFilterInput.prop('checked')
31+
? Object.assign({}, algoliaOptions, { facetFilters: [typeahead.$facetFilterInput.data('facetFilter')] })
3432
: algoliaOptions
3533
},
3634
})
@@ -48,7 +46,11 @@
4846
menu.on('mousedown.aa', suggestionSelector, onSuggestionMouseDown.bind(dropdown))
4947
menu.off('mouseenter.aa')
5048
menu.off('mouseleave.aa')
51-
if (filterInput) filterInput.addEventListener('change', toggleFilter.bind(typeahead))
49+
typeahead.$facetFilterInput = input
50+
.closest('#' + searchField.id)
51+
.find('.filter input')
52+
.on('change', toggleFilter.bind(typeahead))
53+
.prop('checked', window.localStorage.getItem(SEARCH_FILTER_ACTIVE_KEY) === 'true')
5254
monitorCtrlKey(input, dropdown)
5355
searchField.addEventListener('click', confineEvent)
5456
document.documentElement.addEventListener('click', clearSearch.bind(typeahead))

0 commit comments

Comments
 (0)