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

Covid: SP estuda incluir motoristas do transporte escolar em vacinação

Rossieli Soares defendeu a volta às aulas em São Paulo - Divulgação/Governo do Estado de São Paulo
Rossieli Soares defendeu a volta às aulas em São Paulo Imagem: Divulgação/Governo do Estado de São Paulo

Colaboração para o UOL

12/04/2021 09h15

O secretário estadual de Educação de São Paulo, Rossieli Soares, disse hoje que cogita incluir os motoristas do transporte escolar como a próxima categoria a ser vacinada contra o novo coronavírus. Desde sábado (10), o estado ou a imunizar os profissionais da Educação contra a covid-19.

"A vacinação é para todos os profissionais de educação, especialmente para quem está lá na sala de aula, quem está lá na escola (...) (A gente está estudando) ampliar mais para as equipes de gestão que ainda não estão contempladas neste momento", disse o secretário, em entrevista à CNN.

No momento, a imunização está sendo feita em secretários, auxiliares de serviços gerais, faxineiras, mediadores, merendeiras, monitores, cuidadores, diretores, vice-diretores, professores de todos os ciclos da educação básica, professores coordenadores pedagógicos, além de professores temporários.

De acordo com Rossieli, no primeiro dia de vacinação dos trabalhadores do setor, mais de 50 mil pessoas foram imunizadas na capital paulistana. A previsão é vacinar 350 mil profissionais com 47 anos ou mais que atuam nas escolas públicas e particulares de ensino infantil e básico.

Acompanhei a primeira vacinação e foi muito emocionante ver os profissionais da Educação iniciarem esse processo
Rossieli Soares

Volta às aulas

Com a volta para a fase vermelha do Plano São Paulo, a capital paulistana retomou as aulas presenciais hoje. Apesar disso da liberação, nem todas as escolas particulares decidiram reabrir. Já na rede estadual, as aulas voltam na quarta-feira (14).

"Desde dezembro trabalhamos com a hipótese de (a escola) ser a última coisa a fechar e a primeira coisa a abrir. Não dá para não ter a escola aberta. Não dá para não priorizar a educação", defendeu Rossieli.

O secretário afirmou que seria preciso uma nova onda de contaminação da covid-19 para que as escolas voltassem a fechar no estado. Ele afirmou que a rede estadual de ensino atendeu alunos durante a fase emergencial.

Atendemos mais de 700 mil pessoas com alimentação, uso de equipamentos e atendimento educacional para aqueles que mais precisavam. Isso inclusive foi fundamental para a continuidade de alguns estudantes
Rossieli Soares