simplification présentation
FossilOrigin-Name: 7a7f325fb3557295b7c06f70c4e493155a76e7021000f49c2416470ac46312b6
This commit is contained in:
parent
6533f9d1b4
commit
4b4cd91110
@ -71,25 +71,26 @@ $tpl->register_function('afficher_debut_personne', function ($params)
|
|||||||
|
|
||||||
$personne = $_SESSION['membresDonateurs'][$idUser];
|
$personne = $_SESSION['membresDonateurs'][$idUser];
|
||||||
$out = '<details class="personne" open="open">
|
$out = '<details class="personne" open="open">
|
||||||
<summary class="personne">';
|
<summary class="personne">
|
||||||
$out .= sprintf('<h4 class="personne">Versements de %s : <span class="total" id="total_%s">0,00 €</span></h4>',
|
<h4 class="personne">';
|
||||||
$personne->nomPrenom,
|
|
||||||
$idVersement);
|
|
||||||
$out .= '</summary>';
|
|
||||||
$out .= sprintf('
|
$out .= sprintf('
|
||||||
<fieldset class="versements" id="versements_%s">',
|
<input type="checkbox" id="check_%s"',
|
||||||
$idVersement);
|
|
||||||
$out .= sprintf('
|
|
||||||
<input type="checkbox" id="check_%s"',
|
|
||||||
$idVersement);
|
$idVersement);
|
||||||
$out .= sprintf(' onclick="cocherDecocherPersonne(check_%s, total_%s)" />',
|
$out .= sprintf(' onclick="cocherDecocherPersonne(check_%s, total_%s)" />',
|
||||||
$idVersement,
|
$idVersement,
|
||||||
$idVersement);
|
$idVersement);
|
||||||
$out .= sprintf('
|
$out .= sprintf('
|
||||||
<label for="check_%s">Cliquer pour cocher toutes les lignes</label>',
|
<label for="check_%s"></label>',
|
||||||
$idVersement);
|
$idVersement);
|
||||||
$out .= '<br />
|
$out .= sprintf('%s : <span class="total" id="total_%s">0,00 €</span>',
|
||||||
<hr>';
|
$personne->nomPrenom,
|
||||||
|
$idVersement);
|
||||||
|
$out .= '</h4></summary>';
|
||||||
|
$out .= sprintf('
|
||||||
|
<fieldset class="versements" id="versements_%s">',
|
||||||
|
$idVersement);
|
||||||
|
// $out .= '<br />
|
||||||
|
// <hr>';
|
||||||
return $out;
|
return $out;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
"use strict";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Fonction appelée quand on (dé)coche la case de sélection globale
|
* Fonction appelée quand on (dé)coche la case de sélection globale
|
||||||
* (dé)sélectionner toutes les cases à cocher de toutes les activités
|
* (dé)sélectionner toutes les cases à cocher de toutes les activités
|
||||||
@ -19,7 +21,7 @@ function cocherDecocherTout(idCaseGlobale)
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* idem dans le cas des versements des personnes
|
* idem dans le cas des versements des personnes
|
||||||
*/
|
*/
|
||||||
function cocherDecocherToutesLesPersonnes(idCaseGlobale)
|
function cocherDecocherToutesLesPersonnes(idCaseGlobale)
|
||||||
{
|
{
|
||||||
var lesPersonnes = document.querySelectorAll("h4.personne");
|
var lesPersonnes = document.querySelectorAll("h4.personne");
|
||||||
@ -34,11 +36,10 @@ function cocherDecocherLesPersonnes(idCaseGlobale, lesPersonnes)
|
|||||||
// trouver l'élément total de la personne
|
// trouver l'élément total de la personne
|
||||||
var idTotal = lesPersonnes[j].querySelector("span");
|
var idTotal = lesPersonnes[j].querySelector("span");
|
||||||
// puis la case à cocher
|
// puis la case à cocher
|
||||||
var fieldset = lesPersonnes[j].closest("details").querySelector("fieldset");
|
var idCase = lesPersonnes[j].closest("summary").querySelector("input");
|
||||||
var idCase = fieldset.querySelector("input");
|
|
||||||
idCase.checked = idCaseGlobale.checked;
|
idCase.checked = idCaseGlobale.checked;
|
||||||
// puis traiter toutes les cases de la personne
|
// puis traiter toutes les cases de la personne
|
||||||
cocherDecocherPersonne(idCase, idTotal, false);
|
cocherDecocherPersonne(idCase, idTotal);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -49,9 +50,8 @@ function cocherDecocherLesPersonnes(idCaseGlobale, lesPersonnes)
|
|||||||
*
|
*
|
||||||
* @param id de la case qui a été cochée
|
* @param id de la case qui a été cochée
|
||||||
* @param id de l'élément où afficher le total
|
* @param id de l'élément où afficher le total
|
||||||
* @param changer : vrai, s'il faut changer le message de la personne
|
|
||||||
*/
|
*/
|
||||||
function cocherDecocherPersonne(idCase, idTotal, changer = true)
|
function cocherDecocherPersonne(idCase, idTotal)
|
||||||
{
|
{
|
||||||
// chercher le fieldset des versements
|
// chercher le fieldset des versements
|
||||||
var fieldset = idCase.closest("details").querySelector("fieldset");
|
var fieldset = idCase.closest("details").querySelector("fieldset");
|
||||||
@ -63,8 +63,6 @@ function cocherDecocherPersonne(idCase, idTotal, changer = true)
|
|||||||
// calculer et afficher le total
|
// calculer et afficher le total
|
||||||
var listeMontants = fieldset.querySelectorAll("span.montant");
|
var listeMontants = fieldset.querySelectorAll("span.montant");
|
||||||
calculerTotal(listeCases, listeMontants, idTotal);
|
calculerTotal(listeCases, listeMontants, idTotal);
|
||||||
// changer le message
|
|
||||||
if (changer) { changerMessage(idCase.nextElementSibling, idCase); }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -87,17 +85,17 @@ function cocherDecocherVersement(idCase, idTotal)
|
|||||||
* @param listes des cases
|
* @param listes des cases
|
||||||
* @param listes des montants associés
|
* @param listes des montants associés
|
||||||
* @param id de l'élément où afficher le total
|
* @param id de l'élément où afficher le total
|
||||||
*/
|
*/
|
||||||
function calculerTotal(listeCases, listeMontants, idTotal)
|
function calculerTotal(listeCases, listeMontants, idTotal)
|
||||||
{
|
{
|
||||||
var total = 0;
|
var total = 0;
|
||||||
for (var i = 1; i < listeCases.length; ++i)
|
for (var i = 0; i < listeCases.length; ++i)
|
||||||
{
|
{
|
||||||
if (listeCases[i].checked) {
|
if (listeCases[i].checked) {
|
||||||
total += parseFloat(listeMontants[i-1].textContent.replace(/\s/g, ""));
|
total += parseFloat(listeMontants[i].textContent.replace(/\s/g, ""));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// "afficher" le total
|
// afficher le total
|
||||||
idTotal.innerHTML =
|
idTotal.innerHTML =
|
||||||
total.toLocaleString('fr-FR', {style: 'currency', currency: 'EUR',
|
total.toLocaleString('fr-FR', {style: 'currency', currency: 'EUR',
|
||||||
minimumFractionDigits: 2});
|
minimumFractionDigits: 2});
|
||||||
@ -105,7 +103,7 @@ function calculerTotal(listeCases, listeMontants, idTotal)
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* changer le message en fonction de l'état coché de la case
|
* changer le message en fonction de l'état coché de la case
|
||||||
*/
|
*/
|
||||||
function changerMessage(message, idCase)
|
function changerMessage(message, idCase)
|
||||||
{
|
{
|
||||||
if (idCase.checked) {
|
if (idCase.checked) {
|
||||||
@ -119,7 +117,7 @@ function changerMessage(message, idCase)
|
|||||||
* fonction appelée lors de la validation du formulaire
|
* fonction appelée lors de la validation du formulaire
|
||||||
* @return vrai si au moins un choix a été fait
|
* @return vrai si au moins un choix a été fait
|
||||||
* @param : formulaire
|
* @param : formulaire
|
||||||
*/
|
*/
|
||||||
function verifierChoix(formulaire)
|
function verifierChoix(formulaire)
|
||||||
{
|
{
|
||||||
var listeCheck = formulaire.getElementsByTagName("input");
|
var listeCheck = formulaire.getElementsByTagName("input");
|
||||||
|
@ -26,15 +26,19 @@ span.total
|
|||||||
{
|
{
|
||||||
font-weight : bold;
|
font-weight : bold;
|
||||||
}
|
}
|
||||||
summary.activite {
|
summary.activite
|
||||||
|
{
|
||||||
background: rgba(var(--gMainColor), 0.25);
|
background: rgba(var(--gMainColor), 0.25);
|
||||||
margin-bottom : 0.5em;
|
margin-bottom : 0.5em;
|
||||||
}
|
}
|
||||||
summary.personne
|
summary.personne
|
||||||
{
|
{
|
||||||
margin-bottom : 0.5em;
|
margin-bottom : 0.5em;
|
||||||
|
padding-top : 0;
|
||||||
|
padding-bottom : 0;
|
||||||
}
|
}
|
||||||
h3.personne, h4.personne {
|
h3.personne, h4.personne
|
||||||
|
{
|
||||||
font-weight : normal;
|
font-weight : normal;
|
||||||
background: rgba(var(--gSecondColor), 0.15);
|
background: rgba(var(--gSecondColor), 0.15);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user