$
This commit is contained in:
parent
7019a7e8ed
commit
4cbf6418ce
@ -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")
|
||||
}
|
||||
}
|
||||
}
|
@ -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}` +
|
||||
|
@ -11,6 +11,14 @@ export default class View {
|
||||
log("Selector", "View 1/3")
|
||||
}
|
||||
|
||||
/**
|
||||
* Contruction de la balise <li> qui vas se loger dans le menu.
|
||||
* <li>
|
||||
* <a>Tous les noms des formations par section</a>
|
||||
* <span>Combien de formations dispo ?</span>
|
||||
* </li>
|
||||
* @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)
|
||||
|
@ -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 }`)
|
||||
}
|
Loading…
Reference in New Issue
Block a user