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

Cármen Lúcia é eleita ministra substituta e será única mulher no TSE

A ministra Cármen Lúcia, do STF, foi eleita como ministra substituta do TSE - 7.nov.2019 - Carlos Alves Moura/SCO/STF
A ministra Cármen Lúcia, do STF, foi eleita como ministra substituta do TSE Imagem: 7.nov.2019 - Carlos Alves Moura/SCO/STF

Felipe Amorim

Do UOL, em Brasília

24/06/2020 16h05Atualizada em 24/06/2020 16h05

A ministra do STF (Supremo Tribunal Federal) Cármen Lúcia foi eleita na tarde de hoje para ocupar uma vaga de ministra substituta do TSE (Tribunal Superior Eleitoral), última instância da Justiça Eleitoral no país.

Cármen Lúcia será a única mulher entre os sete ministros titulares e sete substitutos. Os ministros substitutos atuam em caso de ausência de algum dos titulares.

A eleição foi feita durante sessão do STF na tarde de hoje.

Tradicionalmente, a eleição é apenas uma formalidade pois as indicações às vagas no TSE são feitas em um sistema de rodízio, onde a preferência é do ministro há mais tempo no STF que nunca ocupou uma vaga na corte eleitoral. Quando todos já exerceram mandatos no TSE, a fila prossegue pelo que está há mais tempo fora da Justiça Eleitoral.

Essa será a segunda agem de Cármen Lúcia pelo TSE. A ministra ingressou na corte eleitoral em 2008, de início como substituta, e chegou a presidir o TSE entre abril de 2012 e novembro de 2013.

Cármen Lúcia foi a primeira mulher a presidir a Justiça Eleitoral. A segunda foi a ministra Rosa Weber, que comandou o TSE entre agosto de 2018 e maio deste ano.

A ministra Cármen Lúcia vai ocupar a vaga de substituto que foi de Alexandre de Moraes, também de origem no STF, que tomou posse como titular do TSE no início do mês.

Atualmente o TSE é presidido pelo ministro Luís Roberto Barroso, que também integra o STF.

O TSE é integrado por sete ministros titulares: três ministros do STF, dois do STJ (Superior Tribunal de Justiça) e dois ministros com origem na advocacia. O número de ministros substitutos é o mesmo dos titulares, assim como seu órgão de origem.

Os ministros têm um mandato de dois anos e podem ser reconduzidos para um segundo período de igual duração.

Hoje, pelo STF, são titulares no TSE os ministros Barroso, Alexandre de Moraes e Edson Fachin. Ricardo Lewandowski e Marco Aurélio Mello são substitutos nas vagas do STF.

Pelo STJ, os titulares são os ministros Og Fernandes e Luis Felipe Salomão, e os substitutos, Mauro Campbell e Benedito Gonçalves.

Entre os advogados, os ministros titulares são Tarcísio Vieira de Carvalho Neto e Sérgio Banhos, e os substitutos, Carlos Mário Velloso Filho e Carlos Bastide Horbach.