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

Escola suspende aulas após agressão de aluno por bolsonaristas em Jundiaí

03.nov.2022 - Grupo bolsonarista invade e agride estudantes em SP - Arquivo pessoal
03.nov.2022 - Grupo bolsonarista invade e agride estudantes em SP Imagem: Arquivo pessoal

Colaboração para o UOL, em Salvador

04/11/2022 16h25Atualizada em 04/11/2022 16h48

Após estudantes da ETECVAV (Escola Técnica Vasco Antônio Venchiarutti), em Jundiaí (SP), serem agredidos por bolsonaristas ontem enquanto tentavam furar o bloqueio próximo à rodovia Anhanguera, a instituição de ensino suspendeu hoje as aulas.

Um funcionário do colégio confirmou ao UOL a suspensão da aula. Ele justificou que a medida foi adotada pela escola "para evitar que algo grave aconteça de novo".

A agressão ocorreu quando o ônibus que transportava os alunos ou em frente ao 12º GAC (Grupo de Artilharia de Campanha), onde ocorria um ato antidemocrático a favor do presidente Jair Bolsonaro (PL), derrotado nas eleições presidenciais deste ano para Luiz Inácio Lula da Silva (PT).

Na ocasião, um dos estudantes revoltou bolsonaristas após fazer um "L" pela janela, como gesto de apoio ao presidente eleito Lula.

Em vídeos obtidos pelo UOL, é possível ver homens indo em direção ao ônibus lotado com estudantes da ETECVAV. Na gravação, também conseguimos ouvir estudantes gritando em desespero enquanto pedem para o motorista abrir a porta.

Em outra filmagem, bolsonaristas chamam os estudantes de "seus bostas" enquanto o agressor avança para o fim do veículo. Eles obrigam um estudante a descer do ônibus. "Mete o pé, vai embora", gritam os estudantes, quando o homem começa a agredir os jovens.

Procurada, a SSP (Secretária de Segurança Pública) confirmou que os "dois adolescentes que estavam em um transporte escolar ficaram feridos após serem agredidos enquanto o veículo ava por uma manifestação nesta quinta-feira, em Jundiaí".

O caso foi apresentado no 1º Distrito Policial do município, onde o boletim de ocorrência foi registrado.