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

Na véspera de posse, ministros elogiam gestão Toffoli e esperam STF 'harmonioso'

Rosinei Coutinho - 3.mai.2018/ STF
Imagem: Rosinei Coutinho - 3.mai.2018/ STF

Felipe Amorim

Do UOL, em Brasília

12/09/2018 15h41

Na véspera de o ministro Dias Toffoli tomar posse como presidente do STF (Supremo Tribunal Federal), alguns de seus colegas de tribunal elogiaram sua experiência istrativa e disseram esperar um Supremo mais "harmonioso".

Toffoli toma posse nesta quinta-feira (13) e vai substituir na presidência a ministra Cármen Lúcia, cujo mandato de dois anos à frente do tribunal se encerrou.

"O ministro Toffoli é muito voltado para a questão da gestão, dedicou-se a isso na AGU [Advocacia-Geral da União], também no TSE [Tribunal Superior Eleitoral], tem um gabinete organizado, acho que fará uma boa gestão, tanto no Supremo como no CNJ [Conselho Nacional de Justiça]", disse o ministro Gilmar Mendes.

"De alguma forma, acho que para o Judiciário, na visão istrativa, o CNJ é até mais importante do que o Supremo, porque ele trata de políticas judiciárias, define regulamentos do Judiciário como um todo. Portanto, acho importante ter um bom gestor à frente do CNJ para dar continuidade a políticas públicas que vem se desenvolvendo", afirmou o ministro.

Antes de tomar posse no STF, em 2009, Toffoli chefiou a AGU no governo do ex-presidente Luiz Inácio Lula da Silva (PT). Já como ministro do Supremo, ocupou uma cadeira no TSE, tribunal que presidiu entre 2014 e 2016.

Luiz Fux, que será vice-presidente na gestão Toffoli, disse prever um tribunal mais "harmonioso" e com mais diálogo entre os ministros.

"A avaliação que eu faço é que vai ser uma presidência muito harmoniosa e muito participativa por parte do colegiado, ele vai sempre ouvir o colegiado em várias questões", disse.

"O Supremo vai ser extremamente harmonioso entre os colegas, os temas mais expressivos vão ser debatidos por todos os seus integrantes. Sempre que possível vamos evitar conflitos institucionais", afirmou Fux.

O ministro Alexandre de Moraes também destacou a experiência istrativa de Toffoli e elogiou sua capacidade de diálogo com os outros Poderes.

"Ele tem uma experiência no Executivo e no Legislativo que acho que vão auxiliá-lo na presidência do Supremo, porque a presidência do Supremo e do CNJ é 99% istrativa, 1% é jurisdicional", disse.

"Acho que é um perfil importante para o momento, ele tem um bom trânsito no Executivo, no Legislativo", afirmou Moraes. "O ministro Toffoli, a característica dele é ser agregador, e isso é importante no momento", disse.