diff --git a/src/components/global/selector/api/Controller.js b/src/components/global/selector/api/Controller.js index d831dda..aaa2deb 100644 --- a/src/components/global/selector/api/Controller.js +++ b/src/components/global/selector/api/Controller.js @@ -1,9 +1,19 @@ import log from "./log"; export default class Controller { + /** + * @param model La class Model(). + * @param view La class View(). + * */ constructor(model, view) { this.model = model this.view = view + + /** + * Envoyer dans le controlleur tous les events fait. + * @param selection Ce qu'on va utiliser pour le &refine. + * @param action Retour en arriere ou aller en avant. { "previous", "next" }. + * */ window.updateModel = (selection, action) => { if(this.model.getCurIndex() === 0) { log("Selector->Controller", "Ajout d'une section pour refine") @@ -25,6 +35,9 @@ export default class Controller { this.getData(0).then() } + /** + * @param n Numero de la page courante { 0, 1, 2 }. + * */ async getData(n) { if(n === 0) { log("Selector->Controller", "Requete Section 0") @@ -41,6 +54,8 @@ export default class Controller { this.model.getModelData2().then((res) => { this.view.renderMenu(res) }) + } else { + log("Selector->Controller", "Numero de page inconnue") } } } \ No newline at end of file diff --git a/src/components/global/selector/api/Model.js b/src/components/global/selector/api/Model.js index 8d0082b..41b3f9d 100644 --- a/src/components/global/selector/api/Model.js +++ b/src/components/global/selector/api/Model.js @@ -26,26 +26,43 @@ export default class Model { log("Selector", "Model 2/3") } + /** + * Retourne l'index courant de la page. + * @return int + * */ getCurIndex() { return this.state.page.curIndex } + /** + * Passer a la page suivante. + * */ nextPage() { if(this.state.page.curIndex+1 <= 2) { this.state.page.curIndex++ } } + /** + * Passer a la page precedente. + * */ previousPage() { if(this.state.page.curIndex-1 >= 0) { this.state.page.curIndex-- } } + /** + * @param v La valeur du refine + * */ setCat(v) { this.state.page.cat = v } + /** + * Retourne la section 0 + l'enregistre dans le local storage + * @return les donnees demandees en JSON + * */ getModelData0() { if(!localStorage.getItem(`sec0`)) { const link = `${ this.state.api.link }` + @@ -68,6 +85,10 @@ export default class Model { } } + /** + * Retourne la section 1 + l'enregistre dans le local storage + * @return les donnees demandees en JSON + * */ getModelData1() { if(!localStorage.getItem(`sec1-${this.state.page.cat}`)) { const link = `${this.state.api.link}` + @@ -93,6 +114,10 @@ export default class Model { } } + /** + * Retourne la section 2 + l'enregistre dans le local storage + * @return les donnees demandees en JSON + * */ getModelData2() { if(!localStorage.getItem(`sec2-${this.state.page.cat}`)) { const link = `${this.state.api.link}` + diff --git a/src/components/global/selector/api/View.js b/src/components/global/selector/api/View.js index 47256f7..1bb39ec 100644 --- a/src/components/global/selector/api/View.js +++ b/src/components/global/selector/api/View.js @@ -11,6 +11,14 @@ export default class View { log("Selector", "View 1/3") } + /** + * Contruction de la balise
  • qui vas se loger dans le menu. + *
  • + * Tous les noms des formations par section + * Combien de formations dispo ? + *
  • + * @param data Donnees a afficher. + * */ renderMenu(data) { this.zone.innerHTML = "" @@ -38,6 +46,11 @@ export default class View { log("Selector->View", "Donnees recuperer OK !") } + /** + * Envoyer dans le controlleur tous les events fait. + * @param selection Ce qu'on va utiliser pour le &refine. + * @param direction Retour en arriere ou aller en avant. { "previous", "next" } + * */ updateMenu(selection, direction) { if(direction) { window.updateModel(selection, direction) diff --git a/src/components/global/selector/api/log.js b/src/components/global/selector/api/log.js index 451ce42..55add41 100644 --- a/src/components/global/selector/api/log.js +++ b/src/components/global/selector/api/log.js @@ -1,3 +1,8 @@ +/** + * Destine a envoyer des logs dans la console. + * @param mvc D'ou vient le message. + * @param msg Le message. + * */ export default function log(mvc, msg) { console.log(`${ mvc }:: ${ msg }`) } \ No newline at end of file