Commit 385bf54d authored by Guillaume Porte's avatar Guillaume Porte 😶
Browse files

Correction d'après...

Correction d'après https://git.unicaen.fr/pdn-certic/MaX/-/merge_requests/103#note_26044 + ajout d'une fonction JS liée à ce fonctionnement (changeLanguage) dans max.html:buildI8nMenu
parent 5123e22e
Loading
Loading
Loading
Loading
+14 −5
Original line number Diff line number Diff line
@@ -173,12 +173,14 @@ as element(link)*
};


declare %private function max.html:buildMenu($projectId as xs:string,$menuId as xs:string,$fragmentId as xs:string ?)
declare %private function max.html:buildMenu(
        $projectId as xs:string,
        $menuId as xs:string,
        $fragmentId as xs:string ?)
as item()+
{
    let $params := map {'projectId' : $projectId, 'selectedTarget' : $menuId||'.html', 'baseURI' : max.config:getBaseURI()}
    let $params := map {'projectId' : $projectId, 'selectedTarget' : $menuId||'.html', 'baseURI' : max.util:getRelativeRootPath(())}
    let $showLang := max.config:getProjectLangParam($projectId)

    (:menu translation:)
    let $translatedXmlMenu :=
        copy $c := doc("../editions/" || $projectId || "/" || $max.cons:MENU_FILE)
@@ -200,7 +202,7 @@ as item()+
        return $c
    (:menu xslt transform:)
    let $xslMenu := max.util:getProjectMenuXSL($projectId)
    return xslt:transform($translatedXmlMenu, $xslMenu, $params)
    return xslt:transform($translatedXmlMenu, $xslMenu, $params),max.html:buildI8nMenu($projectId)

};

@@ -211,8 +213,15 @@ declare %private function max.html:buildI8nMenu($projectId as xs:string){
            let $class:= if(max.i18n:getLang($projectId) = $l)
            then "max-lang selected"
            else "max-lang"

            return
                <li class="{$class}"><a role="button" onclick="MAX.setLanguage('{$l}')">{$l}</a></li>
                if(max.config:getProjectLangParam($projectId) = 'true')
                then(
                    let $newSiteLang := $projectId || '/' || $l || '/'
                    let $newURL := replace(request:path(), $projectId||'/[a-z]{2}/', $newSiteLang)
                    return <li class="{$class}"><a role="button" onclick="MAX.changeLanguage('{$l}', '{$newURL}')">{$l}</a></li>
                    )
                else(<li class="{$class}"><a role="button" onclick="MAX.setLanguage('{$l}')">{$l}</a></li>)
        }
    </ul>
};