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

Esse conteúdo é antigo

Datena troca PSL pelo PSD de Kassab e vai disputar vaga no Senado em 2022

Jornalista havia se filiado ao PSL em julho e agora segue para o partido de Gilberto Kassab - Reprodução
Jornalista havia se filiado ao PSL em julho e agora segue para o partido de Gilberto Kassab Imagem: Reprodução

Nathan Lopes

Do UOL, em São Paulo

02/11/2021 16h17Atualizada em 02/11/2021 18h37

O jornalista José Luiz Datena disse ao UOL que vai deixar o PSL e filiar-se ao PSD. A informação também foi confirmada pelo partido do ex-prefeito paulistano Gilberto Kassab. De acordo com o PSD, Datena irá disputar a eleição para o Senado.

Segundo Datena, o ato de filiação será em 24 de novembro, uma quarta-feira, em Brasília. A movimentação inesperada surpreendeu tanto membros da direção do PSL quanto do próprio PSD, apurou o UOL.

Datena disse que decidiu ir para o PSD porque "foi o primeiro convite que recebi para esta eleição".

Sinalização de saída

Datena estava descontente com o PSL desde a fusão com o Democratas, junção que resultará no União Brasil. Quando se filiou ao PSL, a expectativa era que disputasse a eleição para a Presidência da República.

"O meu ponto de fusão é diferente do deles. Eu, para me tornar gasoso em dois segundos, desapareço e evaporo", disse ao UOL em setembro sobre o PSL, falando que o partido tinha "uma ética diferente". "A responsabilidade toda é deles. Os caras que me convidaram, que me lançaram candidato a presidente da República. A responsabilidade é deles, não é minha."

Anúncio surpresa

Datena se filiou ao PSL em julho deste ano. A saída pegou de surpresa os dirigentes do PSL, como o deputado federal Luciano Bivar (PE), presidente do partido e que também comandará o União Brasil. O PSL ainda não foi avisado por Datena sobre a saída do partido, disse Bivar ao UOL. "Realmente, ele não tinha me comunicado."

Bivar defende o PSL das críticas de Datena e diz que o acerto entre eles foi que a candidatura seria definida "com respaldo científico", ou seja, com base no desempenho em pesquisas. "E isso continuava de pé. Em nenhum momento arredamos aquilo que conversamos em um ado recente."

Novo cenário no PSD

Com a mudança de partido, duas possibilidades ficaram descartadas para Datena: disputar o Planalto ou o governo do estado de São Paulo. Esses eram cenários que ele aventava nas conversas sobre a eleição de 2022 quando se filiou ao PSL. No PSD, o cargo almejado será o de senador, segundo o novo partido do jornalista.

Para a Presidência da República, o PSD deverá lançar o senador Rodrigo Pacheco (MG). Na disputa estadual, o partido estará com a candidatura de Geraldo Alckmin (PSDB), mesmo que o ex-governador paulista não escolha o PSD como novo partido; Alckmin está de saída do PSDB. Além do PSD, o ex-governador também conversa com o União Brasil.