This commit is contained in:
pro.boooooo 2023-03-07 05:12:14 +01:00
parent e9a02b90b8
commit a2069d4e28

View File

@ -106,9 +106,19 @@
* data: Contenant des facets etc...
* */
state: {
api: "",
api: {
link: "https://data.enseignementsup-recherche.gouv.fr/api/records/1.0/search/?dataset=fr-esr-parcoursup&q=&lang=fr&rows=0&sort=tri",
facet: {
filiaire: "fili",
formation: "form_lib_voe_acc",
spec: "fil_lib_voe_acc"
},
rafine: {
}
},
page: {
curIndex: 0, // section n.0 -> n.2
curIndex: 0, // section n.0 -> n.2.
cat: null,
name: [
"formation",
@ -116,11 +126,11 @@
"filière de formation détaillée"
],
},
data: null /* JSON a traiter en fonction de la section choisit */
data: null /* JSON a traiter en fonction de la section choisit. */
},
/**
* Retourner a la section n-1
* Retourner a la section n-1.
* */
previousPage(event){
try {
@ -132,7 +142,7 @@
this.getDataSection1(this.state.page.cat)
}
if(this.state.page.curIndex !== 0) { // Sinon ca va aller trop loin a la section 2
if(this.state.page.curIndex !== 0) { // Sinon ca va aller trop loin a la section 0.
this.update({ curIndex: this.state.page.curIndex-- });
}
}
@ -142,9 +152,9 @@
},
/**
* Aller a la section n+1
* @param event Choix fait par l'utilisateur a la section n
* todo: Faire en sorte de refaire des calls api en fonction de la section choisit (this.getSpecFor(nom_formation:String) et this.getSpecPlusFor(nom_formation:String)
* Aller a la section n+1.
* @param event Choix fait par l'utilisateur a la section n.
* todo: Faire en sorte de refaire des calls api en fonction de la section choisit (this.getSpecFor(nom_formation:String) et this.getSpecPlusFor(nom_formation:String).
* */
nextPage(event) {
try {
@ -157,7 +167,7 @@
} else if(this.state.page.curIndex === 2) {
}
if(this.state.page.curIndex !== 2) { // Sinon ca va aller trop loin a la section 2
if(this.state.page.curIndex !== 2) { // Sinon ca va aller trop loin a la section 2.
this.update({ curIndex: this.state.page.curIndex++ });
}
}
@ -167,14 +177,15 @@
},
/**
* Pour recuperer les données directement depuis l'API avec la facet: "fili"
* Pour recuperer les données directement depuis l'API.
* Chaque getDataSectionN() sert a charge les donnees en fonction de la section choisit.
* */
async getDataSection0() {
try {
const api = `https://data.enseignementsup-recherche.gouv.fr/api/records/1.0/search/?dataset=fr-esr-parcoursup&q=&lang=fr&rows=0&sort=tri` +
`&facet=fili&timezone=Europe%2FBerlin`;
const link = `${ this.state.api.link }` +
`&facet=${this.state.api.facet.filiaire}`;
const response = await fetch(api);
const response = await fetch(link);
const data = await response.json();
this.update({ data: data.facet_groups[0].facets });
} catch (e) {
@ -183,25 +194,35 @@
},
async getDataSection1() {
const api = `https://data.enseignementsup-recherche.gouv.fr/api/records/1.0/search/?dataset=fr-esr-parcoursup&q=&lang=fr&rows=0&sort=tri` +
`&facet=fili&facet=form_lib_voe_acc&facet=fil_lib_voe_acc` +
`&refine.fili=${ this.state.page.cat }` +
`&timezone=Europe%2FBerlin`
try {
const link = `${ this.state.api.link }` +
`&facet=${ this.state.api.facet.filiaire }` +
`&facet=${ this.state.api.facet.formation }` +
`&facet=${ this.state.api.facet.spec }` +
`&refine.fili=${ this.state.page.cat }`
const response = await fetch(api);
const response = await fetch(link);
const data = await response.json();
this.update({ data: data.facet_groups[1].facets });
} catch (e) {
console.error(e);
}
},
async getDataSection2() {
const api = `https://data.enseignementsup-recherche.gouv.fr/api/records/1.0/search/?dataset=fr-esr-parcoursup&q=&lang=fr&rows=0&sort=tri` +
`&facet=fili&facet=form_lib_voe_acc` +
`&facet=fil_lib_voe_acc` +
`&refine.fili=${ this.state.page.cat }` +
`&timezone=Europe%2FBerlin`
try {
const api = `${ this.state.api.link }` +
`&facet=${ this.state.api.facet.filiaire }` +
`&facet=${ this.state.api.facet.formation }` +
`&facet=${ this.state.api.facet.spec }` +
`&refine.fili=${ this.state.page.cat }`
const response = await fetch(api);
const data = await response.json();
this.update({ data: data.facet_groups[2].facets });
} catch (e) {
console.error(e);
}
},
onBeforeMount() {