1define(function (){ 2 return { 3 ajustaLayoutRodape: () => { 4 const containersRodape = document.querySelectorAll('[data-container-link-rodape="links-rodape"]'); 5 if (containersRodape){ 6 window.addEventListener('resize', () => { 7 ajustaIconesNoRodape(containersRodape); 8 }); 9 if (tamanhoTela() > 992){ 10 apresentaTodosIconesRodape(containersRodape); 11 } 12 } 13 }, 14 15 criaEventosClick: () => { 16 const containersRodapeClick = document.querySelectorAll('[data-container-link-rodape="links-rodape"]'); 17 if (containersRodapeClick){ 18 for (container of containersRodapeClick){ 19 const elementosASereremAlterado = container.querySelectorAll('ul'); 20 const elementosClick = container.querySelectorAll('[data-imagem-evento]'); 21 elementosClick[0].addEventListener('click', () => { 22 alteraComportamentoElemento(elementosASereremAlterado, elementosClick); 23 }) 24 elementosClick[1].addEventListener('click', () => { 25 alteraComportamentoElemento(elementosASereremAlterado, elementosClick); 26 }) 27 } 28 } 29 }, 30 31 // Gerencia a exibição dos links dos portlets de Acesso Rápido 32 scrollLeftRight: () => { 33 let startPosition = 0; 34 document.querySelectorAll( '.acesso-rapido-links' ).forEach( ( prtltAcessoRapido ) => { 35 const mainCntnr = prtltAcessoRapido.closest( "section" ); 36 const lnks = mainCntnr.querySelectorAll( '[data-item-acesso-rapido]' ); 37 // const linksCntnrMeas = prtltAcessoRapido.getBoundingClientRect(); 38 let linksCntnrMeas = prtltAcessoRapido.getBoundingClientRect(); 39 slickDotsMngmt( mainCntnr, lnks, linksCntnrMeas ) 40 prtltAcessoRapido.addEventListener( 'touchstart', ( event ) => startPosition = event.touches[0].clientX ) 41 prtltAcessoRapido.addEventListener( 'touchmove', ( event ) => { 42 prtltAcessoRapido.scrollLeft = prtltAcessoRapido.scrollLeft + startPosition - event.touches[0].clientX 43 slickDotsMngmt( mainCntnr, lnks, linksCntnrMeas )}); 44 prtltAcessoRapido.addEventListener( 'dragstart', ( event ) => startPosition = event.clientX ) 45 prtltAcessoRapido.addEventListener( 'dragover', ( event ) => { 46 prtltAcessoRapido.scrollLeft = prtltAcessoRapido.scrollLeft + startPosition - event.clientX 47 slickDotsMngmt( mainCntnr, lnks, linksCntnrMeas )}); 48 prtltAcessoRapido.addEventListener( 'scroll', ( event ) => { 49 let isScrolling; 50 window.clearTimeout(isScrolling); 51 isScrolling = setTimeout( slickDotsMngmt( mainCntnr, lnks, linksCntnrMeas ), 150 )}); 52 // window.addEventListener( 'resize', () => slickDotsMngmt( mainCntnr, lnks, linksCntnrMeas )) 53 window.addEventListener( 'resize', ( event ) => { 54 let isScrolling; 55 linksCntnrMeas = prtltAcessoRapido.getBoundingClientRect(); 56 window.clearTimeout( isScrolling ); 57 isScrolling = setTimeout( slickDotsMngmt( mainCntnr, lnks, linksCntnrMeas ), 150 )}); 58 }) 59 } 60 } 61 62 // Gerencia a barra de navegação (dots) do portlet Acesso Rápido 63 function slickDotsMngmt( mainCntnr, lnks, linksCntnrMeas ) { 64 const navBar = mainCntnr.querySelector( '.slick-dots-container' ); 65 if ( !lnks || !navBar || !mainCntnr ) return 66 const firstLnkIsVisible = lnks[0].getBoundingClientRect().right > linksCntnrMeas.left ? true : false; 67 const lastLnkIsVisible = lnks[ --lnks.length ].getBoundingClientRect().left < linksCntnrMeas.right ? true : false; 68 if ( firstLnkIsVisible && lastLnkIsVisible ) { 69 navBar.classList.add( 'oculta-elemento' ) 70 return } 71 navBar.classList.remove( 'oculta-elemento' ) 72 const lnkColorMng = { 0: firstLnkIsVisible, 1: !firstLnkIsVisible && !lastLnkIsVisible, 2: lastLnkIsVisible }; 73 navBar.querySelectorAll( '.slick-dots' ).forEach(( dot, idx ) => 74 lnkColorMng[ idx ] ? dot.classList.add( 'slick-dots-blue' ) : dot.classList.remove( 'slick-dots-blue' )) 75 } 76 77 78 // InÃcio do tratamento dos Ãcones do acesso rápido 79 function ajustaIconesNoRodape(containersRodape){ 80 if (tamanhoTela() < 992 ){ 81 ocultaTodosIconesRodape(containersRodape); 82 } else { 83 apresentaTodosIconesRodape(containersRodape); 84 } 85 } 86 87 function tamanhoTela(){ 88 return window.innerWidth 89 } 90 91 function ocultaTodosIconesRodape(containersRodape){ 92 for (container of containersRodape){ 93 const elementosClick = container.querySelectorAll('[data-imagem-evento]'); 94 const elementosASereremAlterado = container.querySelectorAll('ul'); 95 for (elementoASerAlterado of elementosASereremAlterado){ 96 if (elementoASerAlterado.classList.contains('oculta-elemento')){ 97 continue 98 } 99 alteraElementosVisiveis(elementoASerAlterado); 100 } 101 if (elementosClick[0].classList.contains('oculta-elemento')){ 102 alteraImagemElementoClick(elementosClick); 103 } 104 } 105 } 106 107 function apresentaTodosIconesRodape(containersRodape){ 108 for (container of containersRodape){ 109 const elementosClick = container.querySelectorAll('[data-imagem-evento]'); 110 const elementosASereremAlterado = container.querySelectorAll('ul'); 111 if (elementosASereremAlterado.length){ 112 if (elementosASereremAlterado[0].classList.contains('oculta-elemento')){ 113 alteraComportamentoElemento(elementosASereremAlterado, elementosClick) 114 } 115 } 116 } 117 } 118 119 function alteraComportamentoElemento(elementosASereremAlterado, elementosClick){ 120 for (elementoASerAlterado of elementosASereremAlterado){ 121 alteraElementosVisiveis(elementoASerAlterado); 122 } 123 alteraImagemElementoClick(elementosClick); 124 } 125 126 function alteraElementosVisiveis(elementoASerAlterado){ 127 elementoASerAlterado.classList.toggle("oculta-elemento"); 128 } 129 130 function alteraImagemElementoClick(elementosClick){ 131 for (elemento of elementosClick) { 132 elemento.classList.toggle("oculta-elemento"); 133 } 134 } 135});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.