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

SP anuncia regras de reabertura e quer garantir emprego de mulheres

Felipe Pereira

Do UOL, em São Paulo

28/05/2020 12h49

O prefeito de São Paulo, Bruno Covas (PSDB), detalhou hoje o plano de flexibilização da quarentena na capital do estado. Para voltar às atividades, os setores econômicos precisam ar por um fluxo de aprovação criado pela prefeitura, que inclui análise dos protocolos de funcionamento pela vigilância sanitária. Foi pedido atenção às mulheres porque as escolas e creches não reabrirão e o cuidado dos filhos culturalmente recai sobre elas, que terão emprego ameaçado.

Um decreto será publicado até o dia 1º de junho para tratar do tema e os setores deverão enviar as propostas para um site criado pela istração municipal (www.prefeitura.sp.gov.br/retomada). A proposta precisa cumprir parâmetros sanitários mínimos que foram definidos pelo governo do estado para cidades na fase 2, classificação recebida por São Paulo.

A Secretaria Municipal de Desenvolvimento Econômico e Trabalho vai receber os protocolos, avaliar se eles atendem aos requisitos mínimos e só então serão validados pela vigilância sanitária. As propostas devem cumprir as exigências de conter cuidados de saúde, higiene, fiscalização, autorregulação, proteção de consumidores e funcionários e política de comunicação das regras.

Situação de mães deve ser contemplada por protocolos

Será necessário também uma atenção a situação das mulheres. Como escolas e creches não reabrirão, é necessário cuidar dos filhos, tarefa que geralmente cabe às mães. A Prefeitura pede uma política especial para que elas não percam o emprego por não ter onde deixar as crianças.

"Outras preocupações já aparecem aqui na Prefeitura. A primeira delas, de que forma nos vamos ter uma reabertura destas atividades sem prejudicar as mulheres. Por quê? Porque as escolas, as creches não serão reabertas, e de que forma nós vamos garantir que não haja o desemprego da mulher trabalhadora. Porque é sempre sobre a mulher que recai a obrigação de cuidar dos filhos. Este tema e outros, os setores precisam vim discutir com a Prefeitura de São Paulo para que a gente não aumente desigualdade aqui na cidade".

Segundo o plano chamado "Retomada Consciente", apresentado ontem pelo governador João Doria (PSDB), o município de São Paulo está apto a entrar na fase 2. O novo cenário permite a volta de atividades imobiliárias, concessionárias de veículos, escritórios, comércio e shoppings. Os setores podem voltar com restrições.

De acordo com o prefeito, não há uma data específica para que os setores voltem a funcionar. A retomada só vai ocorrer depois do aval da vigilância sanitária. Ele ainda disse que é preciso seguir as normas para não haver retrocesso.

"Não pode repetir o erro de várias outras cidades que começaram a reabrir e depois voltaram atrás", afirmou.