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

Patrick Dempsey saiu de 'Grey's Anatomy' por 'aterrorizar' o set

Patrick Dempsey "aterroizava" o set de filmagens de Greys Anatomy - Divulgação
Patrick Dempsey 'aterroizava' o set de filmagens de Greys Anatomy Imagem: Divulgação

Colaboração para Splash

16/09/2021 16h55

A saída de Patrick Dempsey de Grey's Anatomy, em 2015, pegou muitos fãs de surpresa, já que ele e Ellen Pompeo formavam um dos casais preferidos da série.

Porém, segundo o livro escrito pela jornalista Lynette Rice, "How to Save a Life: The Inside Story of Grey's Anatomy" - "Como Salvar uma Vida: A História Interior de Grey's Anatomy", em tradução livre, o real motivo do astro ter deixado a série é complexo.

O intérprete de Derek Shepherd foi acusado de mau comportamento e de se desentender com a criadora da série, Shonda Rhimes.

Em um trecho divulgado pelo portal The Hollywood Reporter, o livro indica que o astro "aterrorizava o set". Para tentar resolver a situação, o produtor de "Grey's Anatomy" James D.Parriott foi contratado para ajudar apaziguar a situação.

"Não era assédio sexual de forma alguma. Ele meio que estava aterrorizando as filmagens. Alguns membros do elenco tinham todos os tipos de transtorno pós traumático por causa dele. Patrick tinha esse controle no set em que sabia que poderia parar a produção e assustar as pessoas e também não gostava de ir trabalhar diariamente. Ele e Shonda viviam brigando um com o outro", afirmou.

O livro também traz o lado do ator explicando o porquê do mau comportamento no set:

"São dez meses, quinze horas por dia. Você nunca sabe sua programação, então seu filho pergunta: 'O que você vai fazer na segunda-feira?' E você diz: 'Não sei', porque não sei minha programação. Fazer isso por onze anos é um desafio. Mas você tem que ser grato porque é bem recompensado, então você realmente não pode reclamar porque você realmente não tem o direito. Você não tem controle sobre sua programação. Então, você só precisa ser flexível".

A outra produtora do programa Jeannine Renshaw revelou que a gota d'água foi quando Shonda viu o comportamento errático do ator com seus próprios olhos: "Shonda teve que dizer à emissora: 'Se ele não for, eu vou'. Ninguém queria que ele fosse embora, porque ele era o programa. Ele e Ellen [Pompeo]. Patrick é um amor. Isso te confunde, ele ter aquele comportamento", finalizou a produtora.