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

Decisão da Justiça derruba liminar e barra mudança em cronograma do Enem

Getty Images
Imagem: Getty Images

Do UOL, em São Paulo

29/04/2020 11h14

O cronograma do Enem 2020 (Exame Nacional do Ensino Médio), considerado a principal porta de entrada para o ensino superior no país, deve ser mantido para evitar o comprometimento do calendário de divulgação dos resultados, de acordo com decisão do Tribunal Regional Federal da 3ª Região (TRF3) que suspendeu os efeitos da liminar que permitia eventuais mudanças por conta da pandemia do novo coronavírus.

Abraham Weintraub... - Veja mais em /noticias/2020/04/18/mec-muda-data-de-prova-digital-mas-vai-recorrer-contra-adiamento-do-enem.htm?cmpid=copiaecola

"A extensão da decisão proferida nos autos da sentença é de grande proporção, pois afeta as três etapas (pré aplicação, aplicação e pós aplicação) do projeto Enem, e não poderá ser implementada sem o comprometimento do prazo final de divulgação dos resultados, atualmente a terceira semana de janeiro, que precede o início do Sistema de Seleção Unificado - Sisu", argumenta a decisão.

Inicialmente, a versão digital do Enem seria realizada nos dias 11 e 18 de outubro e a versão regular impressa seria aplicada em 1º e 8 de novembro.

Mas uma possível atualização nas datas foi permitida por meio de uma liminar do dia 17 de abril que definia que o cronograma poderia ser alterado em virtude da situação do ano letivo no Brasil, prejudicado por causa do novo coronavírus. As aulas presenciais foram suspensas em várias cidades por conta de políticas de isolamento para conter a disseminação do novo coronavírus. E muitos estudantes ainda tentam se adequar com a rotina de aulas virtuais.

Após essa liminar, o MEC (Ministério da Educação) afirmou que iria recorrer. Mas, paralelamente, modificou as datas do exame online para 22 e 29 de novembro— as provas impressas do Enem não foram alteradas e continuam previstas para 1º e 8 de novembro. Na época, o Ministro Abraham Weintraub até publicou em uma rede social a frase "vai ter Enem".

A manutenção da data do exame mesmo com a paralisação das aulas do país gerou críticas por parte de entidades estudantis, como a UNE e a Ubes (União Brasileira dos Estudantes Secundaristas), e também dos secretários de educação. As críticas, no entanto, pedem um adiamento do exame, e não o seu cancelamento.

A Defensoria Pública da União, responsável pelo pedido da ação civil pública para permitir possíveis mudanças no calendário do Enem, ainda pode recorrer. Logo, esse vai e vem de datas ainda não possui uma definição final.