LSattr_html::select_box: add inline parameter

This commit is contained in:
Benjamin Renard 2021-06-11 18:26:25 +02:00
parent bc652f81f8
commit df57967669
5 changed files with 35 additions and 5 deletions

View file

@ -4,6 +4,29 @@
excepté qu'il utilise en lieu et place d'une balise HTML <literal>select</literal>,
plusieurs balises HTML <literal>input</literal> de type <literal>checkbox</literal>
en cas de valeurs multiples ou de type <literal>radio</literal> en cas de valeur
unique. Les paramètres de configuration sont entièrement hérités de la classe
<emphasis>LSattr_html_select_list</emphasis> et sont donc exactement les mêmes.</para>
unique. Les paramètres de configuration de la classe
<emphasis>LSattr_html_select_list</emphasis> sont tous hérités et fonctionnent donc
de la même manière. Par ailleurs, ce type dispose également de paramètres qui lui
sont propre (voir ci-dessous).</para>
<programlisting linenumbering="unnumbered">
<citetitle>Structure</citetitle>...
<![CDATA['html_options' => array (
'inline' => [Booléen],
),]]>
...
</programlisting>
<variablelist>
<title>Paramètres de configuration</title>
<varlistentry>
<term>inline</term>
<listitem>
<simpara>Booléen définissant si les valeurs possibles doivent être
affichées sur une même ligne ou non (Faux par défaut).</simpara>
</listitem>
</varlistentry>
</variablelist>
</sect4>

View file

@ -436,13 +436,15 @@ $GLOBALS['LSobjects']['LSpeople'] = array (
'personalTitle' => array (
'label' => 'Civility',
'ldap_type' => 'ascii',
'html_type' => 'select_list',
'html_type' => 'select_box',
'html_options' => array (
'possible_values' => array(
'M.' => 'Mr',
'Mme' => 'Mrs',
'Mlle' => 'Ms',
'M.' => 'Mr',
),
'inline' => true,
'sort' => false,
),
'required' => 1,
'default_value' => 'M.',

View file

@ -8,3 +8,7 @@ ul.LSformElement_selectbox_sub_values {
list-style-type: none;
padding-left: 1em;
}
ul.LSformElement_select_box_inline li {
display: inline-block;
}

View file

@ -46,6 +46,7 @@ class LSformElement_select_box extends LSformElement_select {
public function getDisplay(){
if (!$this -> isFreeze()) {
LStemplate :: addCssFile('LSformElement_select_box.css');
$this -> fetchVariables['inline'] = $this -> getParam('html_options.inline', false, 'bool');
}
return parent :: getDisplay();
}

View file

@ -1,4 +1,4 @@
<ul class='LSform' id='{$attr_name|escape:"htmlall"}'>
<ul class='LSform{if $inline} LSformElement_select_box_inline{/if}' id='{$attr_name|escape:"htmlall"}'>
{if $freeze}
{foreach from=$values item=value}
{LSformElement_select_checkIsValidValue value=$value possible_values=$possible_values}