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

Coronavírus: SP tem recorde de 4.092 casos em 24 horas

13.mai.2020 - Movimentação em São Paulo em meio à pandemia do novo coronavírus - Fábio Vieira / Estadão Conteúdo
13.mai.2020 - Movimentação em São Paulo em meio à pandemia do novo coronavírus Imagem: Fábio Vieira / Estadão Conteúdo

Bruno Ribeiro e Mariana Hallal

São Paulo

16/05/2020 10h07

O Estado de São Paulo chegou a 58.378 pessoas infectadas com o novo coronavírus, das quais 4.501 morreram, segundo dados divulgados ontem pelo governo do Estado. O dado representa novo recorde de registros em 24 horas, 4.092.

Para se ter ideia, o Estado demorou entre 26 de fevereiro e 3 de abril para chegar ao total de 4 mil casos, número equivalente ao registrado entre quinta e sexta-feira. Também foram registradas 187 novas mortes no período.

O recorde anterior de novos casos havia sido no dia 5, quando se chegou a 3,8 mil registros em um dia. Segundo o secretário estadual da Saúde, José Henrique Germann, a taxa de ocupação de leitos de unidade de terapia intensiva (UTIs) na região metropolitana é de 84,4%. No interior, é de 68,8%. Ao todo, o Estado tem 3.904 pessoas internadas em UTIs e outras 6.205 em enfermaria.

O novo coronavírus já está em 70,5% das cidades do Estado de São Paulo e, segundo o governo estadual, mais de 40% das infecções e mortes pela covid-19 referem-se a pessoas que moram no interior, litoral e Grande São Paulo.

O governador João Doria (PSDB) anunciou ontem a compra de 2 milhões de testes rápidos. Em abril, o Estado já havia comprado 1,3 milhão de testes, totalizando R$ 199 milhões em investimento. Os exames serão aplicados em parceria com o Centro Paula Souza.

Com isso, São Paulo inicia um plano de testagem dividido em três fases, conforme detalhou o prefeito Bruno Covas (PSDB). A primeira etapa, que começa na segunda-feira, tem como objetivo examinar 145 mil servidores das forças de segurança pública em 20 dias.

O atendimento será feio por meio de agendamento em aplicativo para evitar aglomerações. O Estado afirmou que esse modelo também deve ser ampliado para profissionais da área da saúde que atuam em serviços estaduais e municipais, mas não explicou como isso vai funcionar.

A segunda fase deve testar parentes de pacientes com os sintomas da doença e, na terceira fase, pessoas com sintomas da doença, mas que estavam em casa. "Esses pacientes não estavam sendo atendidos até então porque existe a recomendação de que fiquem em casa", disse Covas. O governo também preparou uma estratégia de contenção entre as pessoas privadas de liberdade e os idosos que vivem em asilos e abrigos. O Estado garantiu que, quando houver casos suspeitos, uma equipe de saúde será deslocada para coletar a amostra. Não foi anunciado um plano de testagem em massa entre essas populações.

Meta

Com o incremento dos exames, o Estado pretende chegar ao índice de 27 mil testes por milhão de habitantes, próximo do nível de países como Itália e Espanha. As informações são do jornal O Estado de S. Paulo.