;(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
Logo Pagbenk Seu dinheiro rende mais
Topo

Justiça suspende concurso da PRF que estava marcado para domingo

Justiça alegou os riscos sanitários devido à pandemia de covid-19 - Divulgação/PRF
Justiça alegou os riscos sanitários devido à pandemia de covid-19 Imagem: Divulgação/PRF

Colaboração para o UOL

04/05/2021 00h45

A Justiça Federal no Distrito Federal determinou, na noite de ontem, a suspensão da aplicação das provas objetivas e discursivas do concurso da PRF (Polícia Rodoviária Federal), que estavam previstas para acontecer no próximo domingo (9). Ainda cabe recurso contra a decisão, de caráter liminar.

O motivo alegado pela juíza federal substituta Liviane Kelly Soares Vasconcelos é o risco apresentado pela realização dos exames presenciais em meio à crise sanitária devido à pandemia da covid-19.

Na decisão, a 20ª Vara Federal Cível do DF afirmou que "de acordo com os dados oficiais, não houve melhora significativa na situação da saúde pública de modo a justificar que uma prova adiada em 12 de março de 2021 seja aplicada em 9 de maio de 2021".

A juíza também faz referência a um trecho do edital que permite a realização da prova por candidatos que apresentem temperatura corporal acima do esperado em medição feita no dia do exame.

De acordo com o que diz o edital da prova, se a temperatura corporal do concorrente, aferida no momento de sua chegada ao local de aplicação do teste, for superior a 37,5°C, deve ser imediatamente realizada uma segunda medição. Se essa segunda aferição confirmar que o candidato se encontra com temperatura corporal superior a 37,5°C, ele poderá ser encaminhado para realizar as provas em sala especial.

Segundo o entendimento da magistrada, "colocar em uma mesma sala diversos candidatos que apresentem sinais de febre pode colocar em risco candidatos que não estejam infectados, além de colocar em risco os funcionários responsáveis pela aplicação das provas".

Concurso da PRF

As inscrições para a prova foram abertas em janeiro, e o edital prevê o preenchimento de 1,5 mil vagas para o cargo de policial rodoviário federal, com nível superior. Ao todo, mais de 300 mil pessoas se inscreveram para a seletiva em todo o país.

O concurso da PRF conta com duas etapas e as provas deveriam ter sido realizadas em março, mas já haviam sido adiadas naquela época por causa do novo coronavírus.