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