@@ -52,21 +52,37 @@ function update(options: any) {
52
52
53
53
const { lang } = useData ()
54
54
55
- function initialize(userOptions : any ) {
56
- // if the user has multiple locales, the search results should be filtered
57
- // based on the language
58
- const facetFilters = props .multilang ? [' language:' + lang .value ] : []
55
+ // if the user has multiple locales, the search results should be filtered
56
+ // based on the language
57
+ const facetFilters: string [] = props .multilang
58
+ ? [' language:' + lang .value ]
59
+ : []
60
+
61
+ if (props .options .searchParameters ?.facetFilters ) {
62
+ facetFilters .push (... props .options .searchParameters .facetFilters )
63
+ }
59
64
65
+ watch (
66
+ lang ,
67
+ (newLang , oldLang ) => {
68
+ const index = facetFilters .findIndex (
69
+ (filter ) => filter === ' language:' + oldLang
70
+ )
71
+ if (index > - 1 ) {
72
+ facetFilters .splice (index , 1 , ' language:' + newLang )
73
+ }
74
+ }
75
+ )
76
+
77
+ function initialize(userOptions : any ) {
60
78
docsearch (
61
79
Object .assign ({}, userOptions , {
62
80
container: ' #docsearch' ,
63
81
64
82
searchParameters: Object .assign ({}, userOptions .searchParameters , {
65
83
// pass a custom lang facetFilter to allow multiple language search
66
84
// https://github.com/algolia/docsearch-configs/pull/3942
67
- facetFilters: facetFilters .concat (
68
- userOptions .searchParameters ?.facetFilters || []
69
- )
85
+ facetFilters
70
86
}),
71
87
72
88
navigator: {
0 commit comments