]> git.immae.eu Git - perso/Denise/oms.git/blame - static/requetes.js
Quelques infos, release
[perso/Denise/oms.git] / static / requetes.js
CommitLineData
5679dfd0
DL
1
2function appelle_image()
3{
4
5 var formData = new FormData( document.getElementById("donnees_enfant") );
6
7 var requete = new XMLHttpRequest();
66a3e38c 8 requete.responseType = "json";
5679dfd0
DL
9 requete.onreadystatechange = function()
10 {
11 if (this.readyState == 4 && this.status == 200) {
be2bf515
DL
12 // On nettoie
13 nettoie_erreurs()
14
66a3e38c 15 // on récupère les différents champs de la réponse
a46e1269 16 var result = this.response.result ;
66a3e38c
DL
17 var image = this.response.image ;
18 var liste_warnings = this.response.messages
19 var texte = this.response.export_txt;
be2bf515
DL
20 var nomenfant = this.response.nomenfant ;
21
66a3e38c
DL
22 // on affiche l'export des données
23 document.getElementById('export').innerHTML = texte;
24 document.getElementById('sectionexport').style.display = "block";
be2bf515
DL
25
26
27 var boutondl = document.getElementById("export_dl") ;
28 boutondl.setAttribute('onclick',"download_file('donnees_"+nomenfant+".json', 'application/json;charset=utf-8','"+encodeURIComponent(texte) +"')")
29
66a3e38c 30
a46e1269 31 if(result == "success")
be2bf515 32 {
a46e1269
DL
33 // On affiche l'image
34 document.getElementById('courbe').src = 'data:image/png;base64,'+(image);
35 document.getElementById('sectioncourbe').style.display = "block";
be2bf515
DL
36
37 //document.getElementById("courbe_dl").setAttribute('href', 'data:image/png;base64,' + image);
38 boutondl = document.getElementById("courbe_dl") ;
39 boutondl.setAttribute('onclick',"download_file('courbe_"+nomenfant+".png', 'image/png;base64','"+image +"')")
a46e1269
DL
40
41 // Si y'a eu des warnings, faut les afficher
42 if(liste_warnings.length != 0)
43 {
44 // afficher la liste des warnings
45 var elem_div = document.getElementById('courbe_warnings') ;
46 elem_div.style.display = "block" ;
47 var ul = elem_div.children[1] ;
48 for(i=0; i<liste_warnings.length; i++) {
49 var li = document.createElement("li");
50 li.appendChild(document.createTextNode(liste_warnings[i]));
51 ul.appendChild(li);
52 }
53 }
54 }
55 else{ // si la génération de l'image a merdé
56
be2bf515 57 // afficher la liste des erreurs
a46e1269 58 var elem_div = document.getElementById('courbe_erreurs') ;
66a3e38c
DL
59 elem_div.style.display = "block" ;
60 var ul = elem_div.children[1] ;
61 for(i=0; i<liste_warnings.length; i++) {
62 var li = document.createElement("li");
63 li.appendChild(document.createTextNode(liste_warnings[i]));
64 ul.appendChild(li);
65 }
66
67
68 }
5679dfd0
DL
69 }
70 }
71 requete.open("POST","courbe/b64",true)
72 requete.send(formData)
73}
be2bf515
DL
74
75function nettoie_erreurs()
76{
77 // fonction qui nettoie les erreurs affichées sur la page
78 // vider les warnings
79 var elem_div = document.getElementById('courbe_warnings') ;
80 elem_div.style.display = "none" ;
81 var ul = elem_div.children[1] ;
82 ul.innerHTML = "";
83
84 // vider les erreurs
85 elem_div = document.getElementById('courbe_erreurs') ;
86 elem_div.style.display = "none" ;
87 ul = elem_div.children[1] ;
88 ul.innerHTML = "" ;
89
90}
91
92
93function download_file(filename,mimetype,data) {
94 var element = document.createElement('a');
95 element.setAttribute('href', 'data:'+mimetype+',' + data);
96 element.setAttribute('download', filename);
97
98 element.style.display = 'none';
99 document.body.appendChild(element);
100
101 element.click();
102
103 document.body.removeChild(element);
104
105}
93ba28a7
SC
106
107function upload_file(data) {
108 document.getElementById('form_import_donnees').submit();
109}