@@ -69,7 +69,7 @@ const vocabSearch = Vue.createApp({
69
69
return false
70
70
} ,
71
71
parseSearchLang ( ) {
72
- // if content language can be found from uri params, use that and update it to SKOSMOS object and to search lang cookie
72
+ // if content language can be found from uri params, use that and update it to SKOSMOS object
73
73
const urlParams = new URLSearchParams ( window . location . search )
74
74
const paramLang = urlParams . get ( 'clang' )
75
75
const anyLang = urlParams . get ( 'anylang' )
@@ -81,19 +81,11 @@ const vocabSearch = Vue.createApp({
81
81
this . changeLang ( paramLang )
82
82
return paramLang
83
83
}
84
- // use searchLangCookie if it can be found, otherwise pick content lang from SKOSMOS object
85
- const cookies = document . cookie . split ( '; ' )
86
- const searchLangCookie = cookies . find ( cookie =>
87
- cookie . startsWith ( 'SKOSMOS_SEARCH_LANG=' ) )
88
- if ( searchLangCookie ) {
89
- const selectedLanguage = searchLangCookie . split ( '=' ) [ 1 ]
90
- if ( selectedLanguage !== 'all' ) {
91
- window . SKOSMOS . content_lang = selectedLanguage
92
- }
93
- return selectedLanguage
94
- } else {
84
+ // otherwise pick content lang from SKOSMOS object (it should always exist)
85
+ if ( window . SKOSMOS . content_lang ) {
95
86
return window . SKOSMOS . content_lang
96
87
}
88
+ return null
97
89
} ,
98
90
renderMatchingPart ( searchTerm , label , lang = null ) {
99
91
if ( label ) {
@@ -151,6 +143,9 @@ const vocabSearch = Vue.createApp({
151
143
if ( 'uri' in result ) { // create relative Skosmos page URL from the search result URI
152
144
result . pageUrl = window . SKOSMOS . vocab + '/' + window . SKOSMOS . lang + '/page?'
153
145
const urlParams = new URLSearchParams ( { uri : result . uri } )
146
+ if ( this . selectedLanguage !== window . SKOSMOS . lang ) { // add content language parameter
147
+ urlParams . append ( 'clang' , this . selectedLanguage )
148
+ }
154
149
result . pageUrl += urlParams . toString ( )
155
150
}
156
151
// render search result renderedTypes
@@ -184,19 +179,19 @@ const vocabSearch = Vue.createApp({
184
179
const searchUrl = vocabHref + 'search?' + searchUrlParams . toString ( )
185
180
window . location . href = searchUrl
186
181
} ,
187
- changeLang ( lang ) {
188
- this . selectedLanguage = lang
189
- this . setSearchLangCookie ( lang )
182
+ changeLang ( clang ) {
183
+ this . selectedLanguage = clang
184
+ window . SKOSMOS . content_lang = clang
190
185
this . resetSearchTermAndHideDropdown ( )
191
186
} ,
192
- changeContentLangAndReload ( lang ) {
193
- this . changeLang ( lang )
187
+ changeContentLangAndReload ( clang ) {
188
+ this . changeLang ( clang )
194
189
const params = new URLSearchParams ( window . location . search )
195
- if ( lang === 'all' ) {
190
+ if ( clang === 'all' ) {
196
191
params . set ( 'anylang' , 'true' )
197
192
} else {
198
193
params . delete ( 'anylang' )
199
- params . set ( 'clang' , lang )
194
+ params . set ( 'clang' , clang )
200
195
}
201
196
this . $forceUpdate ( )
202
197
window . location . search = params . toString ( )
@@ -212,14 +207,6 @@ const vocabSearch = Vue.createApp({
212
207
showAutoComplete ( ) {
213
208
this . showDropdown = true
214
209
this . $forceUpdate ( )
215
- } ,
216
- setSearchLangCookie ( lang ) {
217
- // The cookie path should be relative if the baseHref is known
218
- let cookiePath = '/'
219
- if ( window . SKOSMOS . baseHref && window . SKOSMOS . baseHref . replace ( window . origin , '' ) ) {
220
- cookiePath = window . SKOSMOS . baseHref . replace ( window . origin , '' )
221
- }
222
- document . cookie = `SKOSMOS_SEARCH_LANG=${ this . selectedLanguage } ;path=${ cookiePath } `
223
210
}
224
211
} ,
225
212
template : `
0 commit comments