fix: use language facetfilter with locales only

pull/283/head
Eduardo San Martin Morote 5 years ago
parent 2d5c5ca620
commit 35d5718ae9

@ -3,7 +3,12 @@
<NavBar v-if="showNavbar" @toggle="toggleSidebar">
<template #search>
<slot name="navbar-search">
<AlgoliaSearchBox v-if="theme.algolia" :options="theme.algolia" :key="siteRouteData.lang" />
<AlgoliaSearchBox
v-if="theme.algolia"
:options="theme.algolia"
:multilang="theme.locales"
:key="siteRouteData.lang"
/>
</slot>
</template>
</NavBar>

@ -14,7 +14,8 @@ import { useSiteDataByRoute } from 'vitepress'
const siteData = useSiteDataByRoute()
const props = defineProps<{
options: DefaultTheme.AlgoliaSearchOptions
options: DefaultTheme.AlgoliaSearchOptions,
multilang?: boolean
}>()
const vm = getCurrentInstance()
@ -57,6 +58,10 @@ function update(options: any) {
}
function initialize(userOptions: any) {
// if the user has multiple locales, the search results should be filtered
// based on the language
const facetFilters = props.multilang ? ['language:' + siteData.value.lang] : []
docsearch(
Object.assign({}, userOptions, {
container: '#docsearch',
@ -64,7 +69,7 @@ function initialize(userOptions: any) {
searchParameters: Object.assign({}, userOptions.searchParameters, {
// pass a custom lang facetFilter to allow multiple language search
// https://github.com/algolia/docsearch-configs/pull/3942
facetFilters: ['language:' + siteData.value.lang].concat(
facetFilters: facetFilters.concat(
userOptions.facetFilters || []
)
}),

Loading…
Cancel
Save