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

Doria volta a pressionar governo sobre CoronaVac: 'Salve vidas, Bolsonaro'

Governador de São Paulo, João Doria (PSDB), durante coletiva de imprensa sobre medidas de combate ao coronavírus no Palácio dos Bandeirantes, em São Paulo - Roberto Casimiro/Estadão Conteúdo
Governador de São Paulo, João Doria (PSDB), durante coletiva de imprensa sobre medidas de combate ao coronavírus no Palácio dos Bandeirantes, em São Paulo Imagem: Roberto Casimiro/Estadão Conteúdo

Lucas Borges Teixeira, Stella Borges e Allan Brito

Do UOL, em São Paulo

10/12/2020 13h13

O governador de São Paulo, João Doria (PSDB), voltou a pressionar o governo federal para a adoção nacional da CoronaVac, em coletiva nesta quinta (10). Dirigindo-se ao presidente Jair Bolsonaro (sem partido), o tucano cobrou uma manifestação "clara e objetiva" do Ministério da Saúde sobre a inclusão da vacina no PNI (Programa Nacional de Imunizações).

A referência direta a Bolsonaro, que já chamou a CoronaVac de "vacina do Doria", tem sido uma constante nas coletivas de imprensa do governo paulista. Em um aceno, o ministro da Saúde, Eduardo Pazuello, afirmou na manhã desta quinta que comprará a CoronaVac, caso ela seja registrada na Anvisa. Nesta tarde, Doria seguiu pressionando.

Convido presidente Jair Bolsonaro: salve vidas dos brasileiros que o elegeram ou não. Somos todos brasileiros. Cada vida importa, Bolsonaro. Cada dia perdido são mais pessoas mortas no Brasil João Doria, governador de São Paulo

O governo paulista segue com a data de 25 de janeiro para início da imunização no estado, embora a vacina ainda não tenha aprovação da Anvisa (Agência Naiconal de Vigilância Sanitária) para ser distribuída.

"Adotem a vacina do Butantan, que vocês sabem que é eficaz e vai ajudar a salvar vidas. A Anvisa também sabe que, ainda que tenha que proceder seus protocolos ao longo de 30 dias — e nos vamos aguardar de 15 de dezembro até 15 de janeiro —, todos sabem que esta é uma vacina que poderá imunizar milhões" questionou Doria.

Durante reunião com governadores na terça (8), Pazuello foi cobrado por Doria sobre as razões de o governo federal não ter investido recursos na CoronaVac. A resposta veio na manhã de hoje.

"Em português claríssimo, sim, vamos comprar as vacinas, caso sejam registradas e comprovadas com o preço dentro da lógica correta", assegurou o ministro, em entrevista à rádio Jovem Pan.

Isso não é uma garantia de que o governo incorporará a vacina ao PNI. Em outubro, Pazuello já havia feio até um documento de compra de 46 milhões de doses da CoronaVac, mas foi desautorizado publicamente por Bolsonaro.

"Não compraremos vacina chinesa", declarou o presidente.