Contrôleur - Geoffrey013/oc-p8-Take-existing-project-over GitHub Wiki
Le Contrôleur
Controlleur.js va jouer le rôle du Contrôleur. Il servira d’intermédiaire entre le Modèle et la Vue. Il va permettre de prendre les décisions suite aux événements déclenchés par l’utilisateur, en bénéficiant des données liées au DOM (données de l’input, checkbox checked ou non...).
Il va transmettre ces instructions au Modele (ajout du Todo, mise à jour s’il vient d’être complété etc..) qui mettra à jour le Store.
Une fois le Store mis à jour, le Contrôleur va renvoyer les données mises à jour à la Vue, afin qu’elle puisse ajuster le DOM.
Controlleur.js
méthode | arguments | description |
---|---|---|
setView | locationHash (string) | initialise la vue en fonction de locationHash (‘ ‘ , active , completed ) |
showAll | récupère l’ensemble des todos via le Modèle (read) et demande leur affichage par la Vue (render , showEntries ) |
|
showActive | récupère les todos actifs via le Modèle et demande leur affichage par la Vue | |
showCompleted | récupère les todos complétés via le Modèle et demande leur affichage par la Vue | |
addItem | title (string) | demande au Modèle l'ajout d'un nouveau todo et de réinitialiser le champ de saisie à la Vue |
editItem | id (number) | demande au Model de récupérer le todo dont l’id est donné en argument et active le mode édition de la Vue (render , editItem ) |
editItemSave | id (number) title (string) | appelée lorsque la modification apportée est validée (click hors de la zone de saisie, ou touche Entrer) elle demande au Modèle la mise à jour du todo correspondant et fait sortir la Vue du mode édition ( editItemDone , { id, title } ) |
editItemCancel | id (number) | appelée lors de l’edition si l’utilisateur appuie sur Echap, elle demande au Model les infos du todo (read, id) (sans modification apportées) puis fait sortir la Vue du mode édition ( editItemDone , { todo } ) |
removeItem | id (number) | demande au Modèle la suppression d'un todo |
removeCompletedItems | id (number) | demande au Modèle des todos complétés pour les supprimer (removeItem ) |
toggleComplete | id (number) completed (booleen) | demande au Modèle de modifier un todo en "complété" ou "non complété" puis demande la mise à jour de la Vue |
toggleAll | completed (booleen) | demande au Modèle la mise à jour de tous les todos en "complétés ou "non complétés". Si certains todos sont complétés et d’autres actifs, alors, ils seront tous “complétés” |
_updateCount | demande le nombre de todos au Modèle puis demande à la Vue la mise à jour des éléments de la page que cela impacte (render, updateElementCount) | |
_filter | force(boolean) | filtre les todos en fonction de la sélection actuelle (showAll , showActive , showCompleted ) |
_updateFilterState | currentPage(string) | met à jour le filtre des todos lors de la modification de ceux-ci (puis appelle _filter ) |