;(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: 'Escolas estaduais reabrem a partir de 14 de abril', diz secretário

Rede pública estadual volta a ter atividades presenciais com retorno do estado para a fase vermelha do Plano São Paulo - iStock
Rede pública estadual volta a ter atividades presenciais com retorno do estado para a fase vermelha do Plano São Paulo Imagem: iStock

Lucas Borges Teixeira, Rafael Bragança e Davi Medeiros

Do UOL, em São Paulo, e colaboração para o UOL

09/04/2021 13h23

O secretário estadual da Educação de São Paulo, Rossieli Soares, disse hoje que as aulas presenciais na rede estadual de ensino voltam na próxima quarta-feira (14). O retorno é possível porque o governo paulista anunciou hoje o fim da fase emergencial a partir da próxima segunda (12).

Na semana que vem, começa a vigorar a fase vermelha do Plano São Paulo, menos restritiva em relação à emergencial. Mesmo assim, apenas atividades essenciais podem funcionar. A educação está nesta lista por uma decisão recente da gestão do governador João Doria (PSDB).

"As escolas estaduais reabrem a partir de 14 de abril", afirmou Rossieli durante entrevista coletiva sobre a pandemia. "Na verdade, continuam abertas, mas vão começar a receber outro público. Dias 12 e 13 de abril devem ser aproveitados para organizar e conversar com as famílias", completou o secretário.

A abertura de escolas municipais e particulares depende de decisões das prefeituras. Na capital, o prefeito Bruno Covas (PSDB) decidiu hoje pela liberação das aulas presenciais já na segunda-feira (12). Anteriormente, ele havia dito que as atividades não voltariam enquanto durasse a fase emergencial, que terminará no domingo (11).

Na rede estadual, seguem valendo as regras da fase vermelha que já vigoravam antes do início da fase emergencial, em 15 de março. As escolas não podem ter mais de 35% de ocupação e a presença nas aulas não é obrigatória para os alunos.

Rossieli também lembrou que, se houver necessidade de priorização dos alunos que terão atividades presenciais, o governo paulista já estabeleceu alguns critérios.

"Lembrando que na rede estadual vamos estar focados em alunos com severa defasagem de aprendizado, dificuldade de o a tecnologia, alunos com necessidade de alimentação escolar e alunos cujos responsáveis trabalhem em serviços essenciais, e alunos com saúde mental em risco", disse o secretário.

Vacinação de professores

Na coletiva, Rossieli Soares também anunciou a antecipação da vacinação para professores e profissionais ligados à educação. Com prioridade para trabalhadores com mais de 47 anos, a imunização começa já amanhã (10). Antes, estava prevista para segunda.

Para se vacinar, o profissional da educação precisará fazer um cadastro e obter autorização do governo. Professores e demais funcionários terão que preencher o formulário no site "Vacina Já", e as informações serão cruzadas com bancos de dados do estado e do Censo Escolar. Quem atua na rede privada terá de anexar também os holerites de fevereiro e março. De acordo com o governo, o objetivo é evitar fraude.

Já os funcionários terceirizados terão de informar o CNPJ da empresa com contrato ativo. Os profissionais da educação que atuarem em duas escolas deverão informar apenas uma delas.