Bouton importer fichier avec jolie image et import tout de suite
[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 = this.response.image ;
18 var liste_warnings = this.response.messages
19 var texte = this.response.export_txt;
20 var nomenfant = this.response.nomenfant ;
21
22 // on affiche l'export des données
23 document.getElementById('export').innerHTML = texte;
24 document.getElementById('sectionexport').style.display = "block";
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
30
31 if(result == "success")
32 {
33 // On affiche l'image
34 document.getElementById('courbe').src = 'data:image/png;base64,'+(image);
35 document.getElementById('sectioncourbe').style.display = "block";
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 +"')")
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
57 // afficher la liste des erreurs
58 var elem_div = document.getElementById('courbe_erreurs') ;
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 }
69 }
70 }
71 requete.open("POST","courbe/b64",true)
72 requete.send(formData)
73 }
74
75 function 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
93 function 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 }
106
107 function upload_file(data) {
108 document.getElementById('form_import_donnees').submit();
109 }