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

Bolsonaro quer volta às aulas em Colégio Militar a partir de segunda

Presidente Jair Bolsonaro - ADRIANO MACHADO
Presidente Jair Bolsonaro Imagem: ADRIANO MACHADO

Do UOL, em São Paulo

20/04/2020 18h20

O presidente Jair Bolsonaro (sem partido) cogitou a possibilidade de voltar com as aulas em um Colégio Militar, em Brasília, mas disse que ainda irá conversar com o ministro da Defesa, Fernando Azevedo e Silva.

"Este, talvez, seja o primeiro gesto para voltarmos à normalidade aqui no Brasil. Não está batido o martelo ainda", disse Bolsonaro. "É o primeiro o, mas os pais estão com medo, o que é natural, gradual, para voltarmos à normalidade", completou.

Na semana ada, um desembargador ordenou que uma escola militar pare de colocar professores e funcionários técnicos para trabalhar dentro da instituição durante a pandemia do coronavírus. Ele usou como base uma decisão do ministro Alexandre de Moraes, que acabou sendo confirmada na última quarta-feira (15) pelo Supremo Tribunal Federal (STF),

A decisão não atinge os estudantes, mas o sindicato que abriu a ação e uma representação na Procuradoria Geral da República (PGR), espera que ela seja estendida a alunos de todo o país em breve.

Como mostrou o UOL, escolas e academias militares têm mantido alunos em regime de internato mesmo com a pandemia de covid-19. O Ministério da Defesa diz que eles não correm riscos.

O desembargador do Tribunal Regional Federal da 4ª Região Rogério Favretto discordou. "A omissão da autoridade militar em suspender as aulas presenciais (...) caracteriza violação de direitos fundamentais dos servidores representados, ível até de responsabilização civil e penal, mormente quando está em jogo o valor maior da vida humana", escreveu ele, em decisão na tarde quarta-feira (15), poucas horas antes do Supremo confirmar a decisão do ministro Alexandre de Moraes em plenário.

Favretto se baseou na decisão do ministro segundo a qual o governo federal deve respeitar decisões de prefeituras e estados no isolamento social da população. "O STF determinou ao governo federal que respeite as determinações emanadas dos demais entes federativos", disse o desembargador.