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

Toffoli prorroga até 30 de junho grupo de trabalho sobre juiz de garantias

7.nov.2019 - Dias Toffoli, presidente do STF, no plenário para julgamento de ações sobre prisão em segunda instância - Rosinei Coutinho/SCO/STF
7.nov.2019 - Dias Toffoli, presidente do STF, no plenário para julgamento de ações sobre prisão em segunda instância Imagem: Rosinei Coutinho/SCO/STF

Rafael Moraes Moura

BRASÍLIA

13/02/2020 17h26

O presidente do Supremo Tribunal Federal (STF) e do Conselho Nacional de Justiça (CNJ), ministro Dias Toffoli, decidiu prorrogar até 30 de junho as atividades do grupo de trabalho criado para elaborar uma proposta de regulamentação do juiz de garantias, figura prevista na lei anticrime sancionada pelo presidente Jair Bolsonaro.

A medida, que prevê a divisão entre dois juízes da análise de processos criminais, foi suspensa por tempo indeterminado pelo vice-presidente do STF, ministro Luiz Fux. O dispositivo previa separar entre dois magistrados a análise de processos criminais.

Atualmente, o juiz que analisa pedidos feitos pela polícia e pelo Ministério Público na investigação é o mesmo que pode condenar ou absolver o réu.

No mês ado, Fux derrubou uma decisão de Toffoli e suspendeu por tempo indefinido a vigência da medida. Toffoli havia prorrogado por seis meses a implantação do juiz de garantias e até fixou uma regra de transição para os processos em andamento no País.

Por decisão de Fux, nos dias 16 e 30 de março, o Supremo promoverá duas audiências públicas sobre a criação do juiz de garantias. Segundo o Estado apurou, Fux pretende liberar as quatro ações sobre o tema para julgamento ainda neste semestre.

Conforme antecipou, em dezembro, o Broadcast, serviço de notícias em tempo real do Grupo Estado, a maioria do STF é a favor do juiz de garantias. Toffoli apoia a medida; já Fux apontou "vícios de inconstitucionalidade" na edição da lei.

Resolução

Os trabalhos no âmbito do CNJ estão sendo coordenados pelo corregedor nacional de Justiça, ministro Humberto Martins. A ideia do grupo é elaborar uma proposta de regulamentação, a ser analisada pelos demais conselheiros.

"Estabelecemos o dia 30 de junho para elaboração da versão final da minuta de Resolução do juiz das garantias. Estamos avaliando as centenas de sugestões que foram apresentadas por magistrados, tribunais e instituições do sistema de Justiça, além da realização de estudos próprios. Na data estabelecida, o ato normativo será devidamente apresentado e submetido ao presidente do CNJ", afirmou Martins na reunião da última quarta-feira.

A canetada de Fux contrariou Toffoli, deixou "estupefatos" ministros e foi duramente criticada pelo presidente da Câmara, Rodrigo Maia (DEM-RJ), que considerou a decisão "desnecessária e desrespeitosa" com o Parlamento.

Por outro lado, o ministro da Justiça e Segurança Pública, Sérgio Moro, comemorou. Ele havia recomendado a Bolsonaro o veto ao dispositivo, mas não foi atendido.

Desde então, integrantes da Corte pressionam publicamente o colega para liberar o mais breve possível para julgamento as ações que contestam a lei anticrime.