;(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();
})();
Haddad critica movimento por semipresidencialismo: fere a soberania popular
Fernando Haddad diz que "soberania popular" seria vítima de mudança de sistema Imagem: Marlene Bergamo/Folhapress
Do UOL, em São Paulo
19/07/2021 10h18Atualizada em 19/07/2021 13h27
O ex-prefeito de São Paulo e candidato à Presidência da República em 2018, Fernando Haddad (PT), criticou o movimento pela implementação do semipresidencialismo no Brasil e disse que a mudança de sistema agrediria a soberania popular.
"O impeachment sem crime, a fraude eleitoral de 2018 e o semipresidencialismo são três atos da mesma peça de teatro. A vítima é a mesma: a soberania popular. Imagine o Congresso escolher o chefe de governo", disse Haddad.
O impeachment sem crime, a fraude eleitoral de 2018 e o semipresidencialismo são três atos da mesma peça de teatro. A vítima é a mesma: a soberania popular. Imagine o Congresso escolher o chefe de governo.
Ao dizer "impeachment sem crime", Haddad se refere ao processo que culminou com a saída de Dilma Rousseff da presidência por crime de responsabilidade em 2016, contestado pelo PT.
O petista ainda fala em 'fraude eleitoral' em 2018 referindo-se a alegações de influência de fake news na eleição de Jair Bolsonaro (sem partido). Haddad foi derrotado pelo atual presidente no segundo turno.
Arthur Lira diz que tema não é invenção dele
O presidente da Câmara, Arthur Lira (Progressistas-AL), disse hoje nas redes sociais que o debate acerca do semipresidencialismo "não é invenção" dele e que não há nenhum tema que não possa ser debatido na Casa.
"Acabamos com a vontade de um só, que votava ou não votava o que bem lhe aprouvesse. Não mais! Acabou a época de projetos esquecidos nas gavetas. E o semipresidencialismo é mais um desses. Surgiu antes da crise atual. Não é invenção minha", afirmou.
Acabamos com a vontade de um só, que votava ou não votava o que bem lhe aprouvesse. Não mais! Acabou a época de projetos esquecidos nas gavetas. E o semipresidencialismo é mais um desses. Surgiu antes da crise atual. Não é invenção minha.
Lira explicou que "não há temas que não possam ser discutidos na Câmara" e disse defender essa bandeira "com muita honra e compromisso público" desde o início da sua campanha ao cargo. Segundo reportagem do jornal O Estado de S. Paulo, Lira articula com aliados a mudança por meio de uma PEC (proposta de emenda à Constituição).
Semipresidencialismo
A proposta de semipresidencialismo prevê um modelo híbrido. Ao mesmo tempo em que mantém o presidente da República, eleito pelo voto direto, delega a chefia de governo para o primeiro-ministro. É ele quem nomeia e comanda toda a equipe, o chamado "Conselho de Ministros", incluindo até mesmo o presidente do Banco Central.
Inspirado em sistemas adotados em Portugal e na França, o regime sugerido para o Brasil em nome da estabilidade joga luz sobre um "contrato de coalizão", com força de lei, para ser assinado por partidos que dão sustentação ao presidente. Ali devem constar as diretrizes e o programa de governo.
Na prática, é o primeiro-ministro que toca a istração do País e conduz o "varejo político". Nomeado pelo presidente, de preferência entre os integrantes do Congresso, ele tem a obrigação de comparecer todo mês à Câmara para prestar contas.
A destituição do chefe de governo pode ocorrer pela aprovação de moção de censura apresentada pelo presidente ou por dois quintos de integrantes de cada Casa do Congresso. O gabinete não cai, porém, enquanto não houver outro primeiro-ministro, já que não existe vice-presidente.
ID: {{comments.info.id}}
URL: {{comments.info.url}}
Ocorreu um erro ao carregar os comentários.
Por favor, tente novamente mais tarde.
{{comments.total}} Comentário
{{comments.total}} Comentários
Seja o primeiro a comentar
Essa discussão está encerrada
Não é possivel enviar novos comentários.
Essa área é exclusiva para você, , ler e comentar.
Só s do UOL podem comentar
Ainda não é ? Assine já.
Se você já é do UOL, faça seu .
O autor da mensagem, e não o UOL, é o responsável pelo comentário. Reserve um tempo para ler as Regras de Uso para comentários.