From be2bf5155489b103e616845ffedb1a58c3808c48 Mon Sep 17 00:00:00 2001 From: Denise sur Lya Date: Thu, 18 Jun 2020 14:40:06 +0200 Subject: Changement de format pour l'export, ajout des boutons qui vont avec + divers --- static/outilspage.js | 26 ++++++++++++++++++++++++++ static/requetes.js | 51 ++++++++++++++++++++++++++++++++++++++++++++++++--- static/style.css | 13 +++++++++++++ 3 files changed, 87 insertions(+), 3 deletions(-) (limited to 'static') diff --git a/static/outilspage.js b/static/outilspage.js index de87963..8da9e88 100644 --- a/static/outilspage.js +++ b/static/outilspage.js @@ -23,3 +23,29 @@ function ajoutelignes() } } + +// Affichage de la textarea "export" +function affiche_export() +{ + document.getElementById("export").style.display = "block" ; + +} + +function affiche_cache(id,elemcourant) +{ + // affiche et/ou cache l'élément id, tout en changeant le this + // en afficher/masquer + elem = document.getElementById(id) + if(elem.style.display == "block") + { + elem.style.display = "none"; + elemcourant.innerHTML = "Afficher" ; + } + else + { + elem.style.display = "block" ; + elemcourant.innerHTML = "Masquer" ; + + } + +} diff --git a/static/requetes.js b/static/requetes.js index 072e880..b7e719a 100644 --- a/static/requetes.js +++ b/static/requetes.js @@ -9,21 +9,34 @@ function appelle_image() requete.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { + // On nettoie + nettoie_erreurs() + // on récupère les différents champs de la réponse var result = this.response.result ; var image = this.response.image ; var liste_warnings = this.response.messages var texte = this.response.export_txt; + var nomenfant = this.response.nomenfant ; + // on affiche l'export des données document.getElementById('export').innerHTML = texte; document.getElementById('sectionexport').style.display = "block"; + + + var boutondl = document.getElementById("export_dl") ; + boutondl.setAttribute('onclick',"download_file('donnees_"+nomenfant+".json', 'application/json;charset=utf-8','"+encodeURIComponent(texte) +"')") + if(result == "success") - { + { // On affiche l'image document.getElementById('courbe').src = 'data:image/png;base64,'+(image); document.getElementById('sectioncourbe').style.display = "block"; - + + //document.getElementById("courbe_dl").setAttribute('href', 'data:image/png;base64,' + image); + boutondl = document.getElementById("courbe_dl") ; + boutondl.setAttribute('onclick',"download_file('courbe_"+nomenfant+".png', 'image/png;base64','"+image +"')") // Si y'a eu des warnings, faut les afficher if(liste_warnings.length != 0) @@ -41,7 +54,7 @@ function appelle_image() } else{ // si la génération de l'image a merdé - // afficher la liste des warnings + // afficher la liste des erreurs var elem_div = document.getElementById('courbe_erreurs') ; elem_div.style.display = "block" ; var ul = elem_div.children[1] ; @@ -58,3 +71,35 @@ function appelle_image() requete.open("POST","courbe/b64",true) requete.send(formData) } + +function nettoie_erreurs() +{ + // fonction qui nettoie les erreurs affichées sur la page + // vider les warnings + var elem_div = document.getElementById('courbe_warnings') ; + elem_div.style.display = "none" ; + var ul = elem_div.children[1] ; + ul.innerHTML = ""; + + // vider les erreurs + elem_div = document.getElementById('courbe_erreurs') ; + elem_div.style.display = "none" ; + ul = elem_div.children[1] ; + ul.innerHTML = "" ; + +} + + +function download_file(filename,mimetype,data) { + var element = document.createElement('a'); + element.setAttribute('href', 'data:'+mimetype+',' + data); + element.setAttribute('download', filename); + + element.style.display = 'none'; + document.body.appendChild(element); + + element.click(); + + document.body.removeChild(element); + +} diff --git a/static/style.css b/static/style.css index 3113832..58fdd24 100644 --- a/static/style.css +++ b/static/style.css @@ -13,6 +13,7 @@ body { #export { width: 25em; height: 20em; + display:none; } #courbe_warnings { @@ -22,3 +23,15 @@ body { #courbe_erreurs { display: none; } + +#import_donnees, #pref_graphique{ + display: none; +} + +.bouton { + text-decoration: underline; +} + +.bouton:hover { + cursor:pointer; +} -- cgit v1.2.3