Ohm Perles Karma Collection - Temps infini

karma karma d'impact infini Cette semaine apporte la quatrième version en cours dans la Karma par Ohm collection Perles et est la première balancent dans la série qui sera dévoilée. La collection Karma a été libéré un à la fois le jeudi depuis le premier charme était le 8 mai, avec chaque perle représentant un chakra spécifique hindou et enseignements tantriques. J'ai apprécié cette version incrémentale spécial et les conceptions uniques qui sortent jusqu'à présent!

Ce charme, appelé temps infini, signifie le 3ème Chakra qui est responsable d'un&# 8217; s sentiment d'estime de soi et la confiance. Ce chakra est parfois appelé le Chakra Plexus solaire et est situé sur la colonne vertébrale près de votre nombril. Blocages et obstruction de ce point d'énergie vitale est pensé pour se manifester comme un sentiment d'embarras, la honte et la conscience de soi.

Temps infini combine deux symboles qui Amarrage à ce chakra, le premier étant le nautile en spirale sur le balancent. Le nautile est référencé dans le mythe hindou et est considéré comme un symbole de la vie et la beauté intérieure, avec elle&# 8217; forme de spirale représentant le cycle infini de l'existence. Être en phase avec votre 3ème Chakra signifie comprendre qui vous êtes et où vous appartenez sur le chemin en spirale de la vie. Le dos de la coque est gravé avec des numéros de cadran d'horloge, ce qui renforce la métaphore et l'ajout d'un détail agréable à l'arrière du charme.

Le deuxième symbole est la base de talon chapelet de charme &# 8211; Ohm a noté que cela est conçu pour ressembler à des perles de mala qui sont utilisés dans le bouddhisme et l'hindouisme. perles de prière mala Real-vie ont 108 perles (108 est un numéro spécial dans les deux religions), mais il serait un peu difficile à adapter à tous ceux sur ce petit charme! Je aime vraiment cet élément de conception supplémentaire et profiter de la façon dont il lie à l'idée originale Chakra. Les détails sur Infini Le temps est bien fait et typique d'Ohm&# 8217; le style, avec des gravures profondes croquants à l'avant et arrière de la coque et une base bien sculptée.

Temps infini, ainsi que les versions antérieures de la Karma par Ohm collection, sont disponibles en ligne à la fois Perlen et direct à partir du site Ohm perles. Ohm Perles sont entièrement compatibles avec toutes les grandes marques de bracelet, y compris Pandora. je&# 8217; m impatient de voir comment Ohm arrondit cette collection et représente les Chakras qui restent dans les semaines à venir; Qu'est-ce que vous mesdames penser?


Les tests unitaires défilement infini dans ui-grille avec Karma et Jasmine

Mon mandat était de créer des composants angulaires communs pour une utilisation dans l'ensemble de l'organisation. L'un de ces composants est une grille. Cette grille doit tenir 100&# 8217; s des milliers d'articles et doit prendre en charge défilement infini. J'ai choisi de abstraire la véritable mise en œuvre de la grille (ui-grid) et de la place derrière ma propre directive sur mesure (ma-grille).

Je voulais utiliser Karma et Jasmine pour écrire des tests unitaires pour la grille. Il se trouve que ce n'était pas&# 8217; t entièrement intuitive. Ce poste mettra en évidence quelques-uns des défis que j'ai rencontrés et comment je les surmonter.

Logiciel utilisé au moment de cette écriture

  • 1.4.1 angulaire
  • ui-grid 3.0.1
  • karma 0.13.3
  • jasmin 2.3.4

Le balisage est assez simple, mais il y a deux choses à noter:

  • Le drapeau de rafraîchissement. Est de lutter contre ce problème: https://github.com/angular-ui/ng-grid/issues/3770
  • Le div intérieur est pour montrer un message spécial quand il n'y a pas d'éléments à afficher.

je&# 8217; m ne montrant qu'une infime partie de la configuration du réseau. La chose clé ici est que getItems est appelé à l'intérieur de onRegisterApi. Notez également que pour obtenir les éléments de la grille, nous les récupérions de manière asynchrone à partir d'un service générique qui obtient injecté. Je ne suis pas montrer comment les colonnes sont configurées ou toute autre chose comme ça, juste les choses importantes que je dois obtenir un travail de test unitaire.

Il y a des commentaires dans le code qui pointent sur les points sensibles. A savoir, lors de la récupération des données de manière asynchrone, j'avais des problèmes avec grid.rows être toujours vide. Il se trouve que je avais besoin d'envelopper la promesse&# 8217; la méthode de détermination dans un délai d'attente. Cela permet à l'instance sous-jacente grille-ui à faire ce qu'il doit faire afin d'ajouter nos données au réseau.

Si vous&# 8217; ai jamais écrit un test angulaire avec un délai d'attente avant, vous&# 8217; remarquerez l'utilisation de timeout.flush de $ () qui est nécessaire pour vider la file d'attente des fonctions différées.

La première question que je suis tombé sur avec défilement infini était comment simuler le défilement. L'astuce ici ISN&# 8217; t pour forcer le port de vue pour faire défiler ou quoi que ce soit de fantaisie comme ça. Vraiment, tout ce que vous devez faire est de forcer l'API de défilement infini pour extraire des données. Ici&# 8217; un exemple:

Remarque: Vous devez définir grid.infiniteScroll.direction à la direction que vous avez décidé de faire défiler avant de soulever les événements de défilement. Si vous ne&# 8217; t ce faire, l'API de défilement infini&# 8217; la méthode de adjustScroll gagné&# 8217; t résoudre correctement les promesses et tout code que vous avez qui repose sur la promesse gridApi.infiniteScroll.dataLoaded se résoudre (à savoir, pour gérer la structure de données interne) a gagné&# 8217; t s'appelle. Cela entraînera la grille à se comporter différemment dans les tests que dans une situation de vie réelle qui ISN&# 8217; t bien.

Ceci est particulièrement utile si vous contrôlez la quantité d'éléments qui peuvent être conservés en mémoire sur le côté client. L'utilisation de ce modèle simple vous permettra de créer des tests complexes qui simulent le défilement de l'utilisateur. Lire ci-dessus pour cela que je dois faire un timeout.flush de $ () après chaque extraction. Essentiellement, sans rinçage des deferreds, mes données ne permet en effet de retour à l'API de réseau, de sorte que l'essentiel engage mes données au réseau.

Il serait sage de résumer une partie de ce code en double dans un couple fonctionne pour augmenter la lisibilité. Par exemple:

Remarque: Certains des tests autour de défilement infini dépend fortement de la mise en œuvre au sein de l'API de défilement infini. Si tout va bien ce que je&# 8217; ve indiqué ci-dessus continue à travailler, mais il est important de vous assurer que vos tests fonctionnent comme prévu si vous utilisez une autre version de l'interface-réseau.