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 00:57] – [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**). | ||
+ | |||
+ | Le filtre peut faire appel à une méthode définie dans le contrôleur : | ||
+ | |||
+ | **Exemple :** | ||
+ | |||
+ | <sxh html; | ||
+ | <div ng-repeat=" | ||
+ | </ | ||
+ | |||
+ | <sxh javascript; | ||
+ | this.check=function(item){ | ||
+ | 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 181: | Ligne 213: | ||
<wrap info> | <wrap info> | ||
- | {{: | + | {{: |
**Comportement de l' | **Comportement de l' | ||
Ligne 193: | 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 205: | 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 223: | Ligne 249: | ||
<meta charset=" | <meta charset=" | ||
<link rel=" | <link rel=" | ||
+ | <link rel=" | ||
<script type=" | <script type=" | ||
Ligne 263: | Ligne 290: | ||
} | } | ||
.story-panel{ | .story-panel{ | ||
- | float: left; | + | |
- | width: 300px; | + | |
} | } | ||
.story{ | .story{ | ||
Ligne 280: | 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=" |
</ | </ | ||