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

Primeira Liga cancela edição deste ano e negocia datas para 2019

O Londrina foi campeão da Primeira Liga em 2017 - Divulgação/Primeira Liga
O Londrina foi campeão da Primeira Liga em 2017 Imagem: Divulgação/Primeira Liga

Do UOL, em São Paulo

27/03/2018 14h13

Em comunicado divulgado na tarde esta terça-feira (27), a Primeira Liga confirmou o cancelamento da edição deste ano. A organização do torneio buscava o aval da Confederação Brasileira de Futebol (CBF) e da Rede Globo por datas no calendário nacional, apertado por conta da Copa do Mundo na Rússia, mas não obteve sucesso.

Na nota oficial, a Primeira Liga afirma estar em negociações por datas para que a competição volte a ser disputada em 2019.

Havia a intenção de colocar a Primeira Liga durante a Copa, com início em 14 de junho. No entanto, os clubes que participaram da edição de 2017 não confirmaram participação, outros estudam convites para disputar amistosos no exterior no segundo semestre.

Criada inicialmente para ser uma reedição da Copa Rio-São Paulo-Minas, em 2015, a Primeira Liga era uma tentativa de os clubes criarem um torneio independente da CBF, mas com apoio de emissoras de TV, para concorrer com os Estaduais. Seria um processo embrionário para, no longo prazo, desvincular o Campeonato Brasileiro da entidade. Mas os próprios clubes foram responsáveis pelo enfraquecimento da competição, com desistências e uso de juvenis e reservas nas escalações.

A primeira edição, em 2016, contou com equipes do Rio de Janeiro, Minas Gerais e dos Estados do Sul, consagrando o Fluminense como campeão. No ano ado, o Nordeste contou com representantes, mas a Primeira Liga já sofreu recusa de dois clubes-fundadores, Atlético-PR e Coritiba. O vencedor do torneio foi o Londrina.

Confira abaixo o comunicado publicado no site da Primeira Liga:

A Diretoria da Copa da Primeira Liga comunica que, em comum acordo com todas as partes interessadas, a competição não será realizada em 2018. No entanto, o trabalho continua sendo desenvolvido para viabilizar um torneio forte e estruturado a partir de 2019.

Na última semana, reuniões com a Confederação Brasileira de Futebol e com a Rede Globo deixaram adiantadas as tratativas para um torneio no início da temporada 2019, com quatro a sete datas, com término até março.

A cúpula da Primeira Liga seguirá em contato constante com os dirigentes dos clubes, a CBF e a Rede Globo a fim de unificar os interesses e promover um torneio de alto nível, valorizando e fortalecendo o Fórum de Clubes.