From ac54e34b75150e5ad875766e2c8bc174b041779c Mon Sep 17 00:00:00 2001 From: tofulm Date: Thu, 13 Apr 2023 09:20:32 +0200 Subject: [PATCH] feat: ajout ordreCol pour le json --- gamuform/exemple.php | 8 +++++--- gamuform_fonctions.php | 28 +++++++++++++++++++++++++++- json_gamuform.json.html | 6 ++++++ 3 files changed, 38 insertions(+), 4 deletions(-) diff --git a/gamuform/exemple.php b/gamuform/exemple.php index 50320a7..4c6ca08 100644 --- a/gamuform/exemple.php +++ b/gamuform/exemple.php @@ -31,6 +31,7 @@ function gamuform_exemple_dist(){ 'header' => 'Type', 'classes' => 'w200p', 'filtreCol' => 'select', + 'ordreCol' => 'asc', 'crayons' => 'nom_objet_SPIP', // nom de l'objet du crayons 'fonction' => 'Majuscules', // fonction php pour filtre le contenu du champ, elle recoit en argument la valeur du champ ] @@ -46,9 +47,10 @@ function gamuform_exemple_dist(){ // s'appelle _array_maSuperFonction ou simplement maSuperFonction, elle recoit en arg, l'array de la ligne (fetsel) et non simplement la valeur du champ ], 'gamutable' => [ - 'champ' => 'desc_type_intervention', - 'header' => 'Compétition', - 'classes' => 'w200p', + 'champ' => 'desc_type_intervention', + 'header' => 'Compétition', + 'ordreCol' => 'desc', + 'classes' => 'w200p', ] ], [ diff --git a/gamuform_fonctions.php b/gamuform_fonctions.php index 91915aa..6038375 100644 --- a/gamuform_fonctions.php +++ b/gamuform_fonctions.php @@ -230,6 +230,32 @@ function gamuform_recup_crayons(string $objet):array { } return $c; } +/** + * recuperation des ordreCol de l'objet que l'on veut afficher dans gamutable + * + * @param String $objet + * + * @return Array + */ +function gamuform_recup_ordreCol(string $objet):array { + $c = []; + + if (gamuform_objet_autoriser($objet)) { + $T = gamuform_recup_tableau_objet($objet); + + if (!empty($T)) { + foreach ($T as $s) { + if ( + !empty($s['gamutable']['ordreCol']) + and $champ = $s['gamutable']['champ'] ?? $s['options']['nom'] + ) { + $c[$champ] = $s['gamutable']['ordreCol']; + } + } + } + } + return $c; +} /** * recuperation des filtreCol de l'objet que l'on veut afficher dans gamutable * @@ -242,7 +268,6 @@ function gamuform_recup_filtreCol(string $objet):array { if (gamuform_objet_autoriser($objet)) { $T = gamuform_recup_tableau_objet($objet); - if (!empty($T)) { foreach ($T as $s) { if ( @@ -255,6 +280,7 @@ function gamuform_recup_filtreCol(string $objet):array { } } } + return $c; } diff --git a/json_gamuform.json.html b/json_gamuform.json.html index f27fec1..7221a86 100644 --- a/json_gamuform.json.html +++ b/json_gamuform.json.html @@ -5,6 +5,7 @@ #SET{champs,#ENV{objet}|gamuform_recup_champs_gamutable} #SET{classes,#ENV{objet}|gamuform_recup_classes} #SET{filtreCol,#ENV{objet}|gamuform_recup_filtreCol} +#SET{ordreCol,#ENV{objet}|gamuform_recup_ordreCol} #SET{crayons,#ENV{objet}|gamuform_recup_crayons} [{ @@ -24,6 +25,11 @@ [(#CLE|json_encode)] : [(#VALEUR|json_encode)] }, +"ordreCol" : { + + [(#CLE|json_encode)] : [(#VALEUR|json_encode)] + +}, "filtreCol" : { [(#CLE|json_encode)] : [(#VALEUR|json_encode)]