Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
| slam4:richclient:angularjs:boards-2 [2016/03/23 01:03] – [2.5- Url /stories ou / (3 points)] jcheron | slam4:richclient:angularjs:boards-2 [2019/08/31 14:21] (Version actuelle) – modification externe 127.0.0.1 | ||
|---|---|---|---|
| Ligne 68: | Ligne 68: | ||
| |**/** | Route par défaut || | |**/** | Route par défaut || | ||
| - | ==== -- Service (2 points) ==== | + | ==== -- Service (1.5 points) ==== | 
| <wrap mytodo> | <wrap mytodo> | ||
| Le service **dataService** simule la connexion à un web service ; il est défini de la façon suivante : | Le service **dataService** simule la connexion à un web service ; il est défini de la façon suivante : | ||
| - | **stories**, | + | **steps**, | 
| <sxh javascript; | <sxh javascript; | ||
| Ligne 111: | Ligne 111: | ||
| ^::: | < | ^::: | < | ||
| ^::: | < | ^::: | < | ||
| - | ^::: | < | ||
| Créez dataService, | Créez dataService, | ||
| Il faudra ensuite injecter **dataService** aux 2 contrôleurs **storiesController** et **StoryController** | Il faudra ensuite injecter **dataService** aux 2 contrôleurs **storiesController** et **StoryController** | ||
| - | ==== -- Url /stories ou / (4 points) ==== | + | ==== -- Url /stories ou / (3.5 points) ==== | 
| <wrap mytodo> | <wrap mytodo> | ||
| Ligne 128: | Ligne 127: | ||
| |< 100% >| | |< 100% >| | ||
| ^**Controller** | **stories.js** (storiesController) | | ^**Controller** | **stories.js** (storiesController) | | ||
| - | ^Variables | + | ^Variables | 
| ^::: | < | ^::: | < | ||
| ^Méthodes publiques | < | ^Méthodes publiques | < | ||
| Ligne 172: | Ligne 171: | ||
| {{: | {{: | ||
| + | |||
| + | === Filtre sur ng-repeat === | ||
| + | |||
| On utilisera la directive **ng-repeat** avec un filtre (filter) composé d'une expression (testant le membre **step** de chaque **story**). | On utilisera la directive **ng-repeat** avec un filtre (filter) composé d'une expression (testant le membre **step** de chaque **story**). | ||
| Ligne 183: | Ligne 185: | ||
| </ | </ | ||
| - | <sxh javascript; | + | <sxh javascript; | 
| this.check=function(item){ | this.check=function(item){ | ||
| return item.code==" | return item.code==" | ||
| }; | }; | ||
| </ | </ | ||
| + | |||
| + | La boucle **ng-repeat** affichera dans ce cas les éléments du tableau **items** dont le membre **code** est égal à " | ||
| + | |||
| + | === Disposition des éléments === | ||
| + | |||
| + | On utilisera le [[http:// | ||
| + | |||
| + | * La grille Bootstrap est composée de 12 colonnes, chaque classe css de type **col-md-n** attribuée à un élément permet de lui donner une largeur de n/12. | ||
| + | * Pour nos steps, si nous en avons 3, chacune d' | ||
| + | |||
| + | |||
| + | Modifier le template **stories.html** et le contrôleur **storiesController** : | ||
| + | |||
| + | |< 100% >| | ||
| + | ^**Controller** | **stories.js** (storiesController) | | ||
| + | ^Méthode publique à ajouter | < | ||
| ==== -- Url / | ==== -- Url / | ||
| Ligne 195: | Ligne 213: | ||
| <wrap info> | <wrap info> | ||
| - | {{: | + | {{: | 
| **Comportement de l' | **Comportement de l' | ||
| Ligne 207: | Ligne 225: | ||
| ^**Controller** | **story.js** (storyController) | | ^**Controller** | **story.js** (storyController) | | ||
| ^Variables privées | < | ^Variables privées | < | ||
| - | ^::: | < | ||
| - | ^::: | < | ||
| ^Méthodes publiques | < | ^Méthodes publiques | < | ||
| - | ^::: | < | ||
| - | ^::: | < | ||
| - | ^::: | < | ||
| ==== -- A poursuivre... | ==== -- A poursuivre... | ||
| Ligne 219: | Ligne 232: | ||
| Fonctionnalités supplémentaires à implémenter : | Fonctionnalités supplémentaires à implémenter : | ||
| - | |||
| - | **Dans la page story/:code :** | ||
| - | * Permettre l' | ||
| - | * Permettre l' | ||
| **Dans la page /stories ou / :** | **Dans la page /stories ou / :** | ||
| - | * Filtrer les stories à afficher par sélection de devs et/ou par la présence de tags et/ou par la mention | + | * Ajouter/modifier/supprimer des steps | 
| + |  | ||
| + | Super-bonus (20 garantis) : | ||
| + | * Mettre en place le drag & drop des stories entre les steps avec un [[http:// | ||
| ===== -- Ressources ===== | ===== -- Ressources ===== | ||
| Ligne 237: | Ligne 249: | ||
| <meta charset=" | <meta charset=" | ||
| <link rel=" | <link rel=" | ||
| + | <link rel=" | ||
| <script type=" | <script type=" | ||
| Ligne 277: | Ligne 290: | ||
| } | } | ||
| .story-panel{ | .story-panel{ | ||
| - | float: left; | + | |
| - | width: 300px; | + | |
| } | } | ||
| .story{ | .story{ | ||
| Ligne 294: | Ligne 306: | ||
| .assign-to{ | .assign-to{ | ||
| font-weight: | font-weight: | ||
| + | } | ||
| + | .selected{ | ||
| + | background-color: | ||
| + | color: #3c763d; | ||
| + | } | ||
| + | .selected:: | ||
| + | content: ''; | ||
| + | display: block; | ||
| + | clear: both; | ||
| } | } | ||
| </ | </ | ||
| ==== Bootstrap ==== | ==== Bootstrap ==== | ||
| - | {{: | + | {{: | 
| <sxh html; | <sxh html; | ||
| - | <span class=" | + | <span class=" | 
| </ | </ | ||