@@ -69,7 +69,7 @@ const vocabSearch = Vue.createApp({
6969 return false
7070 } ,
7171 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
7373 const urlParams = new URLSearchParams ( window . location . search )
7474 const paramLang = urlParams . get ( 'clang' )
7575 const anyLang = urlParams . get ( 'anylang' )
@@ -81,19 +81,11 @@ const vocabSearch = Vue.createApp({
8181 this . changeLang ( paramLang )
8282 return paramLang
8383 }
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 ) {
9586 return window . SKOSMOS . content_lang
9687 }
88+ return null
9789 } ,
9890 renderMatchingPart ( searchTerm , label , lang = null ) {
9991 if ( label ) {
@@ -151,6 +143,9 @@ const vocabSearch = Vue.createApp({
151143 if ( 'uri' in result ) { // create relative Skosmos page URL from the search result URI
152144 result . pageUrl = window . SKOSMOS . vocab + '/' + window . SKOSMOS . lang + '/page?'
153145 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+ }
154149 result . pageUrl += urlParams . toString ( )
155150 }
156151 // render search result renderedTypes
@@ -184,19 +179,19 @@ const vocabSearch = Vue.createApp({
184179 const searchUrl = vocabHref + 'search?' + searchUrlParams . toString ( )
185180 window . location . href = searchUrl
186181 } ,
187- changeLang ( lang ) {
188- this . selectedLanguage = lang
189- this . setSearchLangCookie ( lang )
182+ changeLang ( clang ) {
183+ this . selectedLanguage = clang
184+ window . SKOSMOS . content_lang = clang
190185 this . resetSearchTermAndHideDropdown ( )
191186 } ,
192- changeContentLangAndReload ( lang ) {
193- this . changeLang ( lang )
187+ changeContentLangAndReload ( clang ) {
188+ this . changeLang ( clang )
194189 const params = new URLSearchParams ( window . location . search )
195- if ( lang === 'all' ) {
190+ if ( clang === 'all' ) {
196191 params . set ( 'anylang' , 'true' )
197192 } else {
198193 params . delete ( 'anylang' )
199- params . set ( 'clang' , lang )
194+ params . set ( 'clang' , clang )
200195 }
201196 this . $forceUpdate ( )
202197 window . location . search = params . toString ( )
@@ -212,14 +207,6 @@ const vocabSearch = Vue.createApp({
212207 showAutoComplete ( ) {
213208 this . showDropdown = true
214209 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 } `
223210 }
224211 } ,
225212 template : `
0 commit comments