simplification présentation

FossilOrigin-Name: 7a7f325fb3557295b7c06f70c4e493155a76e7021000f49c2416470ac46312b6
This commit is contained in:
engel 2022-04-25 06:53:47 +00:00
parent 6533f9d1b4
commit 4b4cd91110
3 changed files with 31 additions and 28 deletions

View File

@ -71,25 +71,26 @@ $tpl->register_function('afficher_debut_personne', function ($params)
$personne = $_SESSION['membresDonateurs'][$idUser];
$out = '<details class="personne" open="open">
<summary class="personne">';
$out .= sprintf('<h4 class="personne">Versements de %s : <span class="total" id="total_%s">0,00 €</span></h4>',
$personne->nomPrenom,
$idVersement);
$out .= '</summary>';
<summary class="personne">
<h4 class="personne">';
$out .= sprintf('
<fieldset class="versements" id="versements_%s">',
$idVersement);
$out .= sprintf('
<input type="checkbox" id="check_%s"',
<input type="checkbox" id="check_%s"',
$idVersement);
$out .= sprintf(' onclick="cocherDecocherPersonne(check_%s, total_%s)" />',
$idVersement,
$idVersement);
$out .= sprintf('
<label for="check_%s">Cliquer pour cocher toutes les lignes</label>',
<label for="check_%s"></label>',
$idVersement);
$out .= '<br />
<hr>';
$out .= sprintf('%s : <span class="total" id="total_%s">0,00 €</span>',
$personne->nomPrenom,
$idVersement);
$out .= '</h4></summary>';
$out .= sprintf('
<fieldset class="versements" id="versements_%s">',
$idVersement);
// $out .= '<br />
// <hr>';
return $out;
});

View File

@ -1,3 +1,5 @@
"use strict";
/**
* Fonction appelée quand on ()coche la case de sélection globale
* ()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
*/
*/
function cocherDecocherToutesLesPersonnes(idCaseGlobale)
{
var lesPersonnes = document.querySelectorAll("h4.personne");
@ -34,11 +36,10 @@ function cocherDecocherLesPersonnes(idCaseGlobale, lesPersonnes)
// trouver l'élément total de la personne
var idTotal = lesPersonnes[j].querySelector("span");
// puis la case à cocher
var fieldset = lesPersonnes[j].closest("details").querySelector("fieldset");
var idCase = fieldset.querySelector("input");
var idCase = lesPersonnes[j].closest("summary").querySelector("input");
idCase.checked = idCaseGlobale.checked;
// 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 l'élément 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
var fieldset = idCase.closest("details").querySelector("fieldset");
@ -63,8 +63,6 @@ function cocherDecocherPersonne(idCase, idTotal, changer = true)
// calculer et afficher le total
var listeMontants = fieldset.querySelectorAll("span.montant");
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 montants associés
* @param id de l'élément afficher le total
*/
*/
function calculerTotal(listeCases, listeMontants, idTotal)
{
var total = 0;
for (var i = 1; i < listeCases.length; ++i)
for (var i = 0; i < listeCases.length; ++i)
{
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 =
total.toLocaleString('fr-FR', {style: 'currency', currency: 'EUR',
minimumFractionDigits: 2});
@ -105,7 +103,7 @@ function calculerTotal(listeCases, listeMontants, idTotal)
/**
* changer le message en fonction de l'état coché de la case
*/
*/
function changerMessage(message, idCase)
{
if (idCase.checked) {
@ -119,7 +117,7 @@ function changerMessage(message, idCase)
* fonction appelée lors de la validation du formulaire
* @return vrai si au moins un choix a été fait
* @param : formulaire
*/
*/
function verifierChoix(formulaire)
{
var listeCheck = formulaire.getElementsByTagName("input");

View File

@ -26,15 +26,19 @@ span.total
{
font-weight : bold;
}
summary.activite {
summary.activite
{
background: rgba(var(--gMainColor), 0.25);
margin-bottom : 0.5em;
}
summary.personne
{
margin-bottom : 0.5em;
padding-top : 0;
padding-bottom : 0;
}
h3.personne, h4.personne {
h3.personne, h4.personne
{
font-weight : normal;
background: rgba(var(--gSecondColor), 0.15);
}