72 lines
2.9 KiB
JavaScript
72 lines
2.9 KiB
JavaScript
|
|
$(function() {
|
|
var _reduit_timeout=null
|
|
var _resize_timeout=null
|
|
var METICE= {
|
|
logoutSelector : ".navbar-top-links li:last-child a",
|
|
logoutSessionName : "_metice_logout"
|
|
}
|
|
window.addEventListener("message", function(msg){
|
|
|
|
var header = window.top.document.getElementsByClassName("header")
|
|
|
|
// logout url envoyé par message, pour changer le lien de logout
|
|
if (msg.data.message=="setLogoutUrl" && header && header.length!=0) {
|
|
|
|
// récupère la valeur de l'attribut href du lien de login/logout
|
|
var elt=header[0].querySelector(METICE.logoutSelector);
|
|
var logoutUrl=elt.getAttribute("href")
|
|
// Ce n'est pas du logout => on ne fait rien
|
|
if (logoutUrl.indexOf("logout")==-1) {
|
|
return;
|
|
}
|
|
|
|
// url de logout déja renseignée, on va l'utiliser
|
|
var logoutSession = sessionStorage.getItem(METICE.logoutSessionName)
|
|
if (logoutSession) {
|
|
if (header && header.length!=0) { header[0].querySelector(METICE.logoutSelector).setAttribute("href",logoutSession) }
|
|
return;
|
|
}
|
|
|
|
var elt=header[0].querySelector(METICE.logoutSelector);
|
|
logoutUrl = window.location.origin+logoutUrl
|
|
elt.setAttribute("href",msg.data.url+"?orign="+logoutUrl)
|
|
// Sauvegarde de l'url de logout, pour restauration lors de l'actualisation page
|
|
sessionStorage.setItem(METICE.logoutSessionName,msg.data.url+"?orign="+logoutUrl)
|
|
return;
|
|
}
|
|
|
|
// message on scroll, pour réduire le header
|
|
if (msg.data.message=="onScroll" && header && header.length!=0){
|
|
|
|
if (msg.data.position > 100 ) {
|
|
if(_reduit_timeout) {clearTimeout(_reduit_timeout);_reduit_timeout=null}
|
|
header[0].classList.add("reduit");
|
|
if (_resize_timeout==null) {
|
|
_resize_timeout=setTimeout(function() {console.log("resize");window.top.resizeFrame();_resize_timeout=null},100);
|
|
}
|
|
}
|
|
|
|
if (msg.data.position == 0 ) {
|
|
header[0].classList.remove("reduit");
|
|
_reduit_timeout = setTimeout(function(){ console.log("resize");window.top.resizeFrame();},100)
|
|
}
|
|
return;
|
|
}
|
|
});
|
|
|
|
// Remise en place de l'url de logout si c'est une url de logout qui est présente dans
|
|
var header = window.top.document.getElementsByClassName("header")
|
|
if (header && header.length!=0) {
|
|
var logout = sessionStorage.getItem(METICE.logoutSessionName)
|
|
var elt = header[0].querySelector(METICE.logoutSelector);
|
|
var logoutUrl = elt.getAttribute("href")
|
|
|
|
if (logout && logoutUrl.indexOf("logout")!=-1) {
|
|
header[0].querySelector(METICE.logoutSelector).setAttribute("href",logout)
|
|
}
|
|
}
|
|
|
|
})
|
|
|