From bf11b07a39f5e9dd1fa637115e1d317d95b12ae0 Mon Sep 17 00:00:00 2001
From: Thomas Fritsch <thomas@uidlt.fr>
Date: Mon, 7 Feb 2022 01:40:06 +0100
Subject: [PATCH] ajout commentaires et jsdoc

---
 src/Router.js          | 10 ++++++++++
 src/main.js            |  2 +-
 src/pages/PizzaList.js |  8 +++++++-
 3 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/src/Router.js b/src/Router.js
index 7aef071..fe89f10 100644
--- a/src/Router.js
+++ b/src/Router.js
@@ -1,12 +1,22 @@
 export default class Router {
 	static titleElement;
 	static contentElement;
+	/**
+	 * Tableau des routes/pages de l'application.
+	 * @example `Router.routes = [{ path: '/', page: pizzaList, title: 'La carte' }]`
+	 */
 	static routes = [];
 
+	/**
+	 * Affiche la page correspondant à `path` dans le tableau `routes`
+	 * @param {String} path URL de la page à afficher
+	 */
 	static navigate(path) {
 		const route = this.routes.find(route => route.path === path);
 		if (route) {
+			// affichage du titre de la page
 			this.titleElement.innerHTML = `<h1>${route.title}</h1>`;
+			// affichage de la page elle même
 			this.contentElement.innerHTML = route.page.render();
 		}
 	}
diff --git a/src/main.js b/src/main.js
index 6148d2b..97abcfd 100644
--- a/src/main.js
+++ b/src/main.js
@@ -9,5 +9,5 @@ const pizzaList = new PizzaList([]);
 Router.routes = [{ path: '/', page: pizzaList, title: 'La carte' }];
 
 Router.navigate('/'); // affiche une page vide
-pizzaList.pizzas = data;
+pizzaList.pizzas = data; // appel du setter
 Router.navigate('/'); // affiche la liste des pizzas
diff --git a/src/pages/PizzaList.js b/src/pages/PizzaList.js
index fcaedaf..c76b6e6 100644
--- a/src/pages/PizzaList.js
+++ b/src/pages/PizzaList.js
@@ -2,13 +2,19 @@ import Component from '../components/Component.js';
 import PizzaThumbnail from '../components/PizzaThumbnail.js';
 
 export default class PizzaList extends Component {
-	#pizzas;
+	#pizzas; // propriété privée
 
 	constructor(pizzas) {
 		super('section', { name: 'class', value: 'pizzaList' });
 		this.pizzas = pizzas;
 	}
 
+	/**
+	 * setter de la liste des pizzas.
+	 * Génère autant de composants `PizzaThumbnail` que de pizzas dans le tableau
+	 * et les stocke dans `this.children`
+	 * @param {Array} value Tableau d'objets pizza à afficher
+	 */
 	set pizzas(value) {
 		this.#pizzas = value;
 		this.children = this.#pizzas.map(pizza => new PizzaThumbnail(pizza));
-- 
GitLab