<sect4 id="config-LSattr_html_jsonCompositeAttribute"> <title>LSattr_html_jsonCompositeAttribute</title> <para>Ce type est utilisé pour la gestion des attributs dont les valeurs sont des dictionnaires de valeurs encodées aux formats <emphasis>JSON</emphasis>.</para> <programlisting linenumbering="unnumbered"> <citetitle>Exemple de valeur gérée</citetitle> <![CDATA[{"component1": "value1", "component2": "value2", "component3": "value3"}]]> </programlisting> <para>Le principe est que ces dictionnaires contienent plusieurs composants référencés par leur clé et stockant une valeur dont le type peut être un texte libre ou bien être issue d'une liste déroulante configurable selon le même principe que le type d'attribut &LSattr_html_select_list;.</para> <programlisting linenumbering="unnumbered"> <citetitle>Structure</citetitle>... <![CDATA['html_options' => array ( 'components' => array ( '[clé composant 1]' => array ( 'label' => '[Label du composant]', 'help_info' => '[Message d'aide sur le composant]', 'type' => '[Type de la valeur stocké]', 'required' => [Booléen], 'multiple' => [Booléen], 'check_data' => => array ( // Régle de vérification syntaxique des données saisies ), ), '[clé composant 2]' => array ( 'label' => '[Label du composant 2]', 'type' => 'select_list', 'required' => [Booléen], 'options' => array ( [Configuration équivalente à un attribut LSattr_html_select_list] ) ), [...] ), 'fullWidth' => [booléen], ),]]> ... </programlisting> <variablelist> <title>Paramètres de configuration</title> <varlistentry> <term>components</term> <listitem> <para>Tableau associatif obligatoire contenant en valeur clé, l'identifiant des composants, correspondant à la clé dans le dictionnaire <emphasis>JSON</emphasis>, et en valeurs associés, la configuration du composant.</para> <variablelist> <varlistentry> <term>label</term> <listitem> <simpara>Le label du composant.</simpara> </listitem> </varlistentry> <varlistentry> <term>help_info</term> <listitem> <simpara>Message d'aide sur le composant (affiché uniquement en mode édition). </simpara> </listitem> </varlistentry> <varlistentry> <term>type</term> <listitem> <simpara>Le type de valeur du composant. Les types possibles sont <literal>text</literal> ou <literal>select_list</literal> pour respectivement soit une valeur saisie librement, soit une valeur sélectionnée parmis une liste déroulante.</simpara> </listitem> </varlistentry> <varlistentry> <term>options</term> <listitem> <simpara>Dans le cadre d'un composant de type <literal>select_list</literal>, cela correspond à la configuration de la liste déroulante. Cette configuration utilise la même syntaxe de configuration que celle du type d'attribut &LSattr_html_select_list; et son paramètre <literal>html_options</literal>.</simpara> </listitem> </varlistentry> <varlistentry> <term>multiple</term> <listitem> <simpara>Booléen définissant si ce composant peut stocker plusieurs valeurs (Défaut : <emphasis>Faux</emphasis>).</simpara> </listitem> </varlistentry> <varlistentry> <term>required</term> <listitem> <simpara>Booléen définissant si ce composant doit obligatoirement être défini (Défaut : <emphasis>Faux</emphasis>).</simpara> </listitem> </varlistentry> <varlistentry> <term>check_data</term> <listitem> <simpara>Tableau associatif contenant les règles de vérification syntaxique des données du composant. Ces règles sont configurables de la même manière que les celles des valeurs attributs. <link linkend='config-LSattribute-check-data'>Voir la section concernée.</link> </simpara> </listitem> </varlistentry> </variablelist> </listitem> </varlistentry> <varlistentry> <term>fullWidth</term> <listitem> <simpara>Booléen permettant de définir si l'affichage dans le formulaire doit se faire sur toute la largeur disponible de la page (Défaut : <emphasis>Faux</emphasis>).</simpara> </listitem> </varlistentry> </variablelist> </sect4>