$
This commit is contained in:
parent
7019a7e8ed
commit
4cbf6418ce
@ -1,9 +1,19 @@
|
|||||||
import log from "./log";
|
import log from "./log";
|
||||||
|
|
||||||
export default class Controller {
|
export default class Controller {
|
||||||
|
/**
|
||||||
|
* @param model La class Model().
|
||||||
|
* @param view La class View().
|
||||||
|
* */
|
||||||
constructor(model, view) {
|
constructor(model, view) {
|
||||||
this.model = model
|
this.model = model
|
||||||
this.view = view
|
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) => {
|
window.updateModel = (selection, action) => {
|
||||||
if(this.model.getCurIndex() === 0) {
|
if(this.model.getCurIndex() === 0) {
|
||||||
log("Selector->Controller", "Ajout d'une section pour refine")
|
log("Selector->Controller", "Ajout d'une section pour refine")
|
||||||
@ -25,6 +35,9 @@ export default class Controller {
|
|||||||
this.getData(0).then()
|
this.getData(0).then()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param n Numero de la page courante { 0, 1, 2 }.
|
||||||
|
* */
|
||||||
async getData(n) {
|
async getData(n) {
|
||||||
if(n === 0) {
|
if(n === 0) {
|
||||||
log("Selector->Controller", "Requete Section 0")
|
log("Selector->Controller", "Requete Section 0")
|
||||||
@ -41,6 +54,8 @@ export default class Controller {
|
|||||||
this.model.getModelData2().then((res) => {
|
this.model.getModelData2().then((res) => {
|
||||||
this.view.renderMenu(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")
|
log("Selector", "Model 2/3")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retourne l'index courant de la page.
|
||||||
|
* @return int
|
||||||
|
* */
|
||||||
getCurIndex() {
|
getCurIndex() {
|
||||||
return this.state.page.curIndex
|
return this.state.page.curIndex
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Passer a la page suivante.
|
||||||
|
* */
|
||||||
nextPage() {
|
nextPage() {
|
||||||
if(this.state.page.curIndex+1 <= 2) {
|
if(this.state.page.curIndex+1 <= 2) {
|
||||||
this.state.page.curIndex++
|
this.state.page.curIndex++
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Passer a la page precedente.
|
||||||
|
* */
|
||||||
previousPage() {
|
previousPage() {
|
||||||
if(this.state.page.curIndex-1 >= 0) {
|
if(this.state.page.curIndex-1 >= 0) {
|
||||||
this.state.page.curIndex--
|
this.state.page.curIndex--
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param v La valeur du refine
|
||||||
|
* */
|
||||||
setCat(v) {
|
setCat(v) {
|
||||||
this.state.page.cat = v
|
this.state.page.cat = v
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retourne la section 0 + l'enregistre dans le local storage
|
||||||
|
* @return les donnees demandees en JSON
|
||||||
|
* */
|
||||||
getModelData0() {
|
getModelData0() {
|
||||||
if(!localStorage.getItem(`sec0`)) {
|
if(!localStorage.getItem(`sec0`)) {
|
||||||
const link = `${ this.state.api.link }` +
|
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() {
|
getModelData1() {
|
||||||
if(!localStorage.getItem(`sec1-${this.state.page.cat}`)) {
|
if(!localStorage.getItem(`sec1-${this.state.page.cat}`)) {
|
||||||
const link = `${this.state.api.link}` +
|
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() {
|
getModelData2() {
|
||||||
if(!localStorage.getItem(`sec2-${this.state.page.cat}`)) {
|
if(!localStorage.getItem(`sec2-${this.state.page.cat}`)) {
|
||||||
const link = `${this.state.api.link}` +
|
const link = `${this.state.api.link}` +
|
||||||
|
@ -11,6 +11,14 @@ export default class View {
|
|||||||
log("Selector", "View 1/3")
|
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) {
|
renderMenu(data) {
|
||||||
this.zone.innerHTML = ""
|
this.zone.innerHTML = ""
|
||||||
|
|
||||||
@ -38,6 +46,11 @@ export default class View {
|
|||||||
log("Selector->View", "Donnees recuperer OK !")
|
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) {
|
updateMenu(selection, direction) {
|
||||||
if(direction) {
|
if(direction) {
|
||||||
window.updateModel(selection, 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) {
|
export default function log(mvc, msg) {
|
||||||
console.log(`${ mvc }:: ${ msg }`)
|
console.log(`${ mvc }:: ${ msg }`)
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user