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>, 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> 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 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 unique. Les paramètres de configuration de la classe
<emphasis>LSattr_html_select_list</emphasis> et sont donc exactement les mêmes.</para> <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> </sect4>

View file

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

View file

@ -8,3 +8,7 @@ ul.LSformElement_selectbox_sub_values {
list-style-type: none; list-style-type: none;
padding-left: 1em; 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(){ public function getDisplay(){
if (!$this -> isFreeze()) { if (!$this -> isFreeze()) {
LStemplate :: addCssFile('LSformElement_select_box.css'); LStemplate :: addCssFile('LSformElement_select_box.css');
$this -> fetchVariables['inline'] = $this -> getParam('html_options.inline', false, 'bool');
} }
return parent :: getDisplay(); 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} {if $freeze}
{foreach from=$values item=value} {foreach from=$values item=value}
{LSformElement_select_checkIsValidValue value=$value possible_values=$possible_values} {LSformElement_select_checkIsValidValue value=$value possible_values=$possible_values}