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