// fonctions générales pour la page
+var taillemaxdate = 10;
+var placeholder_date = "aaaa-mm-jj" ;
+
+
function ajoutelignes()
{
// va ajouter 3 lignes au tableau de données
var nbligne = table.children[0].childElementCount ;
// les données étant numérotées à partir de 0 on pourra commencer à partir de nbligne -1
// car il faut éliminer la ligne de header.
+
+ // voir dans quel mode on est : date ou texte
+ var deuxiemeligne = table.children[0].children[1] ;
+ var celldate = deuxiemeligne.children[1] ;
+ var mode = celldate.firstChild.type ;
var nbajout = 3 ;
for(var i=nbligne-1; i<nbligne+nbajout-1; i++)
var cellage = ligne.insertCell(0);
var celldate = ligne.insertCell(1);
var cellpoids = ligne.insertCell(2);
+ var celltaille = ligne.insertCell(3);
- cellage.innerHTML = '<input type="text" name="age_'+i+'">' ;
- celldate.innerHTML = '<input type="date" name="date_'+i+'">' ;
- cellpoids.innerHTML = '<input type="text" name="poids_'+i+'">' ;
-
+ cellage.innerHTML = '<input type="text" class="data" name="age_'+i+'">' ;
+ celldate.innerHTML = '<input name="date_'+i+'">' ;
+ celldate.firstChild.type = mode ;
+ if(mode == "text") // si on a déjà affiché les cases en mode texte, on continue en mode texte
+ {
+ celldate.firstChild.size = taillemaxdate ;
+ celldate.firstChild.maxlength = taillemaxdate ;
+ celldate.firstChild.placeholder = placeholder_date ;
+ }
+ cellpoids.innerHTML = '<input type="text" class="data" name="poids_'+i+'">' ;
+ celltaille.innerHTML = '<input type="text" class="data" name="taille_'+i+'">' ;
+ celltaille.classList.add("donneesplus") ;
+ if(deuxiemeligne.children[3].style.display == "block")
+ celltaille.style.display = "block" ;
}
}
-// Affichage de la textarea "export"
+// Affichage de la section "export"
function affiche_export()
{
document.getElementById("export").style.display = "block" ;
-
+}
+// Copier vers le presse-papiers
+function copietexte()
+{
+ var elt = document.getElementById("export_texte");
+
+ /* Select the text field */
+ elt.select();
+ elt.setSelectionRange(0, 99999); /* For mobile devices */
+
+ /* Copy the text inside the text field */
+ document.execCommand("copy");
+
}
function affiche_cache(id,elemcourant)
}
}
+
+function affiche_cache_classe(classe)
+{
+ // affiche et/ou cache tous les éléments de la classe classe (et change le texte du this)
+ var listelem = document.getElementsByClassName(classe) ;
+ var attributaff ;
+ if(listelem[0].style.display != "block") // c'est caché, donc on veut afficher
+ {
+ document.getElementById("bouton_afficher_donneesplus").innerHTML = "Masquer" ;
+ attributaff = "block" ;
+ }
+ else
+ {
+ document.getElementById("bouton_afficher_donneesplus").innerHTML = "Afficher" ;
+ attributaff = "none" ;
+ }
+
+ for(var i=0;i<listelem.length; i++)
+ {
+ listelem[i].style.display = attributaff ;
+ }
+}
+
+function affiche_donneesplus_sibesoin()
+{
+ // fonction à appeler au chargement de la page
+ // On parcourt le tableau des tailles (ou autres) et on voit si y'a
+ // des choses dans les champs
+ var trouve = false ;
+ var liste_cases = document.getElementsByTagName("td") ;
+ //alert(liste_cases[3].children[0].value+liste_cases[3].classList) ;
+ for(i=0; i<liste_cases.length && !(trouve); i++)
+ {
+ // Si une des cases "données plus" contient un truc non vide
+ if(liste_cases[i].classList == "donneesplus" && liste_cases[i].children[0].value != "")
+ {
+ trouve = true ;
+ }
+ }
+ if(trouve)
+ affiche_cache_classe("donneesplus")
+}
+
+function change_mode_dates(mode)
+{
+ // passe de l'affichage en mode "date" à l'affichage en mode "texte" pour les navigateurs
+ // qui gèrent mal le mode date
+ var listeinput = document.getElementsByTagName("input") ;
+ for(i=0;i<listeinput.length;i++)
+ {
+ var nombalise = listeinput[i].name ;
+ if(nombalise == "naissance" || nombalise.slice(0,5) == "date_")
+ {
+ if(mode == "date") {
+ listeinput[i].maxlength = taillemaxdate ;
+ listeinput[i].value = listeinput[i].value.replace(/\//g, "-") ; // remplacer les / par des -
+ }
+
+ listeinput[i].type = mode ;
+ listeinput[i].size = taillemaxdate ;
+ listeinput[i].placeholder = placeholder_date ;
+ }
+ }
+
+ // changer le texte et le bouton.
+ var elem = document.getElementById("changemode") ;
+ if(mode =="text")
+ {
+ elem.innerHTML = "Saisie des dates au format aaaa-mm-jj. <span onclick=\"change_mode_dates('date')\" class=\"bouton\">Cliquez ici</span> pour revenir à une saisie de dates « confortable » avec le calendrier."
+ }
+ else
+ {
+ elem.innerHTML = "<span onclick=\"change_mode_dates('text')\" class=\"bouton\">Cliquez ici</span> pour saisir les dates comme du texte."
+ }
+}
+
+function ajoute_enfants()
+{
+ var eltul = document.getElementById("liste_enfants_add") ;
+ var nblignes = eltul.childElementCount ;
+ var elt1 = eltul.children[0] ;
+ //alert(elt1.innerHTML) ;
+ var texte = elt1.innerHTML ;
+ // Il faut remplacer les nblignes 2 par des nblignes +2
+ texte = texte.replace("fichier_donnees_"+(2), "fichier_donnees_"+(nblignes +2)) ;
+ texte = texte.replace("fichier_donnees_"+(2), "fichier_donnees_"+(nblignes +2)) ;
+ texte = texte.replace("fichier_donnees_"+(2), "fichier_donnees_"+(nblignes +2)) ;
+ texte = texte.replace("symbole_donnees_"+(2), "symbole_donnees_"+(nblignes +2)) ;
+ texte = texte.replace("couleur_donnees_"+(2), "couleur_donnees_"+(nblignes +2)) ;
+
+ // Enlever le "selected"
+ texte = texte.replace("selected", "") ;
+
+ var elt2 = document.createElement("li") ;
+ elt2.innerHTML = texte ;
+
+ // remettre le "selected" au bon endroit
+ var options = elt2.getElementsByTagName("option") ;
+ // Trouver le nblignes-ième élément
+ var numero = (nblignes +1) % options.length ;
+ //Sélectionner l'élément en question
+ var monoption = options[numero] ;
+ monoption.setAttribute("selected", true) ;
+
+ eltul.appendChild(elt2) ;
+
+}
+
+function vide_champ(nom)
+{
+ // vide le champ d'id proposé
+ var elt = document.getElementById(nom) ;
+ elt.value = "" ;
+}
+
+function ajoute_reperes()
+{ // ajoute des repères
+ var eltul = document.getElementById("ajoutereperecourbe") ;
+ var nblignes = eltul.childElementCount ;
+// alert(nblignes) ;
+ var nb_additionnel = 2;
+ for(var i=nblignes; i<nblignes+nb_additionnel ; i++)
+ {
+ var elt = document.createElement("li") ;
+ elt.innerHTML = 'Âge : <input class="data" type="text" name="repere_age_'+i+'" value=""> Texte associé : <input class="texte" type="text" name="repere_texte_'+i+'" value=""> Tracer : <input type="checkbox" name="repere_trace_'+i+'">' ;
+ eltul.appendChild(elt) ;
+ }
+
+}