window.addEventListener('load', function() { window.scrollTo(0,0); }, false); /* * Personnalisation HEADER visibility * Que se passe-t-il lorsque la bannière est invisible ? */ function setLogoVisiblity(visibilityFlag) { let element = document.querySelector("nav>*>#settings"); let value = 'hidden'; if (visibilityFlag) value = "visible"; element.style.visibility = value; } function setSynthesisTopHeight(hauteur) { let element = document.querySelector("#synthesis_top"); element.style.height = hauteur+'px'; } function headerIsNowVisible(header) { setLogoVisiblity(false); setSynthesisTopHeight(6); } function headerIsNowInvisible(header) { setLogoVisiblity(true); setSynthesisTopHeight(80); scrollToElement('#synthesis_top'); } /* * Personnalisation SYNTHESIS visibility * Que se passe-t-il lorsque la synthèse est invisible ? */ function setDatagridFirstColSticky(stickyFlag) { let element = null; if (stickyFlag) { /* * Mettre la première case sticky au top left */ element = document.querySelector("#datagrid>table>thead>tr>th:first-child"); element.style.setProperty('position', 'sticky'); element.style.setProperty('left', '0px'); element.style.setProperty('z-index', '30'); // // Mettre la dernière case sticky au bottom left // element = document.querySelector("#datagrid>table>tfoot>tr>th:first-child"); element.style.setProperty('position', 'sticky'); element.style.setProperty('left', '0px'); element.style.setProperty('z-index', '30'); } else { element = document.querySelector("#datagrid>table>thead>tr>th:first-child"); element.style.setProperty('position', 'sticky'); element.style.setProperty('left', '0px'); element.style.setProperty('z-index', '10'); element = document.querySelector("#datagrid>table>tfoot>tr>th:first-child"); element.style.setProperty('position', 'sticky'); element.style.setProperty('left', '0px'); element.style.setProperty('z-index', '10'); } } function setDatagridHeadSticky(stickyFlag) { let element = document.querySelector("#datagrid>table>thead"); let navbar = document.querySelector("nav"); let offset = navbar.offsetHeight; if (stickyFlag) { /* * Mettre le thead sticky au top */ //element = document.querySelector("#datagrid>table>thead"); element.style.setProperty('position', 'sticky'); element.style.setProperty('top', offset+'px'); element.style.setProperty('z-index', '30'); } else { //element = document.querySelector("#datagrid>table>thead"); element.style.setProperty('position', 'relative'); element.style.setProperty('top', '0px'); element.style.setProperty('z-index', '10'); } } function setDataGridFootSticky(stickyFlag) { let element = document.querySelector("#datagrid>table>tfoot");; if (stickyFlag) { // // Mettre le tfoot sticky au bottom // element.style.setProperty('position', 'sticky'); element.style.setProperty('bottom', '0px'); element.style.setProperty('z-index', '30'); setDataGridHeadSticky(stickyFlag); } else { element.style.setProperty('position', 'relative'); element.style.setProperty('z-index', '10'); } } function synthesisIsNowVisible(entry) { setDatagridHeadSticky(false); setDataGridFootSticky(false); /* setDatagridFirstColSticky(true); */ myLog('Trigger synthesis is visible'); } function synthesisIsNowInvisible(entry) { setDatagridHeadSticky(true); setDataGridFootSticky(true); /* setDatagridFirstColSticky(true); */ myLog('Trigger synthesis is invisible'); } function smoothJump(hash) { location.replace("#" + hash); } function documentGetElementById(id){ element = document.getElementById(id); if (element === null ) return ''; return element.value; } function setElementHeight(elementSelector, elementHeight) { let element = document.querySelector(elementSelector); element.style.height = elementHeight; } function slideElement(elementSelector, elementHeight) { let element = document.querySelector(elementSelector); element.style.transition = "all 2s ease-in-out"; setElementHeight(elementSelector, elementHeight); } function scrollToElement(elementSelector) { let element = document.querySelector(elementSelector); element.scrollIntoView({ behavior: 'smooth' }); } function gotoHelp() { scrollToElement('#synthesis'); setTimeout(scrollToElement, 500, '#footer'); } function gotoTop() { let element = document.querySelector('header'); window.scrollTo(0, element.offsetHeight + 1); } function initDatagrid() { let fonctionAffichageDataGrid = datagrid_hooks['random']; datagridLoading(); fonctionAffichageDataGrid(); } function initSynthese(mode) { let synthesis_body = document.querySelector('#synthesis_body'); if (synthesis_body) { synthesis_body.innerHTML=''; let template = document.querySelector('#synthesis_body_' + mode); if (template) { let contenu = document.importNode(template.content, true); if (contenu) synthesis_body.appendChild(contenu); } } } function initFooter(mode) { let footer_body = document.querySelector('footer'); if (footer_body) { footer_body.innerHTML=''; let template = document.querySelector('#footer_' + mode); if (template) { let contenu = document.importNode(template.content, true); if (contenu) footer_body.appendChild(contenu); } } } function activeMenu(element) { scrollToElement('#synthesis_top'); activeMode(element.innerText); } function activeMode(mode) { setFilAriane(['Home']); if (mode != 'Home') setFilAriane(['Home', mode]); initDatagrid(mode); initSynthese(mode); initFooter(mode); } // UI setLogoVisiblity(false); // Contexte de départ setContexteValeur('user', 'Anonymous'); // GO ! activeMode('Home');