Ohm Beads Coleção Karma - Time Infinito

Karma karma impacto infinito Esta semana traz a quarta liberação no Karma em curso pela coleta Ohm grânulos e é a primeira dangle na série a ser revelada. A coleção Karma foi lançado um de cada vez às quintas-feiras desde o primeiro encanto foi no dia 8 de maio, com cada conta representa um Chakra específico em Hindu e ensinamentos tântricos. I foram aproveitam esta versão incrementais especial e os projetos originais que saem tão longe!

Este encanto, chamado Time Infinito, significa o terceiro Chakra, que é responsável por um&# 8217; s senso de auto-estima e confiança. Este Chakra é às vezes chamado de Chakra do Plexo Solar e está localizado em sua coluna perto do seu umbigo. Bloqueios e obstrução deste ponto de energia vital é pensado para se manifestar como sentimentos de embaraço, vergonha e auto-consciência.

Infinito Tempo combina dois símbolos que ligam de volta a este Chakra, sendo o primeiro o escudo do nautilus em espiral sobre a balançar. O escudo do nautilus é referenciado no mito hindu e é considerado um símbolo de vida e beleza interior, com ele&# 8217; s forma de espiral que representa o ciclo infinito de existência. Estar em sintonia com o seu terceiro Chakra significa a compreensão de quem você é e onde você pertence no caminho em espiral da vida. A parte traseira do shell é gravada com números da face do relógio, reforçando a metáfora e adicionando um detalhe legal a parte traseira do charme.

O segundo símbolo é a base de contas do rosário do charme &# 8211; Ohm observou que este é concebido para se parecer com as contas do mala que são usados ​​no budismo e hinduísmo. Real-vida jap contas de oração mala tem 108 contas (108 é um número especial em ambas as religiões), mas que seria um pouco difícil para caber todos aqueles sobre este pequeno charme! Eu realmente gosto deste elemento adicional e desfrutar como ele amarra voltar à ideia original Chakra. O detalhamento sobre o Tempo Infinito é bem feito e típico de Ohm&# 8217; s estilo, com gravuras nítidas profundas na parte da frente e de trás do escudo e uma base muito bem esculpida.

Infinito Tempo, bem como as versões anteriores do Karma por Ohm coleção, estão disponíveis on-line tanto em Perlen e direto do site da Ohm Beads. Ohm Beads são totalmente compatíveis com todas as principais marcas pulseira incluindo Pandora. Eu&# 8217; estou ansioso para ver como Ohm rodadas fora desta coleção e representa os Chakras restantes nas próximas semanas; O que você senhoras acha?


O teste de unidade rolagem infinita em ui-grade com Karma e Jasmine

O meu mandato foi criar alguns componentes angulares comuns para uso em toda a organização. Um desses componentes foi uma grade. Esta grade precisa manter 100&# 8217; s de milhares de itens e deve apoiar rolagem infinita. Eu escolhi para abstrair a verdadeira implementação da rede (ui-grid) e colocá-lo atrás de minha própria directiva personalizado (meu-grid).

Eu queria usar Karma e Jasmine para escrever alguns testes de unidade para a grade. Acontece que não era&# 8217; t totalmente intuitivo. Este post irá destacar alguns dos desafios que encontrou e como eu superei-los.

Software utilizado no momento da redação deste texto

  • 1.4.1 angular
  • ui-grid 3.0.1
  • karma 0.13.3
  • jasmim 2.3.4

A marcação é bastante simples, mas há algumas coisas a nota:

  • A bandeira de atualização. Esta é combater esse problema: https://github.com/angular-ui/ng-grid/issues/3770
  • O div interna é para mostrar uma mensagem especial quando não há itens para mostrar.

Eu&# 8217; m mostrando apenas uma pequena fracção da configuração da rede. O importante aqui é que getItems é chamado dentro de onRegisterApi. Note também que para obter os itens de rede, estamos buscando-os de forma assíncrona a partir de um serviço genérico que obtém injetado. Eu não estou mostrando como as colunas são configurados ou qualquer outra coisa assim, apenas as coisas principais que eu preciso para obter um trabalho de teste de unidade.

Há comentários no código que apontam os pontos problemáticos. Ou seja, ao buscar dados de forma assíncrona, eu estava tendo problemas com grid.rows estar sempre vazio. Acontece que eu precisava para quebrar a promessa&# 8217; s método de determinação de um tempo limite. Isso permite que a instância ui-grade subjacente a fazer o que ele precisa fazer para adicionar nossos dados para a rede.

Se vocês&# 8217; já escrevi um teste angular com um tempo limite antes, então você&# 8217; notará o uso de US $ timeout.flush () que é necessário para limpar a fila de funções diferidos.

A primeira questão que eu corri para com rolagem infinita foi como simular a rolagem. O truque aqui isn&# 8217; t para forçar a porta de visualização para rolar ou nada extravagante como aquele. Realmente, tudo que você precisa fazer é forçar o infinito API de rolagem para buscar dados. Aqui&# 8217; s um exemplo:

Nota: Você deve definir grid.infiniteScroll.direction para a direção que você está pensando em rolagem antes de levantar os eventos de rolagem. Se você não&# 8217; t fazer isso, o infinito API de rolagem&# 8217; s método adjustScroll ganhou&# 8217; t corretamente resolver promessas e qualquer código que você tenha que se baseia na gridApi.infiniteScroll.dataLoaded promessa ficando resolve (ou seja, para gerenciar a estrutura de dados interna) ganhou&# 8217; t obter chamado. Isso fará com que a grade para se comportar de maneira diferente em testes do que em uma situação da vida real que isn&# 8217; t bom.

Isto é especialmente útil se você estiver controlando a quantidade de itens que podem ser mantidos na memória no lado do cliente. Usando este padrão simples permitirá que você para criar testes complexos que simulam rolagem usuário. Leia acima para por que eu tenho que fazer um $ timeout.flush () após cada buscar. Essencialmente, sem rubor as deferreds, meu dados nunca realmente faz-lo de volta para a API da rede, de modo que, essencialmente, compromete os meus dados para a rede.

Seria sensato para encapsular alguns deste código duplicado em um par de funções para aumentar a legibilidade. Por exemplo:

Nota: Alguns dos testes em torno de rolagem infinita é altamente dependente da implementação dentro do infinito API de rolagem. Esperemos que o que eu&# 8217; ve descrito acima continua a trabalhar, mas será importante que você garantir que seus testes estão funcionando como esperado você deve usar uma versão diferente do ui-grade.