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

Justiça condena empresa a indenizar trabalhadora que era ofendida por chefe

Ex-funcionária era chamada de feia e esquisita; empresa terá que pagar R$ 8 mil de indenização - Getty Images
Ex-funcionária era chamada de feia e esquisita; empresa terá que pagar R$ 8 mil de indenização Imagem: Getty Images

Elisângela Baptista

Colaboração para Universa, em Juiz de Fora (MG)

18/03/2021 19h02

A Justiça do Trabalho de Minas Gerais condenou em segunda instância uma empresa de gestão e otimização de processos, com sede em Belo Horizonte, a pagar indenização de R$ 8 mil a uma ex-empregada. O motivo da condenação seria assédio moral, perseguição e humilhação. A trabalhadora alegou que era chamada constantemente de feia e esquisita pelo seu chefe.

No processo, a empregada contou que sofria pressões psicológicas e era vítima de agressões verbais e de cunho racista na frente dos colegas. Em um dos depoimentos, uma testemunha confirmou o tratamento diferenciado que a funcionária recebia.

"Ele fazia comentários, dizendo que não gostava dela, que achava ela feia, esquisita, e que não gostava de conversar diretamente com ela, tanto que sempre pedia para que outros assem os recados", reportou.

Ainda segundo os relatos da testemunha, as ofensas aconteciam também na ausência da ex-empregada. Por não achar correto este tipo de conduta, a colega que presenciava todas as agressões chegou a pedir ao supervisor que parasse, mas ele achou graça e riu, segundo ela.

A defesa da empresa alegou que a autora não procedeu da forma correta em relação à exposição do assédio moral, uma vez que ela não utilizou o canal de denúncia anônima da firma que serve para estes fins. Apesar das alegações, a desembargadora Cristiana Maria Valadares Fenelon, considerou que a prova testemunhal convenceu, de fato, a respeito do assédio alegado.

Quanto ao argumento do empregador, a desembargadora entendeu que a não-utilização do canal de denúncia pela ex-empregada não descaracterizava o ato ilícito.

"Comungo do entendimento adotado pelo juízo de primeiro grau quanto à intimidação exercida pelo supervisor, que teceu comentários indiretos maliciosos e discriminatórios em face da autora. Indiscutível, portanto, o dano moral", avaliou a desembargadora.

A empresa foi condenada a pagar R$ 8 mil pela perseguição injusta e vexatória, segundo a desembargadora.