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

Haddad quer aliança com o PDT para o governo de SP e espera falar com Ciro

Do UOL, em São Paulo

16/11/2021 13h47Atualizada em 16/11/2021 14h07

O ex-prefeito de São Paulo Fernando Haddad (PT) espera compor uma chapa para o governo de SP nas eleições de 2022 ao lado de partidos de esquerda, como o PSB, o PCdoB e até mesmo o PDT.

"Não há razão nenhuma para o PDT não sentar na mesa de negociação em São Paulo", disse Haddad ao UOL News, programa do Canal UOL.

Questionado se essas possíveis negociações poderiam envolver Ciro Gomes (PDT), pré-candidato à Presidência da República e que, desde 2018, tem feito críticas públicas ao PT, Haddad disse que espera conversar com o político cearense.

"Não teria razão para não conversar com ele", pontuou Haddad, que disse estar mantendo conversas com Carlos Lupi, presidente nacional do PDT, para concretizar a aliança. "Se não der para estarmos juntos no primeiro turno, vamos estar no segundo", disse.

Na semana ada, em entrevista ao UOL, Lupi já havia sinalizado com um outro tipo de apoio ao PT: caso o ex-presidente Luiz Inácio Lula da Silva (PT) enfrente Jair Bolsonaro (sem partido) em um segundo turno presidencial em 2022, ganhará o apoio da sigla.

Desde a primeira eleição vencida por Mário Covas ao governo estadual, em 1994, São Paulo sempre elegeu governadores tucanos. Para Haddad, uma aliança de esquerda em 2022 pode ser a chance para tirar o PSDB do Palácio dos Bandeirantes.

Segundo a última pesquisa de intenção de voto do Datafolha, datada de meados de setembro, Haddad é o principal nome da esquerda no pleito para o governo de São Paulo, aparecendo entre o primeiro e o segundo lugar em dois cenários traçados.

Em um cenário de disputa com Geraldo Alckmin, de saída do PSDB e com nome ventilado para ser vice na chapa presidencial de Lula, Haddad aparece em segundo lugar. Sem o ex-governador no páreo, o petista lidera as intenções de voto.

Na entrevista, Haddad falou de Alckmin tanto do ponto de vista de possível adversário como de nome ventilado para ser o vice de Lula em 2022.

Haddad afirmou ver em Alckmin um nome que representa uma oposição tanto ao governador de SP, João Doria (PSDB), como ao presidente Jair Bolsonaro em São Paulo.

O petista disse que tem conversado com o ex-governador paulista para discutir apoios no segundo turno, caso algum deles não esteja nesta fase do pleito. "Esse tipo de conversa fortalece a democracia", afirmou Haddad.