Browse Source

Fix #20

Proposer une option `vue_masquer_sous_groupe` pour ne pas afficher le groupe
dans la vue d'une saisie en data (selection, checkboxe).

Par cohérence de nomenclatura, on inverse le second argument de
`saisies_aplatir_tableau()`, qu'aucun plugin n'utilisait pour l'heure
sur la zone.
pull/122/head
Maïeul 1 year ago
parent
commit
d6e4c1b98e
  1. 10
      inc/saisies_data.php
  2. 3
      lang/saisies_fr.php
  3. 2
      saisies-vues/checkbox.html
  4. 2
      saisies-vues/radio.html
  5. 2
      saisies-vues/selection.html
  6. 2
      saisies-vues/selection_multiple.html
  7. 7
      saisies/checkbox.yaml
  8. 7
      saisies/radio.yaml
  9. 7
      saisies/selection.yaml
  10. 7
      saisies/selection_multiple.yaml

10
inc/saisies_data.php

@ -199,11 +199,11 @@ function saisies_trouver_choix_alternatif($data, $valeur) {
* Ex : les data d'une saisie de type select
*
* @param array $tab Le tableau à aplatir
* @param bool $montrer_groupe mettre à false pour ne pas montrer le sous-groupe dans les label humain
* @param bool $masquer_sous_groupe mettre à true pour ne pas montrer le sous-groupe dans les label humain
*
* @return array
*/
function saisies_aplatir_tableau($tab, $montrer_groupe = true) {
function saisies_aplatir_tableau($tab, $masquer_sous_groupe = false) {
$nouveau_tab = array();
if (is_string($tab)) {
$tab = saisies_chaine2tableau($tab);
@ -212,10 +212,10 @@ function saisies_aplatir_tableau($tab, $montrer_groupe = true) {
foreach ($tab as $entree => $contenu) {
if (is_array($contenu)) {
foreach ($contenu as $cle => $valeur) {
if ($montrer_groupe) {
$nouveau_tab[$cle] = _T('saisies:saisies_aplatir_tableau_montrer_groupe', array('valeur' => $valeur, 'groupe' => $entree));
} else {
if ($masquer_sous_groupe) {
$nouveau_tab[$cle] = $valeur;
} else {
$nouveau_tab[$cle] = _T('saisies:saisies_aplatir_tableau_montrer_groupe', array('valeur' => $valeur, 'groupe' => $entree));
}
}
} else {

3
lang/saisies_fr.php

@ -205,6 +205,7 @@ Vous trouverez la <a href="https://contrib.spip.net/5080" target="_blank" rel="n
'option_type_text' => 'Normal',
'option_valeur_non_label' => 'Valeur non',
'option_valeur_oui_label' => 'Valeur oui',
'option_vue_masquer_sous_groupe' => 'Lors de l\'affichage du résultat, n\'afficher que la valeur, sans le sous-groupe',
// P
'plugin_yaml_inactif' => 'Le plugin YAML est inactif. Vous devez l’activer pour que cette page soit fonctionnelle.',
@ -267,7 +268,7 @@ Vous trouverez la <a href="https://contrib.spip.net/5080" target="_blank" rel="n
// V
'verifier_saisies_option_data_cle_manquante' => 'Syntaxe incorrecte. Confondriez vous le caractère pipe (|) le le L minuscule (l) ?',
'verifier_saisies_option_data_cles_doubles' => 'Au moins une clé est définie en double.',
'verifier_saisies_option_data_sous_groupes_interdits' => 'Syntaxe incorrecte. Les sous-groupe ne sont pas autorisés.',
'verifier_saisies_option_data_sous_groupes_interdits' => 'Syntaxe incorrecte. Les sous-groupes ne sont pas autorisés.',
'verifier_saisies_option_data_verifier_cles_erreurs' => 'Syntaxe incorrecte. Certaines clés ne répondent pas aux critères.',
'verifier_valeurs_acceptables_explication' => 'Vérifier que la valeur postée se trouve parmi celles autorisées lors de la définition des champs. Ne pas utiliser cette option si vous remplissez dynamiquement des champs dans vos squelettes ou les remplissez grâce à javascript.',
'verifier_valeurs_acceptables_label' => 'Vérifier les valeurs acceptables',

2
saisies-vues/checkbox.html

@ -1,5 +1,5 @@
[(#REM) data peut être une chaine qu'on sait décomposer ]
#SET{data, #ENV*{data, #ENV*{datas}}|saisies_aplatir_tableau}
#SET{data, #ENV*{data, #ENV*{datas}}|saisies_aplatir_tableau{#ENV{vue_masquer_sous_groupe}}}
#SET{valeur, #ENV{valeur}|saisies_valeur2tableau{#GET{data}}}
<B_choix>
<ul class="spip">

2
saisies-vues/radio.html

@ -1,5 +1,5 @@
[(#REM) data peut être une chaine qu'on sait décomposer ]
#SET{data, #ENV*{data, #ENV*{datas}}|saisies_aplatir_tableau}
#SET{data, #ENV*{data, #ENV*{datas}}|saisies_aplatir_tableau{#ENV{vue_masquer_sous_groupe}}}
[(#ENV{cle_ou_valeur,valeur}|=={cle}|?{
[<p>(#ENV{valeur})</p>],
[<p>(#GET{data/#ENV{valeur}})</p>]

2
saisies-vues/selection.html

@ -1,6 +1,6 @@
[(#REM) data peut être une chaine qu'on sait décomposer ]
<BOUCLE_simple(CONDITION){si #ENV{multiple}|non}>
#SET{data, #ENV*{data, #ENV*{datas}}|saisies_aplatir_tableau}
#SET{data, #ENV*{data, #ENV*{datas}}|saisies_aplatir_tableau{#ENV{vue_masquer_sous_groupe}}}
[(#ENV{cle_ou_valeur,valeur}|=={cle}|?{
[<p>(#ENV{valeur})</p>],
[<p>(#GET{data/#ENV{valeur}})</p>]

2
saisies-vues/selection_multiple.html

@ -1,6 +1,6 @@
[(#REM) data peut être une chaine qu'on sait décomposer ]
#SET{data, #ENV*{data, #ENV*{datas}}|saisies_aplatir_tableau}
#SET{valeur, #ENV*{valeur}|saisies_valeur2tableau}
#SET{valeur, #ENV*{valeur}|saisies_valeur2tableau{#ENV{vue_masquer_sous_groupe}}}
<B_choix>
<ul>
<BOUCLE_choix(DATA){source tableau, #GET{valeur}}>

7
saisies/checkbox.yaml

@ -36,6 +36,13 @@ options:
cols: 50
verifier:
type: 'saisies_option_data'
-
saisie: 'case'
options:
nom: 'vue_masquer_sous_groupe'
label_case: '<:saisies:option_vue_masquer_sous_groupe:>'
conteneur_class: 'pleine_largeur'
afficher_si: "@datas@ MATCH '/^\*/m'"
-
saisie: 'textarea'
options:

7
saisies/radio.yaml

@ -36,6 +36,13 @@ options:
cols: 50
verifier:
type: 'saisies_option_data'
-
saisie: 'case'
options:
nom: 'vue_masquer_sous_groupe'
label_case: '<:saisies:option_vue_masquer_sous_groupe:>'
conteneur_class: 'pleine_largeur'
afficher_si: "@datas@ MATCH '/^\*/m'"
-
saisie: 'input'
options:

7
saisies/selection.yaml

@ -36,6 +36,13 @@ options:
cols: 50
verifier:
type: 'saisies_option_data'
-
saisie: 'case'
options:
nom: 'vue_masquer_sous_groupe'
label_case: '<:saisies:option_vue_masquer_sous_groupe:>'
conteneur_class: 'pleine_largeur'
afficher_si: "@datas@ MATCH '/^\*/m'"
-
saisie: 'input'
options:

7
saisies/selection_multiple.yaml

@ -37,6 +37,13 @@ options:
cols: 50
verifier:
type: 'saisies_option_data'
-
saisie: 'case'
options:
nom: 'vue_masquer_sous_groupe'
label_case: '<:saisies:option_vue_masquer_sous_groupe:>'
conteneur_class: 'pleine_largeur'
afficher_si: "@datas@ MATCH '/^\*/m'"
-
saisie: 'textarea'
options:

Loading…
Cancel
Save