;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Topo

Carla Araújo

REPORTAGEM

Texto que relata acontecimentos, baseado em fatos e dados observados ou verificados diretamente pelo jornalista ou obtidos pelo o a fontes jornalísticas reconhecidas e confiáveis.

Com Bolsonaro em Londres, Mourão vai ao Peru e Lira, a Nova York

Vice-presidente Hamilton Mourão (Republicanos), candidato ao Senado pelo Rio Grande do Sul - Romério Cunha/VPR
Vice-presidente Hamilton Mourão (Republicanos), candidato ao Senado pelo Rio Grande do Sul Imagem: Romério Cunha/VPR

Do UOL, em Brasília

13/09/2022 17h14

Receba os novos posts desta coluna no seu e-mail

Email inválido

Com a decisão do presidente Jair Bolsonaro (PL) de participar do funeral da rainha Elizabeth II, em Londres, o vice-presidente Hamilton Mourão (Republicanos) e o presidente da Câmara, Arthur Lira (PP) também terão que deixar o país entre os dias 17 a 20 de setembro.

A legislação eleitoral não permite que candidatos assumam o cargo de presidente da República nos seis meses anteriores do pleito. Mourão concorre a uma vaga ao Senado pelo Rio Grande do Sul e Lira tenta se reeleger deputado por Alagoas.

À coluna, Mourão afirmou que irá para o Peru participar de uma exposição sobre a Amazônia. "Terei também encontros com autoridades do governo para debater temas ligados a região amazônica", disse.

Já o presidente da Câmara deve ir para Nova York, onde Bolsonaro desembarca após a agem por Londres para participar da Assembleia da ONU.

Segundo fontes, Lira até cogitou acompanhar Bolsonaro em Londres, mas há limitações para a comitiva brasileira e Bolsonaro irá acompanhado, a princípio, pela primeira-dama, Michelle.

Bolsonaro e Lira não se encontraram nas cerimônias de 7 de setembro, mas agora já têm encontro marcado nos Estados Unidos.

Nas ausências de Bolsonaro, de Mourão e de Lira, o presidente do Senado, Rodrigo Pacheco, assumirá a presidência de forma interina no período.

Antes de Londres, agenda de campanha na terra no Lula

Bolsonaro deve deixar o país no fim da tarde do dia 17, após participar de agenda de campanha em Pernambuco. Pela manhã, fará uma motociata no entorno de Caruaru.

Depois, no início da tarde, Bolsonaro participará da Marcha para Jesus no centro de Garanhuns, terra natal do ex-presidente Luiz Inácio Lula da Silva.

À coluna, o ex-ministro do Turismo, Gilson Machado, que organiza o roteiro de Bolsonaro no estado, minimizou as chances de alguma hostilidade local a Bolsonaro e afirmou que "Garanhuns não é terra de Lula apenas". "Pernambuco não tem dono, além do mais sou muito mais pernambucano que ele", disse Gilson, afirmando que é tocador de sanfona e Lula, não.