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 | ||
richclient:emberjs:td1 [2018/01/21 13:06] – [2.4- Vue] jcheron | richclient:emberjs:td1 [2019/08/31 14:21] (Version actuelle) – modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 13: | Ligne 13: | ||
- | < | + | ==== - Création du repository git ==== |
- | ==== -- Création du repository git ==== | + | |
- Créer un dossier **ember-tds** ; | - Créer un dossier **ember-tds** ; | ||
Ligne 21: | Ligne 20: | ||
- Publier (commit and push) régulièrement sur github. | - Publier (commit and push) régulièrement sur github. | ||
- | < | + | ==== - Création du projet ember ==== |
- | ===== -- Exercice : application Note ===== | + | |
- | ==== -- Objectifs ==== | + | Créer le projet ember **td1** |
+ | |||
+ | ===== - Exercice : application Note ===== | ||
+ | |||
+ | ==== - Objectifs ==== | ||
- Créer un projet | - Créer un projet | ||
- Créer des routes | - Créer des routes | ||
- Créer/ | - Créer/ | ||
- Créer des classes et instancier des objets | - Créer des classes et instancier des objets | ||
- | - Mettre en oeuvre le Data-binding avec [[https:// | + | - Mettre en oeuvre le Data-binding avec [[https:// |
- | ==== -- Fonctionnalités ==== | + | ==== - Fonctionnalités ==== |
- Saisir une note (message textuel) et afficher le nombre de caractères restants (le message est limité à 100 caractères saisis) | - Saisir une note (message textuel) et afficher le nombre de caractères restants (le message est limité à 100 caractères saisis) | ||
- Enregistrer (pseudo enregistrement) | - Enregistrer (pseudo enregistrement) | ||
Ligne 38: | Ligne 40: | ||
- Gérer les changements de classe CSS sur l' | - Gérer les changements de classe CSS sur l' | ||
- | ==== -- Application ==== | + | ==== - Application ==== |
Fichier **app/ | Fichier **app/ | ||
+ | |||
+ | <sxh bash; | ||
+ | ember g route ex1 | ||
+ | </ | ||
|< 100% >| | |< 100% >| | ||
Ligne 52: | Ligne 58: | ||
^**Route** | **ex1** | | ^**Route** | **ex1** | | ||
^::: | < | ^::: | < | ||
- | ^Actions | < | + | |
+ | Fichier **app/ | ||
+ | |||
+ | <sxh bash; | ||
+ | ember g controller ex1 | ||
+ | </ | ||
+ | |||
+ | ^Controller | **ex1** | | ||
+ | ^Actions |< | ||
^::: | < | ^::: | < | ||
(*) computed property | (*) computed property | ||
- | ==== -- Vue ==== | + | ==== - Vue ==== |
- | === -- helpers handlebars utilisés === | + | === - helpers handlebars utilisés === |
- | * < | + | * < |
- | * < | + | * < |
- | * < | + | * < |
- | === -- Interface === | + | === - Interface === |
{{: | {{: | ||
- | === -- Logique applicative / comportement de l' | + | === - Logique applicative / comportement de l' |
* sur saisie dans la zone **messageNote** (textarea), le nombre de caractères restants est indiqué dans la zone **status** | * sur saisie dans la zone **messageNote** (textarea), le nombre de caractères restants est indiqué dans la zone **status** | ||
Ligne 77: | Ligne 91: | ||
* Sur effacement (à condition que le message ne soit pas vide) : | * Sur effacement (à condition que le message ne soit pas vide) : | ||
* la zone **info** disparaît | * la zone **info** disparaît | ||
- | === -- Test en ligne === | + | === - Test en ligne === |
< | < | ||
- | ===== -- Exercice : Choix de services ===== | + | ===== - Exercice : Choix de services ===== |
- | ==== -- Objectifs ==== | + | ==== - Objectifs ==== |
- Créer des routes avec model | - Créer des routes avec model | ||
- Utiliser/ | - Utiliser/ | ||
Ligne 87: | Ligne 101: | ||
- Utiliser les tableaux | - Utiliser les tableaux | ||
- | ==== -- Fonctionnalités ==== | + | ==== - Fonctionnalités ==== |
- Sélectionner/ | - Sélectionner/ | ||
- Calculer le montant dû | - Calculer le montant dû | ||
- Afficher le nombre de services sélectionnés | - Afficher le nombre de services sélectionnés | ||
- | ==== -- Application ==== | + | ==== - Application ==== |
+ | |||
+ | Fichier **app/ | ||
+ | |||
+ | <sxh bash; | ||
+ | ember g route ex2 | ||
+ | </ | ||
|< 100% >| | |< 100% >| | ||
^**Classe** | **Services** | ^**Classe** | **Services** | ||
^::: | < | ^::: | < | ||
- | ^::: | < | ||
^::: | < | ^::: | < | ||
^::: | < | ^::: | < | ||
- | ^**Route** | **ex2**| | + | ^**Route** | **ex2** | |
+ | ^::: | < | ||
+ | |||
+ | Fichier **app/ | ||
+ | |||
+ | <sxh bash; | ||
+ | ember g controller ex2 | ||
+ | </ | ||
+ | |||
+ | |< 100% >| | ||
+ | ^**Controller** | **ex2**| | ||
^Actions | < | ^Actions | < | ||
Ligne 107: | Ligne 136: | ||
=== A utiliser === | === A utiliser === | ||
- | * [[https:// | + | * [[https:// |
* [[https:// | * [[https:// | ||
- | **Services** : à passer en paramètre | + | **Services** : à passer en paramètre |
+ | <sxh javascript> | ||
+ | Services.create({services: | ||
+ | </ | ||
<sxh javascript> | <sxh javascript> | ||
Ligne 135: | Ligne 167: | ||
</ | </ | ||
- | ==== -- Vue ==== | + | ==== - Vue ==== |
- | === -- helpers utilisés === | + | === - helpers utilisés === |
* Expressions < | * Expressions < | ||
- | * Expressions | + | * < |
- | * Expressions | + | * < |
- | * Expressions | + | * < |
+ | |||
+ | === - helpers à créer === | ||
+ | |||
+ | |< 100% >| | ||
+ | ^Nom ^Paramètres ^Rôle ^ | ||
+ | |plural | count, zero, one, other | Formate une expression correctement en fonction de count | | ||
+ | |format-currency | value, symbol | Formate value en monétaire (2 déc + symbole € par défaut) | | ||
+ | |format-percent| value | Formate value en pourcentage (x100 + symbole %) | | ||
- | === -- Interface === | + | === - Interface === |
{{: | {{: | ||
Ligne 151: | Ligne 191: | ||
* La sélection/ | * La sélection/ | ||
- | === -- Ajout code promo === | + | === - Ajout code promo === |
* La saisie d'un code promo permet d' | * La saisie d'un code promo permet d' | ||
* La liste des codes est fournie en JS, elle sera a ajouter au model hook | * La liste des codes est fournie en JS, elle sera a ajouter au model hook | ||
Ligne 164: | Ligne 204: | ||
{{: | {{: | ||
- | === -- Test en ligne === | + | === - Test en ligne === |
< | < |