;(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
Logo Pagbenk Seu dinheiro rende mais
Topo

IBGE: Greve de caminhoneiros em 2018 explica alta na indústria em maio/19

Caminhões parados em posto de combustível às margens da rodovia Presidente Dutra durante a greve do ano ado - Fábio Motta/Estadão Conteúdo
Caminhões parados em posto de combustível às margens da rodovia Presidente Dutra durante a greve do ano ado Imagem: Fábio Motta/Estadão Conteúdo

Daniela Amorim

Rio

02/07/2019 10h36

O avanço de 7,1% na produção industrial em maio de 2019 na comparação com o mesmo mês do ano ado foi impulsionada por uma base de comparação baixa, decorrente da greve de caminhoneiros, que derrubou o desempenho da indústria brasileira em maio de 2018, ressaltou André Macedo, gerente da Coordenação de Indústria do Instituto Brasileiro de Geografia e Estatística (IBGE).

Em maio deste ano, 21 das 26 atividades industriais investigadas registraram expansão ante maio de 2018, segundo os dados da Pesquisa Industrial Mensal - Produção Física.

"A questão de ter essas taxas mais elevadas, com a indústria avançando 7,1%, e mais do que isso, esse perfil disseminado de expansão têm relação direta com a base de comparação baixa. Lembrando que em maio do ano ado houve a greve de caminhoneiros, e, além disso, é considerada a influência do efeito calendário, com um dia útil a mais [em maio de 2019 em relação a maio de 2018]", acrescentou Macedo.

O principal impacto positivo para o total da indústria foi do avanço de 37,1% na fabricação de veículos automotores, reboques e carrocerias, seguido da alta de 16,2% nos produtos alimentícios (16,2%).

Outras contribuições positivas relevantes foram de bebidas (23,9%), máquinas e equipamentos (14,5%), produtos de minerais não metálicos (16,3%), celulose, papel e produtos de papel (14,5%), produtos de metal (14%), máquinas, aparelhos e materiais elétricos (16,3%), metalurgia (6,1%), outros produtos químicos (6,1%), confecção de artigos do vestuário e órios (14,2%), produtos de borracha e de material plástico (7,8%) e móveis (18,6%).

Na direção oposta, a principal contribuição negativa foi das indústrias extrativas, com queda de 18,2%, ainda como consequência do rompimento da barragem da Vale na região de Brumadinho, em Minas Gerais, em janeiro deste ano. "O setor de extração mineral não foi diretamente afetado pela greve de caminhoneiros em maio de 2018", lembrou Macedo.

Outras contribuições negativas significativas foram da fabricação de coque, produtos derivados do petróleo e biocombustíveis (-3,3%), outros equipamentos de transporte (-11,7%) e manutenção, reparação e instalação de máquinas e equipamentos (-8,5%).