From df57967669b2e9b6ef9679cb8dd8b3b83811d2e4 Mon Sep 17 00:00:00 2001 From: Benjamin Renard Date: Fri, 11 Jun 2021 18:26:25 +0200 Subject: [PATCH] LSattr_html::select_box: add inline parameter --- .../LSattr_html_select_box.docbook | 27 +++++++++++++++++-- .../LSobjects/config.LSobjects.LSpeople.php | 6 +++-- src/css/default/LSformElement_select_box.css | 4 +++ .../class/class.LSformElement_select_box.php | 1 + .../default/LSformElement_select_box.tpl | 2 +- 5 files changed, 35 insertions(+), 5 deletions(-) diff --git a/doc/conf/LSattribute/LSattr_html/LSattr_html_select_box.docbook b/doc/conf/LSattribute/LSattr_html/LSattr_html_select_box.docbook index dcad39e0..fbef2871 100644 --- a/doc/conf/LSattribute/LSattr_html/LSattr_html_select_box.docbook +++ b/doc/conf/LSattribute/LSattr_html/LSattr_html_select_box.docbook @@ -4,6 +4,29 @@ excepté qu'il utilise en lieu et place d'une balise HTML select, plusieurs balises HTML input de type checkbox en cas de valeurs multiples ou de type radio en cas de valeur - unique. Les paramètres de configuration sont entièrement hérités de la classe - LSattr_html_select_list et sont donc exactement les mêmes. + unique. Les paramètres de configuration de la classe + LSattr_html_select_list 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). + + +Structure... + array ( + 'inline' => [Booléen], +),]]> +... + + + +Paramètres de configuration + + + inline + + Booléen définissant si les valeurs possibles doivent être + affichées sur une même ligne ou non (Faux par défaut). + + + + diff --git a/src/conf/LSobjects/config.LSobjects.LSpeople.php b/src/conf/LSobjects/config.LSobjects.LSpeople.php index a81b74c9..d9e4d38f 100644 --- a/src/conf/LSobjects/config.LSobjects.LSpeople.php +++ b/src/conf/LSobjects/config.LSobjects.LSpeople.php @@ -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.', diff --git a/src/css/default/LSformElement_select_box.css b/src/css/default/LSformElement_select_box.css index fd18c945..657ce318 100644 --- a/src/css/default/LSformElement_select_box.css +++ b/src/css/default/LSformElement_select_box.css @@ -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; +} diff --git a/src/includes/class/class.LSformElement_select_box.php b/src/includes/class/class.LSformElement_select_box.php index ee288a2d..a899a263 100644 --- a/src/includes/class/class.LSformElement_select_box.php +++ b/src/includes/class/class.LSformElement_select_box.php @@ -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(); } diff --git a/src/templates/default/LSformElement_select_box.tpl b/src/templates/default/LSformElement_select_box.tpl index a2ea5efe..469165db 100644 --- a/src/templates/default/LSformElement_select_box.tpl +++ b/src/templates/default/LSformElement_select_box.tpl @@ -1,4 +1,4 @@ -