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

Equipe de Bolsonaro vai revisar decisões de Temer nos últimos 60 dias

Operários trabalham durante os preparativos para a posse do presidente eleito - ERNESTO RODRIGUES/ESTADÃO CONTEÚDO
Operários trabalham durante os preparativos para a posse do presidente eleito Imagem: ERNESTO RODRIGUES/ESTADÃO CONTEÚDO

Gustavo Maia

Do UOL, em Brasília

27/12/2018 16h38Atualizada em 27/12/2018 20h06

Um documento produzido pela equipe do governo de transição do presidente eleito, Jair Bolsonaro (PSL), entregue nesta quinta-feira (27) aos futuros ministros, determina que cada pasta aponte, nos primeiros 10 dias da gestão, as políticas prioritárias dentro de cada área de atuação.

O plano inclui a "revisão de atos normativos legais ou infralegais" publicados nos últimos 60 dias do mandato do atual presidente, Michel Temer (MDB), "para avaliação de aderência aos compromissos da nova gestão".

As orientações constam do capítulo da "Agenda de Governo e Governança Pública" dedicado às ações prioritárias do governo para os primeiros 100 dias, a serem completados no dia 11 de abril de 2019.

O documento é assinado pelo próprio Bolsonaro, pelo coordenador do gabinete de transição e futuro ministro-chefe da Casa Civil, Onyx Lorenzoni (DEM-RS), e pelo coordenador de Assuntos Jurídicos da equipe, indicado para ser o futuro subchefe de Análise e Acompanhamento de Políticas Governamentais da pasta, Pablo Antônio Tatim.

A este órgão caberá a avaliação das ações escolhidas pelos ministérios como prioritárias, dentro de até 60 dias.

De acordo com a agenda, cada pasta deverá "eleger uma matéria à qual se dedicará para que sua implementação --ou envio para discussão pelo Congresso Nacional-- ocorra no prazo dos 100 dias iniciais de governo".

Os ministérios terão um prazo de 30 dias para elaborar os atos normativos necessários à sua concretização.

Reuniões semanais do conselho de governo

O material dispõe ainda de uma agenda detalhadas dos 100 primeiros dias da gestão Bolsonaro, informando que em todas as terças-feiras, às 10h, haverá reuniões do conselho de governo.

Participarão dos encontros o próprio presidente, o vice, general Hamilton Mourão (PRTB), e todos os 22 ministros já escolhidos.

Estão previstas ainda "reuniões de alinhamento", que contarão com pastas que atuam em áreas afins.

Para o dia 11 de abril, está marcada uma cerimônia de 100 dias de governo, no Palácio do Planalto.