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

Bolsonaro diz que vai revogar MP que permite suspender salário por 4 meses

Do UOL, em São Paulo

23/03/2020 08h17Atualizada em 23/03/2020 15h47

O presidente Jair Bolsonaro (sem partido) editou hoje uma MP (medida provisória) que autoriza suspensão do contrato de trabalho por até quatro meses, com suspensão de salário dos empregados. Depois, Bolsonaro voltou atrás e disse que ordenou a revogação deste ponto da MP.

A suspensão dos contratos faz parte de um conjunto de ações do governo para tentar combater os efeitos econômicos da pandemia do novo coronavírus. Pelo texto publicado, a empresa teria que oferecer ao trabalhador um curso ou programa de qualificação profissional e manter benefícios, como plano de saúde.

Segundo a MP, o empregador poderá conceder ao empregado ajuda compensatória mensal, "sem natureza salarial", "com valor definido livremente entre empregado e empregador, via negociação individual."

A medida foi publicada ontem à noite no Diário Oficial e a a valer imediatamente, mas precisa ser aprovada pelo Congresso no prazo de até 120 dias para não perder validade e valerá durante o estado de calamidade pública em razão da pandemia, com prazo definido até o fim do ano.

Pelo texto, a negociação não dependerá de acordo ou convenção coletiva, podendo ser acordada individualmente com o empregado e será registrada em carteira de trabalho.

O documento diz ainda que, "para enfrentamento dos efeitos econômicos decorrentes do estado de calamidade pública e para preservação do emprego e da renda", poderão ser adotadas pelo empregadores as seguintes medidas:

  • teletrabalho
  • antecipação de férias individuais
  • concessão de férias coletivas
  • aproveitamento e a antecipação de feriados
  • banco de horas
  • suspensão de exigências istrativas em segurança e saúde do trabalho,
  • direcionamento do trabalhador para qualificação
  • diferimento do recolhimento do FGTS

A MP diz, na seção sobre o teletrabalho, que "o empregador poderá, a seu critério, alterar o regime de trabalho presencial para o teletrabalho, o trabalho remoto ou outro tipo de trabalho a distância".

Na seção de férias, o documento diz que "o empregador poderá optar por efetuar o pagamento do adicional de um terço de férias após sua concessão".

"É preciso que se ofereça instrumentos para que empresas e empregados consigam superar esses momentos de turbulência, até chegamos ao momento pós-pandemia, e a economia volta a se estabilizar em níveis similares aos anteriores à crise. Nesse momento, interesses de empresa e de empregadores são convergentes: a preservação do emprego e da renda", disse o secretário de Trabalho do Ministério da Economia, Bruno Dalcolmo, na quarta-feira (18), na semana ada.

* Com Estadão Conteúdo