;(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

Tales Faria

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.

Bolsonaro articula para Doria vencer prévias, avaliam caciques do PSDB

Chefe da Sucursal de Brasília do UOL

13/10/2021 12h36Atualizada em 13/10/2021 14h38

Receba os novos posts desta coluna no seu e-mail

Email inválido

Fora o diretório do estado de São Paulo, onde tem maioria folgada, o Rio Grande do Norte é a grande força de João Doria para as prévias que escolherão o candidato do PSDB a presidente da República. Na avaliação da alta cúpula tucana, o governador de São Paulo pode contar com até 85% de apoio nesse estado do Nordeste.

Esses votos têm por trás o trabalho árduo do ex-deputado Rogério Marinho, hoje ministro da Integração do governo de Jair Bolsonaro e que ainda tem grande influência do diretório regional da sigla. Marinho segue orientação do presidente da República.

A avaliação de tucanos ouvidos pela coluna é que Bolsonaro torce pela vitória de Doria nas prévias, porque acredita que o governador paulista será muito mais fácil de ser derrotado nas eleições do ano que vem do que o gaúcho Eduardo Leite. O governador do Rio Grande do Sul concorre contra Doria à vaga de candidato pela sigla.

As afirmações contra o governador de São Paulo são generalizadas nas conversas reservadas na cúpula nacional do PSDB. Mas, publicamente, ninguém ainda se dispõe a externar a avaliação de que o partido corre risco de se esfacelar se Doria for o escolhido pela legenda.

O governador paulista não é visto como agregador. E chefes de outras legendas com potencial para se juntar ao PSDB já avisaram que não o farão se Doria for candidato. É o caso do Democratas e do PSL, que estão formando uma única legenda: União pelo Brasil.

O ex-governador do Ceará Tasso Jereissati (CE), considerado um dos principais nomes nacionais do PSDB, no entanto, abriu mão da indicação às prévias e declarou apoio a Eduardo Leite. O presidente nacional da legenda, ex-deputado Bruno Araújo, também se desentendeu publicamente com Doria, embora diga que a briga é coisa do ado.

Já Eduardo Leite, embora parta de um patamar mais baixo nas pesquisas de opinião, tem um potencial agregador bem superior ao do governador de São Paulo.

Mesmo em seu estado Doria colecionou desafetos poderosos que evitam externar suas opiniões publicamente. A saída do ex-governador Geraldo Alckmin da legenda é debitada na conta de Doria.

O ex-presidente Fernando Henrique Cardoso, o ex-governador José Serra e o senador José Aníbal são alguns dos tucanos paulistas que evitam brigar publicamente com Doria, mas que torcem contra sua indicação nas prévias. Como paulistas, no entanto, não podem dizer isto publicamente.

Pelo contrário, Doria já cobrou e arrancou uma declaração pública de apoio de FHC. Agora quer o mesmo de todos os demais tucanos de alta plumagem de seu estado. Mas, mesmo que consiga, essas declarações não serão levadas a sério. Como ocorreu com o próprio Fernando Henrique Cardoso: ele disse que apoia Doria, mas ninguém no PSDB acreditou.