4.9.3 Options de représentation type array
Les options de représentation indiquées dans la structure de la famille ne sont pas prises en compte dans les interfaces HTML5.
4.9.3.1 setRowCountThreshold
Cette option indique que le nombre de rangées d'un tableau doit être affiché lorsqu'il est supérieur à un certain seuil.
Par défaut, le nombre de rangée n'est pas affiché.
Dcp\Ui\ArrayRenderOptions setRowCountThreshold(int $number)
4.9.3.1.1 Restrictions
Aucune
4.9.3.1.2 Paramètres
Si L'argument number
est :
- égal à
0
, alors le nombre de rangées est affiché systématiquement. - strictement positif, le nombre de rangées est affiché s'il est supérieur ou égal à cette limite.
- strictement négatif, le nombre de rangées n'est jamais affiché.
4.9.3.1.3 Cas particuliers
Aucun
4.9.3.1.4 Exemples
Affichage du nombre à partir de 10 rangées.
$options->arrayAttribute(My_family::my_definition)->setRowCountThreshold(10);
4.9.3.2 disableRowAdd
Cette option permet d'inhiber la possibilité d'ajouter une rangée dans un tableau.
À proprement parler, cette options supprime le bouton d'ajout de ligne, mais n'empêche pas l'ajout de rangées par programmation.
Dcp\Ui\ArrayRenderOptions disableRowAdd(bool $disable)
4.9.3.2.1 Restrictions
- Utilisable uniquement pour les rendus de modification ou de création.
4.9.3.2.2 Paramètres
l'argument $disable
indique si le bouton d'ajout de ligne doit être masqué.
4.9.3.2.3 Cas particuliers
Aucun
4.9.3.2.4 Exemples
Inhiber l'ajout dans le tableau "my_definition".
$options->arrayAttribute(My_family::my_definition)->disableRowAdd(true);
4.9.3.3 disableRowDel
Cette option permet d'inhiber la possibilité de supprimer une rangée dans un tableau.
À proprement parler, cette options supprime le bouton de suppression de ligne, mais n'empêche pas la suppression de rangées par programmation.
Dcp\Ui\ArrayRenderOptions disableRowDel(bool $disable)
4.9.3.3.1 Restrictions
- Utilisable uniquement pour les rendus de modification ou de création.
4.9.3.3.2 Paramètres
l'argument $disable
indique si le bouton de suppression de ligne doit être masqué.
4.9.3.3.3 Cas particuliers
Aucun
4.9.3.3.4 Exemples
Inhiber la suppression de rangée dans le tableau "my_definition".
$options->arrayAttribute(My_family::my_definition)->disableRowDel(true);
4.9.3.4 disableRowMove
Cette option permet d'inhiber la possibilité de déplacer une rangée dans un tableau.
À proprement parler, cette options supprime le bouton permettant de déplacer une ligne, mais n'empêche pas le déplacement d'une rangée par programmation. [php] Dcp\Ui\ArrayRenderOptions disableRowMove(bool $disable)
4.9.3.4.1 Restrictions
- Utilisable uniquement pour les rendus de modification ou de création.
4.9.3.4.2 Paramètres
l'argument $disable
indique si le bouton de déplacement de ligne doit être masqué.
4.9.3.4.3 Cas particuliers
Aucun
4.9.3.4.4 Exemples
Inhiber le déplacement de rangée dans le tableau "my_definition".
$options->arrayAttribute(My_family::my_definition)->disableRowMove(true);
4.9.3.5 setRowMinLimit
Cette option permet d'indiquer le nombre minimum de rangées pour un tableau.
Si le tableau a moins de rangées que le minimum indiqué, des rangées sont ajoutées jusqu'à cette limite lors du rendu du tableau. Les rangées ajoutées contiennent les valeurs par défaut des colonnes du tableau.
Le bouton de suppression de rangée est inhibé si la limite est atteinte.
Dcp\Ui\ArrayRenderOptions setRowMinLimit(int $limit)
4.9.3.5.1 Restrictions
- Utilisable uniquement pour les rendus de modification ou de création.
4.9.3.5.2 Paramètres
l'argument $limit
indique le nombre en dessous duquel le tableau sera
automatiquement complété et le bouton de suppression de ligne désactivé.
Si la limite est négative ou zéro aucune limite n'est définie.
4.9.3.5.3 Cas particuliers
Cette option n'empêche pas supprimer des rangées par programmation. Elle empêche simplement les interactions utilisateur afin de ne pas supprimer des rangées si le seuil est atteint.
4.9.3.5.4 Exemples
Le tableau "my_definition" doit avoir 5 rangées minimum.
$options->arrayAttribute(My_family::my_definition)->setRowMinLimit(5);
4.9.3.6 setRowMaxLimit
Cette option permet d'indiquer le nombre maximum de rangées pour un tableau.
Le bouton d'ajout de rangée est inhibé si la limite est atteinte.
Dcp\Ui\ArrayRenderOptions setRowMaxLimit(int $limit)
4.9.3.6.1 Restrictions
- Utilisable uniquement pour les rendus de modification ou de création.
4.9.3.6.2 Paramètres
l'argument $limit
indique le nombre au-dessus duquel le bouton d'ajout de
rangée sera désactivé.
4.9.3.6.3 Cas particuliers
Cette option n'empêche pas d'ajouter des lignes au dela du seuil par programmation. Elle contrôle juste l'interaction de bouton qui permets d'ajouter les rangées.
Si le tableau initial a plus de rangées que le seuil indiqué, les lignes au delà du seuil ne sont pas supprimées. Le bouton "ajouter" est juste désactivé.
4.9.3.6.4 Exemples
Le tableau peut avoir 10 rangées maximum dans le tableau "my_definition".
$options->arrayAttribute(My_family::my_definition)->setRowMaxLimit(10);
4.9.3.7 setRowMinDefault
Cette option permet d'indiquer le nombre minimum de rangées à afficher lors de l'édition d'un tableau.
Si le tableau a moins de rangées que le minimum indiqué, des rangées sont ajoutées jusqu'à cette limite lors du rendu du tableau. Les rangées ajoutées contiennent les valeurs par défaut des colonnes du tableau.
Dcp\Ui\ArrayRenderOptions setRowMinDefault(int $default)
4.9.3.7.1 Restrictions
- Utilisable uniquement pour les rendus de modification ou de création.
4.9.3.7.2 Paramètres
l'argument $default
indique le nombre en dessous duquel le tableau sera
automatiquement complété.
Si la limite est négative ou zéro aucune limite n'est définie.
4.9.3.7.3 Cas particuliers
Cette option n'empêche pas la suppression des rangées par l'interface.
4.9.3.7.4 Exemples
Le tableau "my_definition" affiche toujours au moins la première rangée.
$options->arrayAttribute(My_family::my_definition)->setRowMinDefault(1);
4.9.3.8 setDescription
Cette option est une option commune qui permet d'afficher une description pour un tableau.
Son usage est le même mais le positionnement de la description est propre au type "tableau".
4.9.3.8.1 Positionnement pour les attributs contenu dans un tableau
-
Dcp\Ui\CommonRenderOptions::topLabelPosition
: -
Dcp\Ui\CommonRenderOptions::topPosition
: Texte affiché dans l'entête de tableau. Affiché au dessus du libellé Dcp\Ui\CommonRenderOptions::bottomLabelPosition
:-
Dcp\Ui\CommonRenderOptions::bottomPosition
:Texte affiché dans l'entête de tableau. Affiché au dessous du libellé Dcp\Ui\CommonRenderOptions::rightPosition
:Dcp\Ui\CommonRenderOptions::leftPosition
: Position non prise en compte. Ce positionnement n'est pas possible pour les colonnes de tableaux. Une erreur est affichée sur la console du navigateur dans ce cas. La description n'est pas affichée.-
Dcp\Ui\CommonRenderOptions::topValuePosition
: Texte affiché au dessus de la valeur de l'attribut dans chaque rangée du tableau. -
Dcp\Ui\CommonRenderOptions::bottomValuePosition
: Texte affiché au dessous de la valeur de l'attribut dans chaque rangée du tableau. -
Dcp\Ui\CommonRenderOptions::clickPosition
: Affiche une ancre à gauche du libellé dans l'entête du tableau. Cette ancre affiche la description lorsque l'utilisateur clique dessus.
4.9.3.8.2 Positionnement de la description d'un tableau
-
Dcp\Ui\CommonRenderOptions::topPosition
: Texte affiché dans l'entête de tableau. Affiché au dessus du libellé -
Dcp\Ui\CommonRenderOptions::bottomPosition
:Texte affiché dans l'entête de tableau. Affiché au dessous du libellé Dcp\Ui\CommonRenderOptions::rightPosition
:Dcp\Ui\CommonRenderOptions::leftPosition
: Position non prise en compte. Ces positionnements ne sont pas possibles pour les tableaux. Une erreur est affichée sur la console du navigateur dans ce cas. La description n'est pas affichée.-
Dcp\Ui\CommonRenderOptions::topLabelPosition
: Texte affiché dans l'entête de tableau. Affiché au dessus du libellé. -
Dcp\Ui\CommonRenderOptions::topValuePosition
: Texte affiché au dessus de la valeur de l'attribut dans chaque rangée du tableau. -
Dcp\Ui\CommonRenderOptions::bottomLabelPosition
: Texte affiché au dessous de la valeur de l'attribut dans chaque rangée du tableau. -
Dcp\Ui\CommonRenderOptions::bottomValuePosition
: Texte affiché au dessous de la valeur de l'attribut dans chaque rangée du tableau. -
Dcp\Ui\CommonRenderOptions::clickPosition
: Affiche une ancre à gauche du libellé dans l'entête du tableau. Cette ancre affiche la description lorsque l'utilisateur clique dessus.
4.9.3.9 setResponsiveBreakpoints
Cette option permet d'indiquer les règles d'affichage des tableaux en fonction de la taille de la fenêtre.
Dcp\Ui\ArrayRenderOptions setResponsiveBreakpoints( string $transposition=self::transpositionRule, string $labelUp=self::upRule );
4.9.3.9.1 Restrictions
- Utilisable uniquement pour les rendus de modification ou de création.
- L'argument
$labelUp
n'est interprété que si l'option labelPosition est àauto
.
4.9.3.9.2 Paramètres
-
L'argument
$transposition
indique au moyen d'une media query dans quelles conditions le tableau doit être transposé : le tableau est transposé si la query est vraie. Par défaut,$transposition
a la valeur :@media only screen and (max-width: 768px), (min-device-width : 768px) and (max-device-width : 1024px) and (orientation : portrait)
Ce qui veut dire que le tableau est transposé si :
- la largeur de la fenêtre est inférieure à 768px.
- ou si sur une tablette en mode portrait la largeur est comprise entre [768px, 1024px]
-
L'argument
$labelUp
indique au moyen d'une media query dans quelles conditions le libellé doit être en positionup
: le libellé estup
si la query est vraie. Par défaut,$labelUp
a la valeur@media (max-width: 1280px)
, ce qui signifie que le label est au-dessus si la largeur est inférieure à 1280px.
4.9.3.9.3 Cas particuliers
Aucun
4.9.3.9.4 Exemples :
-
Le tableau "my_definition" est transposé si la taille de la fenêtre est inférieur ou égal à 600px
$options->arrayAttribute(My_family::my_definition) ->setResponsiveBreakpoints("@media (max-width: 600px)");
-
Le tableau "my_definition" n'est jamais transposé
$options->arrayAttribute(My_family::my_definition) ->setResponsiveBreakpoints("@media (max-width: 0px)");
-
Le label du tableau est toujours en haut.
$options->arrayAttribute(My_family::my_definition) ->setLabelPosition(\Dcp\Ui\CommonRenderOptions::upPosition);
Dans ce cas, il est inutile de modifier les breakPoints.
-
Le label du tableau est à gauche lorsque la largeur de la fenêtre est supérieur à 600px.
$options->arrayAttribute(My_family::my_definition)->setResponsiveBreakpoints( //Utilisation de la valeur par défaut pour la règle de transposition \Dcp\Ui\ArrayRenderOptions::transpositionRule, "@media (max-width: 600px)" );