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

Mulher processa recrutador após receber 'nude' pelo LinkedIn

Getty Images
Imagem: Getty Images

Polly Mosendz e Rebecca Greenfield

14/06/2017 13h54

(Bloomberg) -- O Tinder é para encontros. O Facebook é para amizades. O LinkedIn é para... bom, depende de quem responde à pergunta.

A plataforma de networking profissional foi criada para conectar os usuários com colegas, clientes e possíveis futuros chefes, mas em alguns casos o comportamento no site pode ar longe da diplomacia de uma sala de conselho de istração.

Em ação judicial aberta na noite de terça-feira (13) em Los Angeles, uma profissional de nível médio da indústria financeira identificada apenas como "Fulana de Tal" alegou que uma conversa sobre recrutamento realizada pelo LinkedIn ganhou contornos inadequados quando ela recebeu mensagens com teor sexual de um executivo bancário que estava usando sua conta corporativa e vinha tentando contratá-la. Uma das mensagens incluiu uma fotografia de seu órgão genital.

As mulheres reclamam há tempos de condutas desagradáveis no LinkedIn, mas no processo aberto no Tribunal Estadual da Califórnia (pelo escritório de advocacia do advogado-celebridade Mark Geragos), Fulana argumenta que o empregador é responsável pelo comportamento do funcionário na plataforma.

O LinkedIn é uma extensão do ambiente de trabalho, equivalente a comparecer ao escritório ou participar de um evento de networking corporativo, segundo a tese apresentada no processo. Assim como não se deve flertar em uma teleconferência, não se deve fazê-lo no LinkedIn. Se o fizer, você e sua empresa podem pagar por isso.

Entre dezembro de 2015 e março deste ano, Fulana, que trabalha para uma empresa da Fortune 500 na Califórnia, e Aaron Eichler, identificado no processo como diretor-gerente da SunTrust Robinson Humphrey, uma unidade do SunTrust Banks, trocaram várias dezenas de mensagens.

Os dois se conheceram quando Fulana, em um emprego anterior, trabalhou em um acordo que envolveu a empresa de Eichler, disse Fulana em entrevista. Eichler inicialmente mandou uma mensagem a Fulana sobre possíveis oportunidades de emprego.

Quando Fulana demonstrou interesse em saber mais, as mensagens perderam o tom profissional, alega ela. "E aí, o que você está fazendo acordada tão tarde?! Este é o meu telefone se você quiser brincar", escreveu Eichler, segundo documentos judiciais.

Posteriormente, ele acrescentou que aquilo poderia ser um "segredo da madrugada" antes de enviar uma foto explícita, alegou ela. Como Fulana não respondeu, ele escreveu "uh, acho que estraguei tudo :( que pena".

A ação judicial pede uma indenização não especificada por assédio sexual, imposição intencional de sofrimento emocional e retenção e supervisão negligentes.

"Nós tomamos acusações dessa natureza muito seriamente. Não toleramos conduta de assédio e tomamos medidas apropriadas segundo o caso", disse um porta-voz do SunTrust antes da abertura da ação judicial. "Quando soubemos das acusações, iniciamos uma investigação, que está em andamento."

O LinkedIn incentiva seus membros a denunciar casos de assédio sinalizando as conversas como "inapropriadas ou ofensivas". A companhia informou que investiga incidentes para tomar uma "ação adequada", entre as quais está a expulsão da plataforma. Além de denunciá-los, os membros também podem bloquear os abusadores.

O perfil de Eichler continua ativo no LinkedIn. Em entrevista por telefone, Fulana disse que ficou chocada ao receber a foto, mas que não sabia como bloqueá-lo no aplicativo do LinkedIn. Eichler não deu retorno imediato aos pedidos de comentário.