Posição Frontend Engenharia na equipe de estratégia de abertura Yahoo!
26 de maio de 2009 às 12:32 por Eric Miraglia | Em Engenharia Frontend em Yahoo | Comments OffNotamos algumas posições frontend poucos engenharia disponíveis no Yahoo! na semana passada, e temos outro para compartilhar com vocês hoje. Esta posição é um papel F2E sênior foco em Yahoo! 's plataformas para desenvolvedores - a nossa "estratégia de abertura", ou Yos .
Sobre Yos
O Yahoo! equipe de estratégia de abertura está a construir a próxima geração de plataformas abertas e integrá-las em cada parte do Yahoo!. De plataformas que adicionam um elemento social de todos os aspectos da Yahoo!, a uma plataforma de aplicativos e desenvolvedores focados ofertas, a equipe Yos é encarregado de transformar as obras Yahoo! maneira. Na construção de todas as componentes do Yos, a equipe está focada na implementação de sistemas distribuídos que são altamente escalável e de alto desempenho para que possam servir de forma confiável centenas de milhões de usuários do Yahoo! e desenvolvedores de todos os dias.
Definição do trabalho
Você fará parte da equipe de engenharia que se concentra na plataforma Yahoo! aplicação (YAP), que permite aos desenvolvedores criar aplicações web que estão disponíveis em todo Yahoo! - a maior audiência no mundo. Você vai contribuir para a arquitetura, design e implementação de funcionalidades e serviços inovadores para esta plataforma. Você vai trabalhar em estreita colaboração com o resto da equipe de engenharia, gerentes de produto, engenheiros de controle de qualidade e parceiros externos que constroem aplicações nesta plataforma.
Qualificações mínimas
- 7 + anos de experiência na indústria trabalhando diretamente com a pilha cheia tecnologia web: navegadores, servidores web e bancos de dados
- Comando forte de tecnologias navegador do lado do cliente, incluindo Ajax, XHTML, DHTML, CSS, JavaScript, JSON DOM, as questões de compatibilidade cross-browser, técnicas de otimização e questões de internacionalização
- Experiência com desenvolvimento de aplicações utilizando Java ou PHP
- Comando forte de cliente / servidor programação com AJAX
- Excelente escrita e habilidades de comunicação verbal
- Ampla experiência com as técnicas de projeto orientado a objetos e desenvolvimento
- A familiaridade com o ciclo de vida de desenvolvimento e melhores práticas
- Bacharel em Ciência da Computação ou equivalente. MS em Ciência da Computação preferido
Qualificações preferidos
- Conhecimento do uso de toolkits de Javascript, como YUI ou jQuery
- Experiência com JSP compilador implementação
- Experiência com aplicação social ou Shindig Aberto
Você pode ver a postagem de emprego e aplicar na seguinte URL: http://careers.yahoo.com/jdescription.php?oid=22173 . Yahoo! Inc. é uma empregadora de oportunidades iguais. Para mais informações ou para pesquisar todas as nossas aberturas visite http://careers.yahoo.com .
Compartilhar e ampliar: Bookmark com del.icio.us | digg it! | reddit!
In the Wild para 26 de maio de 2009
26 de maio de 2009 às 9:36 pm por Eric Miraglia | Em In the Wild | 2 ComentáriosAqui está um resumo de notícias e notas do mundo YUI nas últimas semanas. Por favor, use os comentários abaixo para deixar-nos saber o que perdemos.
- Uizard - um gerador de Mashup Web Escrito em YUI : Grava Ajaxian: "A comunidade de desenvolvedores coreano não é que sabe para as pessoas no Ocidente que parece. As barreiras linguísticas dificultam a comunicação e web design é muito diferente do que fazemos aqui. Sendo a sorte de trabalhar com desenvolvedores de todo o mundo na mesma empresa Acabei de lembrar de uma ferramenta que foi construído para o desafio Mashup Coréia chamado Uizard "Uizard foi desenvolvido por Ryu Sung-tae -. ele os servidores são desafiados pelo link Ajaxian , mas check-out quando voltar para cima. ( fonte original. )
- Implementações YUI no Canadian National Railway : Lionel Desdier (o "railroader Java-powered") escreveu para nos dizer sobre a sua aplicação extensiva do YUI em aplicações web no Canadian National Railway . Lionel escreve: "O objetivo dessa nova aplicação Web, chamada Orders intermodais, é gerenciar ordens de contêineres vazios para uso dos nossos funcionários internos quanto para nosso uso clientes externos. Esta aplicação faz parte do nosso portal EBusiness. O cliente de aplicações web é puramente JavaScript e amplamente baseada na biblioteca YUI. O cliente usa JSON para trocar dados e para trás com o servidor que executa um back-end Java. Nós estamos usando a maioria dos componentes disponíveis a partir de layout de grade, calendário, dom, sobreposições, TreeView, DataTable e fonte de dados, etc Também ampliamos a biblioteca para criar nossos próprios componentes de marca para a empresa olhar e sentir. "O portal EBusiness está por trás um login, mas o principal cn.ca site também usa alguns YUI.
- YUI em uso na revista National Geographic Adventure : Fale sobre "in the wild" ... Entre as revistas on-line usando YUI é a revista National Geographic, um grande recurso para quem gosta de sair de suas celas e explorar os lugares mais interessantes do mundo . Você vai encontrar nas páginas do YUI magizine do artigo.
- Satyam em "Mudar o estilo de um elemento em um Widget YUI" : colaborador mais prolífico YUI é tão de volta com um novo tutorial sobre como widgets do estilo YUI . Se você não estiver familiarizado com o processo de escavação na marcação de um widget e CSS usando o Firebug (ou outro DOM inspector), você encontrará esta uma leitura obrigatória tutorial.
- Novos Dados de repovoamento Orleans Usando Google Maps e YUI : @ mattpriour escreveu para nos informar sobre o local Greater New Orleans comunitário Data Center de Indicadores de Repovoamento , que usa YUI Grids, YUI Loader, e Core YUI na geração de um genuinamente interessante bloco por bloco olhar para os níveis de população de Nova Orleans a partir de 2005 até hoje. ( fonte original. )
- YUI Compressor para Visual Studio : Escreve o autor : "Embora você não quer isso para todas as coisas na vida, você quer garantir que o seu JavaScript e CSS são tão pequenas quanto possível. Como um programador web, um minifier script é um aplicativo útil que deveria ser uma parte de seu cinto de ferramentas. Este artigo apresenta uma maneira simples de ligar um minifer populares dentro do Visual Studio. "( fonte original. )
- Uzvy.com, Grupos solução, usando toneladas de YUI : @ alokbhardwaj escreveram para nos informar sobre Uzvy.com , um site que contém grupos de grupos de discussão e "shareboards" que visa proporcionar um novo e atraente tomar no espaço de grupos. YUI é usado por toda parte, para caixas de diálogo modais, XHR, e muito mais. ( fonte original. )
- Cagatay Civici Adiciona YUI Calendário para PrimeFaces : Grava Cagatay : "Cada biblioteca de componentes JSF fornece algum tipo de componente selecionador de data e PrimeFaces não é excepção. Na verdade, PrimeFaces componente de calendário baseia-se na bem conhecida widget de calendário YUI que está equipado com algumas características únicas. Calendário é puramente javascript e não faz desnecessários callbacks ajax por isso é rápido e furioso. "
- Eric Abouaf do YQL Executar, Baseado em Grids Dav Glass Builder : Eric Abouaf tomou Dav Glass Grids Builder e adicionou suporte para YQL execução da consulta, que lhe permite construir YQL baseados em páginas facilmente; verificar a adaptação de Eric aqui . ( fonte original. )
Compartilhar e ampliar: Bookmark com del.icio.us | digg it! | reddit!
YUI Theater - Todd Kloots: "Desenvolvimento de um Accessible Web 2.0 Widget Framework"
22 de Maio de 2009 às 02:50 por Eric Miraglia | Em YUI Theater | Comments OffÀ medida que continuamos a trabalhar em YUI 3 , estamos pensando seriamente sobre a acessibilidade. E ninguém aqui está pensando mais sobre esse assunto do que Todd Kloots, que foi o autor de uma série de posts sobre o assunto , bem como apresentar uma palestra técnica abrangente sobre a arte e Ciência e do desenvolvimento acessível .
Todd falou com engenheiros frontend Yahoo! recentemente sobre as lições aprendidas no desenvolvimento dos recursos de acessibilidade para YUI 3, e estamos felizes em compartilhar essa sessão com você aqui. Para técnicas diretas para usar em seu próprio desenvolvimento, referem-se ao vídeo anterior de Todd ; esta sessão irá levá-lo para as considerações de nível superior que a estratégia guia de acessibilidade em um sistema complexo.
Slides da palestra de Todd estão disponíveis como um arquivo zipado Keynote aqui .
A incorporação do Yahoo Video segue; uma versão de alta resolução, junto com uma transcrição, está disponível a partir do site Theater YUI .
Caso você tenha perdido ...
Alguns outros vídeos recentes da série Teatro YUI :
- Satyen Desai: YUI 3: Metas de design e arquitetura
- Peter-Paul Koch (PPK): Eventos JavaScript
- Jenny Donnelly: Hacking com YUI
- Nate Koechley: Engenharia Frontend Professional
Inscrevendo-se na YUI Theater:
Compartilhar e ampliar: Bookmark com del.icio.us | digg it! | reddit!
Dois Frontend cargos de engenharia do Yahoo!
22 de maio de 2009 às 9:41 pm por Eric Miraglia | Em Engenharia Frontend em Yahoo | Comments OffQuando postar anúncios de emprego na Yahoo!, que muitas vezes prefaciar-los com o passo seguinte:
Pense sobre impacto de 1 em cada 2 pessoas on-line de forma inovadora e criativa que são exclusivamente do Yahoo!. Fazemos apenas que a cada dia, e você poderia também. Afinal, é grandes pensadores como você, que irá criar a próxima geração de experiências na Internet para consumidores e anunciantes de todo o mundo. Agora é a hora de mostrar ao mundo o que você tem. Coloque suas idéias para o trabalho por mais de meio bilhão de pessoas.
Este passo não é mais verdadeiro do que com as posições em engenharia frontend / desenvolvimento web do Yahoo!, onde os produtos e plataformas têm um alcance único e impacto. E estamos sempre à procura de engenheiros cujo talento e paixão é tão única como a oportunidade. Aqui estão algumas das posições que estamos procurando para preencher agora - posições construção no Yahoo! 's grande tradição na disciplina de engenharia frontend, utilizando e melhorando ferramentas como YUI, e ajudando a tornar a Internet mais agradável e poderoso para Yahoo ! 's de meio bilhão de usuários.
Javascript Desenvolvedor Plataforma
Localização: Sunnyvale, CA.
O Grupo Presentation Framework está construindo novas estruturas, a criação de bibliotecas e ferramentas que permitirão que outros desenvolvedores e editores para construir sites de forma rápida e eficiente. Você estará trabalhando com os gerentes de produtos e desenvolvedores para entender os requisitos e necessidades. Você vai ser a criação de especificações, concepção, implementação de ferramentas e APIs. Você estará usando bibliotecas YUI para criar a interface do usuário extensível.
Qualificações mínimas de trabalho:
- Especialista em JavaScript.
- Proficiente em escrever compatível com os padrões HTML, CSS, Ajax, DOM
- 3-4 anos de experiência em desenvolvimento de cruz navegador da aplicação
- A experiência com PHP
- Bem versado com XML
- Experimente usar YUI
- Auto partida com a capacidade de trabalhar sob pressão e lidar com múltiplas tarefas simultâneas.
- Fortes verbal e escrita habilidades de comunicação.
Para se candidatar a esta posição, por favor clique no link a seguir: http://careers.yahoo.com/jdescription.php?oid=21972 .
Yahoo! Inc. é uma empregadora de oportunidades iguais. Para mais informações ou para pesquisar todas as nossas aberturas, visite http://careers.yahoo.com .
Front-End Engineer
Localização: Sunnyvale, CA.
Quer trabalhar em uma aplicação com uma base de usuários medido em milhões e não milhares? Você está interessado em Mapas ou tecnologia Geo? Apaixonada por Front-End de Engenharia? Se sim, então nós queremos falar com você. Estamos à procura de um engenheiro motivada e experiente para se juntar à equipe Yahoo! Maps. Nesta função, você estaria trabalhando no destino Mapas ( http://maps.yahoo.com ) e ajudando a suportar mapas internos relacionados com os esforços sobre as propriedades Yahoo! outros. O candidato ideal tem fortes habilidades em tecnologias de frontend, mas é bastante confortável com a Shell Scripting
Configuração (Perl / Bash) e Apache. Você é um jogador da equipe que está focada na experiência do usuário com um grande olho do laser afiada para o detalhe. Soar como você? Vamos ouvi-lo!
Qualificações mínimas:
- BS / MS em Ciência da Computação ou equivalente
- Fortes habilidades em PHP, JavaScript / AJAX, CSS e HTML
- Capacidade para escrever limpo, código cross-browser concisa
- A experiência anterior como Engenheiro de Front-End
- Confortável em desenvolvimento em um ambiente UNIX
- Sólidos orais e escritas habilidades de comunicação
- Experimente trabalhar com XML e / ou JSON
Desejado:
- 2-4 anos de experiência em desenvolvimento de aplicações web
- Experimente configurar o Apache
- Experiência com software de controle de versão (CVS ou SVN)
- Experiência com o Yahoo! APIs (especificamente YUI e Mapas AJAX API)
- Conhecimento em qualquer dos seguintes é um plus: REPOUSO / Web Services, i18n, l10n
Para se candidatar a esta posição, por favor clique no link a seguir: http://careers.yahoo.com/jdescription.php?oid=21920 .
Yahoo! Inc. é uma empregadora de oportunidades iguais. Para mais informações ou para pesquisar todas as nossas aberturas, visite http://careers.yahoo.com .
Compartilhar e ampliar: Bookmark com del.icio.us | digg it! | reddit!
YUI Theater - Satyen Desai: "YUI 3: Metas de design e arquitetura"
12 de maio de 2009 às 01:31 por Eric Miraglia | Em YUI Theater | Comments OffA equipe aqui continua a trabalhar arduamente no codeline YUI de próxima geração, YUI 3, que é disponível como uma versão pré-lançamento hoje documentado e que está já a alimentação alguns da próxima geração do Yahoo projetos . À medida que se aproxima a versão beta neste verão, estamos gastando mais tempo falando sobre YUI 3 de características distintas. Satyen Desai, um Engenheiro Sênior na equipe YUI e um dos principais YUI 3 desenvolvedores, deu uma palestra na semana passada aqui no Yahoo sobre os objetivos do projeto do YUI 3 e as decisões de arquitetura que foram conduzidos por essas metas. Estamos felizes por partilhar o vídeo daquele evento aqui em YUI Theater.
Slides da palestra Satyen estão disponíveis como um arquivo zipado PowerPoint aqui .
A incorporação do Yahoo Video segue; uma versão de alta resolução, junto com uma transcrição, está disponível a partir do site Theater YUI .
Satyen Desai: "YUI 3: Metas de design e arquitetura" @ Yahoo! Vídeo
Caso você tenha perdido ...
Alguns outros vídeos recentes da série Teatro YUI :
- Peter-Paul Koch (PPK): Eventos JavaScript
- Jenny Donnelly: Hacking com YUI
- Nate Koechley: Engenharia Frontend Professional
- John Resig: O DOM é uma bagunça
Inscrevendo-se na YUI Theater:
Compartilhar e ampliar: Bookmark com del.icio.us | digg it! | reddit!
In the Wild para 11 de maio de 2009
11 de maio de 2009 às 11:43 am por Eric Miraglia | Em In the Wild | 2 ComentáriosNotícias e notas da comunidade YUI no último par de semanas. Por favor, use os comentários para que possamos saber o que perdemos.
- Satyen Desai Talks YUI3 em WebDevRadio : Satyen (um dos principais desenvolvedores sobre o projeto YUI3 ) deu uma palestra hoje em JSConf e WebDevRadio entrevistá-lo depois. Você pode pegar a entrevista aqui .
- Mecanismo de Matt Snider do New Game YUI baseado Cartão :. O prolífico Matt Snider pesa com um novo projeto Grava Matt : "O objetivo deste sistema é construir um conjunto de fácil estender, MVC JavaScript objetos que podem ser utilizados como o backbone de qualquer sistema de jogo de cartas. Eu vou ser solitário combate jogos de cartas em primeiro lugar, e desenvolveram a arquitetura de gerenciamento de cartão, mas nem sequer começaram a projetar a arquitetura do jogo. A arquitetura do cartão consiste em três objetos: Deck, CardModel CardView. O objeto 'Deck' vai lidar com uma coleção de cartões e possui métodos para adicionar ou remover cartões, e um método aleatório usando o algoritmo de Knuth. Os jogos são jogados através da interação com o objeto 'Deck' e um desenvolvedor estender o objeto para satisfazer as necessidades de seu jogo. "Confira o blog e de demonstração .
- YUI Implementado em Limelife.com Blog Moda / celebridade : Moda e celebridades blogue LimeLife está usando uma variedade de componentes YUI, incluindo Gopal Venkatesan do YUI Carousel Controle .
- Retrevo.com site Eletrônicos Usando YUI AutoComplete e mais : Retrevo é um site de eletrônicos de consumo projetado para ajudá-lo a tomar boas decisões sobre suas compras de eletrônicos. Ele também tem um repositório fantástico de manuais de usuários - uma coisa útil para verificar para fora um produto que você está considerando comprar, ou para saber mais sobre aquele que você já possui. Retrevo usa uma variedade de componentes YUI, incluindo Widget AutoCompletar Jenny Donnelly .
- Walgreens.com Usando YUI AutoComplete : Esta não é uma nova implementação, mas é um notável - Walgreens.com , o rosto on-line da cadeia de farmácia popular, utiliza o pacote de utilitários YUI e faz excelente uso do AutoComplete YUI widget em seu principal página para implementar seu recurso de busca sugerir.
- Narayanan AR, «dar um rosto YUI em um aplicativo Web Java" : De acordo com o autor: "Construir no meu artigo anterior UIs ricos do Yahoo Web para desenvolvedores Java , que discorrem sobre como usar várias Interface do Usuário Yahoo (YUI) componentes da Web para a configuração e design, este artigo percorre utilizando YUI para desenvolver um aplicativo do mundo real. Durante o curso da execução, você vai aprender a: Deite fora os componentes, use elementos de formulário padrão e manipular eventos ".
- Curso de Andrew Burgess Crash em YUI Grids CSS : Andrew Burgess escreve que existem algumas boas razões para considerar YUI Grids CSS para conduzir seus layouts: "YUI grids usa fácil de lembrar ids e classes, e marcação limpa, uma vez que você aprende, você poderia voltar para o seu código em um mês e sei que as peças são de YUI e que cada peça faz. [Arquivo grátis hospedagem em yui.yahooapis.com] reduz sua carga duas vezes: não há necessidade de hospedar o arquivo em seu servidor, bem como mais rápido carregamento da página se o cliente tiver o arquivo em cache ... Yahoo tem cozido em larguras de barra lateral que correspondem com a Interactive Advertising Bureau de diretrizes visitantes. [E] com vários modelos e capacidade de regiões da página do ninho, o Yahoo pretende oferecer mais de 1000 combinação layout. . . tudo em menos de 5kb. " Confira o seu tutorial completo para mais.
- YUI Sighting - Tweetium, Parque Twitter API do @ carolskelly : Carol Skelly configurar um explorador pouco agradável para a API do Twitter usando YUI e jQuery - confira no site da http://tweetium.com/ . ( fonte original. )
- Tutorial: Norman Kosmal, "Ocultar e mostrar colunas de uma DataTable YUI usando caixas de seleção" : O título diz tudo - Norman Kosmal blogs este tutorial sobre amarrar o mostrar / esconder API coluna em YUI DataTable para uma interface checkbox.
- Em profundidade em Cookies com YUI Autor Utility Cookies : Nicholas C. Zakas, autor do Utilitário de Cookies YUI entre outros projetos de virtuosos, tem um artigo detalhado sobre os cookies do navegador até em seu blog . Nicholas escreve: "cookies HTTP, mais frequentemente chamado apenas de 'cookies', foram em torno de um tempo, mas ainda não muito bem compreendido. O primeiro problema é uma série de equívocos, que vão desde os cookies como spyware ou vírus à ignorância simplesmente sobre como eles funcionam. O segundo problema é a falta de interfaces consistentes para trabalhar com cookies. Apesar de todos os problemas que os cercam, os cookies são uma parte tão importante de desenvolvimento web que, caso eles desaparecem sem um substituto, muitas de nossas aplicações web favoritas seria inútil. " Confira o seu artigo para mais , incluindo uma ou duas notas sobre YUI apoio Cookie.
- Tom Clancy, "YUI Editor de Rich Text no Django Admin" : Tom Clancy já postou suas notas sobre o uso de Dav Glass YUI Editor de Rich Text para melhorar Django Admin. ( fonte original. )
-
Caridy Patino Mayea em Usando recursos de bootstrapping YUI : Caridy, autor do popular Bubbling Biblioteca extensões para YUI, escreve com uma nova postagem no blog sobre a inicialização: "Neste artigo, vou me concentrar em YUI 2.x e, especificamente, como você pode projetar seu aplicativo para usar o YUI on-demand capacidades de tal forma que a transição para YUI 3.x vai ser simples. O principal objetivo é descrever como podemos usar YUI para organizar o código e aprender a lidar com os processos sob demanda de carga ... " Confira o seu post completo para obter mais detalhes . - Konamicode de Matt Snider : Matt Snider, autor de um utilitário de armazenamento próxima YUI (. e nenhum funcionário 1 na Mint.com), oferece até Konamicode : "Recentemente, muitos sites (como espn.com e facebook.com) ter adicionado Páscoa ovos para suas bibliotecas JavaScript que são acionados pelo código do jogo Konami vídeo antigo: até cima para baixo baixo esquerda direita esquerda direita ba entrar. Enquanto isso não necessariamente melhorar a arquitetura web, faz com que seja mais divertido. Para promover mais ovos de Páscoa como essa, eu decidi escrever um script simples que faz a integração do código Konami em seu site trivial. " Você pode ler sobre a Konami Facebook easter egg no TechCrunch .
-
Slides Dav Glass do Dia Open Hack em Londres : Dav deu uma palestra sobre YUI 3 para o Dia do Yahoo Open Hack, em Londres. Ele blog sobre o evento e postou seus slides para Slideshare , para aqueles que não puderam estar lá em pessoa. YDN tem um bom blog postar sobre o evento em YDNBlog bem . - Extensões TYPO3 Apoio YUI CSS e RTE : De acordo com seu site, "TYPO3 é um sistema aberto de gerenciamento de conteúdo para propósitos empresariais na web ou em intranets. Ele oferece completa flexibilidade e ao mesmo tempo com um conjunto realizado de grande número de interfaces, funções e módulos. "Andreas Lappe escreveu para nos dizer sobre duas extensões TYPO3, uma para YUI CSS e um para YUI Editor de Rich Text . Você pode ver os dois plugins (e muitos outros componentes YUI) em uso neste site .
- Algumas Reflexões sobre HTML 5 de Autores JavaScript Biblioteca : Matt Sweeney YUI e Eric Miraglia estão entre aqueles cujos comentários foram reunidos para um artigo recente da InfoQ Dionysios Synodinos em HTML 5 ea evolução de bibliotecas JavaScript .
Compartilhar e ampliar: Bookmark com del.icio.us | digg it! | reddit!
Draggable DataTable Linhas
Maio 8, 2009 at 2:50 pm por Gonzalo Cordero | Em Desenvolvimento | 4 Comentários
Sobre o Autor: Gonzalo Cordero é um engenheiro de front-end da equipe Força Yahoo! Flex. Ele está atualmente trabalhando na próxima geração da página inicial do Yahoo!. Ele também é um ex- Juku de pós-graduação, onde recentemente se tornou um instrutor bem. Neste artigo ele nos conduz através do processo de adição de arrastar e soltar funcionalidade a um widget de DataTable .
Introdução
Um projeto recente da mina necessária uma implementação de DataTable onde as linhas podem ser movimentados com arrastar e soltar. Depois de olhar através da galeria de exemplos YUI , eu percebi que a característica que eu estava tentando implementar foi um pouco diferente dos que eu vi. Então eu decidi implementar minha própria solução. Neste artigo vou explicar como eu combinei YUI DataTable e Drag and Drop componentes, algumas soluções para os desafios que encontrei, e como eu era capaz de melhorar a minha solução inicial usando o codeline YUI3 novo (que está atualmente disponível na visualização de modo).

Considerações iniciais e algumas possíveis soluções
A primeira pergunta que me veio à mente era como fazer com que cada linha da tabela arrastável e um destino de soltar ao mesmo tempo da maneira mais eficiente. Eu também sabia que instanciar um objeto DDTarget Arrastar e ao mesmo tempo em um elemento não estava indo trabalhar. Depois de ler o Arrastar e Soltar documentação da API , descobri que a propriedade isTarget fica definido por padrão como true para cada objeto arrastar criamos, fazendo com que um objeto de destino de soltar também. Então, com isso, eu defini um costume DDRows classe para definir os manipuladores momento interessante e também adicionar um pouco de estilo CSS para o objeto de proxy de arrastar para diferenciar visualmente-la das linhas regulares. Um objeto de arrastar proxy é apenas um recipiente que é exibido uma vez que o arrastamento começa e serve como um marcador / guia para o que está sendo arrastado.
YAHOO.example.DDRows = function (id, sGroup, config) { YAHOO.example.DDRows.superclass.constructor.call (este, id, sGroup, config); Dom.addClass (this.getDragEl (), "tipo proxydrag"); }; YAHOO.extend (YAHOO.example.DDRows, YAHOO.util.DDProxy, { / / Manipuladores definida aqui });
Após a definição da classe DDRows, eu ouça o DataTable initEvent para configurar cada linha como um objeto arrastar DDRows:
myDataTable.subscribe ("initEvent", function () { var i, id, allRows = this.getTbodyEl () linhas.; for (i = 0; i <allRows.length; i + +) { id = allRows [i] id.; / / Limpar todas as instâncias existentes Arraste if (myDTDrags [id]) { myDTDrags [id] unreg ().; excluir myDTDrags [id]; } / / Cria uma instância de arrasto para cada linha myDTDrags [id] = new YAHOO.example.DDRows (id); } });
Então, em vez de usar a classe DDTarget, eu olho para o isTarget propriedade do objeto Arraste para validar o elemento de destino. Desta forma, certifique-se que apenas mover as linhas da tabela em outras linhas da tabela:
OnDragDrop: function (e, id) { var destDD = YAHOO.util.DragDropMgr.getDDById (id); / / Somente se cair sobre um alvo válido if (destDD && destDD.isTarget this.srcEl &&) { ... } }
Uma consideração importante é que o DOM é redesenhada a cada vez que mover uma linha, então não só o objeto de arraste na linha original precisa ser limpo quando se é excluído, arrastar um objeto novo precisa ser criado para a linha que é criado na nova posição. Aqui está toda a onDragDrop função que limpa e move uma linha:
OnDragDrop: function (e, id) { var destDD = YAHOO.util.DragDropMgr.getDDById (id); / / Somente se cair sobre um alvo válido if (destDD && destDD.isTarget this.srcEl &&) { var srcEl = this.srcEl, srcIndex = srcEl.sectionRowIndex, destEl = Dom.get (id), destIndex = destEl.sectionRowIndex, srcData = myDataTable.getRecord (srcEl) getData ().; this.srcEl = null; / Limpeza / instância arrastar existente myDTDrags [srcEl.id] unreg ().; excluir myDTDrags [srcEl.id]; / / Move a linha para sua nova posição myDataTable.deleteRow (srcIndex); myDataTable.addRow (srcData, destIndex); YAHOO.util.DragDropMgr.refreshCache (); } } }
Aqui está o exemplo de trabalho completo utilizando YUI 2.7.0 .
Aumentar o nosso exemplo usando YUI 3,0 PR2
Na página inicial do Yahoo!, nós estamos usando YUI 3 a desenvolver a nossa experiência de próxima geração , e quanto mais eu uso, mais eu percebo o quão poderoso e extensível que é. Então eu decidi ir em frente e confira o Drag and Drop componente da mais recente versão prévia YUI 3,0 para este exercício.
Não foi nenhuma surpresa quando descobri que com esta nova versão que eu poderia tirar proveito de algumas das novas propriedades e métodos para fazer a minha solução mais limpa e eficiente. Por exemplo, arrastar e soltar no YUI 3 fornece uma forma eficiente de criar os objetos de arrasto / Target que precisamos:
myDTDrags [id] = new Y.DD.Drag ({ nó: "#" + id, constrain2node: "# tabela de dados", moveOnEnd: false, proxy: verdade, alvo: true });
Não temos mais para definir a nossa própria subclasse ou se preocupar em validar o elemento antes de trocar linhas, como o drophit evento só será acionado quando aplicados aos elementos que temos definidos como destinos de soltar.
A versão de outra grande característica novo 3 nos traz é subida do evento personalizado (que traz o poder da DOM eventos borbulhando para os eventos personalizados que orientam API da biblioteca). Graças a isso, podemos agora para ouvir todos os eventos de arrastar e soltar no nível de documento usando o Arrastar e Soltar Gestor, ao invés de ter que anexar vários eventos para cada linha da tabela individual. Nosso código personalizado delegação evento parecido com este:
Y.DD.DDM.on ('arrastar: start', startDrag); Y.DD.DDM.on ('arrastar: final', endDrag); Y.DD.DDM.on ('arrastar: drophit', dragDrop);
Aqui está o exemplo de trabalho completo utilizando YUI 3,0 PR2 .
Conclusão
Espero que você encontre esses exemplos um recurso útil sobre como adicionar a funcionalidade de arrastar e soltar para DataTables e de como você pode facilmente integrar YUI YUI 2.7.0 e 3 componentes na mesma página. Serve também como uma pré-visualização rápida de todos os recursos novos e emocionantes que estão vindo com a próxima geração de YUI.
Compartilhar e ampliar: Bookmark com del.icio.us | digg it! | reddit!

Copyright © 2006-2012 Yahoo! Inc. Todos os direitos reservados. Política de Privacidade - Termos de Serviço
Alimentado por WordPress em Yahoo! Web Hosting .


