From 769058a4a8cd01c45aaa331785d5bed52b7b4ebb Mon Sep 17 00:00:00 2001 From: Benoit Alessandroni <benoit@happy-dev.fr> Date: Thu, 30 Apr 2020 16:15:04 +0200 Subject: [PATCH] Proper language selection --- .../entrepreneur/components/header.pug | 2 +- src/scripts/coopstarter.js | 20 +++++++++---------- 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/src/includes/entrepreneur/components/header.pug b/src/includes/entrepreneur/components/header.pug index 2d1e8a60..ad06c262 100644 --- a/src/includes/entrepreneur/components/header.pug +++ b/src/includes/entrepreneur/components/header.pug @@ -12,7 +12,7 @@ fields='languages' range-languages=`${endpoints.interfacelanguages}` widget-languages='sib-form-dropdown' - selected-languages=`${endpoints.interfacelanguages}/1/` + selected-languages=`${endpoints.interfacelanguages}1/` label-languages='' naked ) diff --git a/src/scripts/coopstarter.js b/src/scripts/coopstarter.js index d2510afa..28dbd00e 100644 --- a/src/scripts/coopstarter.js +++ b/src/scripts/coopstarter.js @@ -365,10 +365,10 @@ function manageLogoutButton() { /** * Manage the select language */ -function manageSelectLanguage() { +async function manageSelectLanguage() { const languageSelects = document.getElementsByClassName("languageChoice") for (let item of languageSelects) { - item.addEventListener("change", function() { + item.addEventListener("change", async function() { //We listen the selected option for the language uriLanguage = item.querySelector("option:checked").value @@ -377,15 +377,13 @@ function manageSelectLanguage() { var base_url = location.host //If the selected language is french - if (uriLanguage.substr(uriLanguage.length - 14) == 'interfacelanguages/1/"}') { - //Redirection with the appropriate prefixe. - var redirect = "http://"+base_url+'/fr/'+pathAfterThePrefix - document.location.href = redirect - } else { - var redirect = "http://"+base_url+'/en/'+pathAfterThePrefix - document.location.href = redirect - } - + let languagesList = await item.component.resource['ldp:contains']; + languagesList.forEach(async (resource) => { + if (item.component.value.languages['@id'] == resource['@id']) { + var redirect = "http://"+base_url+'/' + (await resource.code).toLowerCase() + '/'+pathAfterThePrefix + document.location.href = redirect + } + }); }) } } -- GitLab