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

Ralf e eu não merecíamos sair do Corinthians dessa maneira, diz Jadson

Jadson deixa o gramado durante a partida entre Corinthians e Guarani-PAR - Friedemann Vogel/Getty Images
Jadson deixa o gramado durante a partida entre Corinthians e Guarani-PAR Imagem: Friedemann Vogel/Getty Images

Colaboração para o UOL, em São Paulo

12/06/2020 13h57Atualizada em 12/06/2020 20h33

Dispensado do Corinthians por estar fora dos planos do técnico Tiago Nunes, Jadson reprovou a forma com que foi desligado do Alvinegro, juntamente com Ralf. Convidado do programa Os Donos da Bola de hoje, o meia criticou o clube por não permitir que tanto ele quanto o volante se reapresentassem e treinassem, mesmo que separadamente.

Atualmente sem clube, o meio-campista fez questão de destacar o carinho dos corintianos mesmo após sua saída, assim como os cinco anos dedicados ao time de Parque São Jorge.

"A saída foi muito triste para mim, mas também tive que respeitar o que o treinador queria para este ano. Acho que eu e Ralf não merecíamos ter saído dessa maneira, mas a vida segue. Foram cinco anos maravilhosos que eu ei no Corinthians, tenho a gratidão e carinho dos torcedores até hoje. O que ou ou, e não tem como voltar atrás", falou Jadson.

"O Duílio ligou para o meu empresário no dia 22 de dezembro para avisar que o treinador não contaria comigo, que era para eu procurar um clube. A minha chateação foi porque eu tinha contrato com o Corinthians e, no domingo à noite, ligaram para mim e avisaram para eu não me reapresentar na segunda. Eles poderiam pelo menos deixar a gente se reapresentar, mesmo que não fosse treinar com o grupo".

Em relação ao futuro, o jogador aguarda a melhora da pandemia de coronavírus para buscar um novo clube:

"Eu tenho treinado todos os dias. Meu empresário estava procurando algum clube para mim, esperando algumas propostas. Por causa da pandemia, o futebol parou, as negociações travaram. Meu empresário comentou que tem uma proposta do Brasil e outra da Arábia, mas a gente está esperando melhorar a pandemia", contou.