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

Covas diz não ter condição de decretar lockdown e que decisão é do estado

Prefeito Bruno Covas (esq) ao lado do governador João Doria - PAULO GUERETA/AGÊNCIA O DIA/ESTADÃO CONTEÚDO
Prefeito Bruno Covas (esq) ao lado do governador João Doria Imagem: PAULO GUERETA/AGÊNCIA O DIA/ESTADÃO CONTEÚDO

Do UOL, em São Paulo

17/05/2020 12h31Atualizada em 17/05/2020 15h41

O prefeito de São Paulo, Bruno Covas (PSDB), disse hoje que não há condições para que a capital, sozinha, decrete um lockdown como forma de combate à disseminação do novo coronavírus. Segundo ele, essa é uma decisão que cabe ao comitê de Saúde da gestão do governador João Doria (PSDB).

"[A capital] não tem poder de polícia, e vivemos em uma região metropolitana. Temos mais de 1.700 ruas que começam em uma cidade e terminam na outra. Portanto, fica impossível que isso seja feito de forma isolada", disse o prefeito.

Na última sexta-feira (15), Doria afirmou que o protocolo para que seja decretado o lockdown está pronto, mas que não há previsão de que ele seja adotado no momento.

Hoje, Covas afirmou que há um diálogo entre prefeitura e governo do estado sobre a necessidade de lockdown.

"É uma questão que está sendo debatida dentro do comitê de Saúde criado por ele [Doria], do qual inclusive o secretário [municipal de Saúde] Edson Aparecido faz parte. É um tema que estamos debatendo com o governo do estado", afirmou.

Perguntado sobre a impopularidade do lockdown, Covas afirmou que "não nasceu prefeito de São Paulo" e não tem problemas em deixar de ser prefeito caso a medida representa uma perda de votos.

"Não tem sentido, eu sendo prefeito de São Paulo, não fazer aquilo que acredito que deve ser feito", disse.

Volta ao rodízio tradicional

Covas também anunciou hoje que o novo esquema de rodízio, aplicado a 50% da frota de veículos da cidade, será suspenso a partir de amanhã. Com isso, voltará a vigorar o esquema de rodízio normal na capital.

Segundo ele, a decisão foi tomada porque o novo modelo de rodízio não ajudou a melhorar as taxas de isolamento na capital. O prefeito ainda fez um apelo para que, apesar da suspensão do megarrodízio, a população fique em casa. "Isso não pode ser desculpa para as pessoas irem às ruas", disse o prefeito.

O novo rodízio foi implementado pela gestão Covas na capital na última segunda-feira (11). O sistema permitia que veículos com placa de final par trafegassem apenas em dias pares; de final ímpar, em dias ímpares.

Decretado para incentivar o isolamento social, o novo rodízio logo foi alvo de críticas e questionamentos na Justiça. Um dos problemas mais citado foi o fato de que o sistema acabou gerando aglomerações nos transportes públicos.