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é

    Placement "top" ou "topLabel"

    Figure 16. Placement "top" ou "topLabel"

  • Dcp\Ui\CommonRenderOptions::bottomLabelPosition :

  • Dcp\Ui\CommonRenderOptions::bottomPosition :Texte affiché dans l'entête de tableau. Affiché au dessous du libellé

    Placement "bottom" ou "bottomLabel"

    Figure 17. Placement "bottom" ou "bottomLabel"

  • 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.

    Placement "topValue"

    Figure 18. Placement "topValue"

  • Dcp\Ui\CommonRenderOptions::bottomValuePosition : Texte affiché au dessous de la valeur de l'attribut dans chaque rangée du tableau.

    Placement "bottomValue"

    Figure 19. Placement "bottomValue"

  • 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.

    Placement "click"

    Figure 20. Placement "click"

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é

    Placement "top"

    Figure 21. Placement "top"

  • Dcp\Ui\CommonRenderOptions::bottomPosition :Texte affiché dans l'entête de tableau. Affiché au dessous du libellé

    Placement "bottom"

    Figure 22. Placement "bottom"

  • 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é.

    Placement "bottom"

    Figure 23. Placement "bottom"

  • Dcp\Ui\CommonRenderOptions::topValuePosition : Texte affiché au dessus de la valeur de l'attribut dans chaque rangée du tableau.

    Placement "topValue"

    Figure 24. Placement "topValue"

  • Dcp\Ui\CommonRenderOptions::bottomLabelPosition : Texte affiché au dessous de la valeur de l'attribut dans chaque rangée du tableau.

    Placement "bottomValue"

    Figure 25. Placement "bottomValue"

  • Dcp\Ui\CommonRenderOptions::bottomValuePosition : Texte affiché au dessous de la valeur de l'attribut dans chaque rangée du tableau.

    Placement "bottomValue"

    Figure 26. Placement "bottomValue"

  • 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.

    Placement "click"

    Figure 27. Placement "click"

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]
    Tableau transposé

    Figure 28. Tableau transposé

  • L'argument $labelUp indique au moyen d'une media query dans quelles conditions le libellé doit être en position up : le libellé est up 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.

    Libellé à gauche

    Figure 29. Libellé à gauche

    Libellé au dessus

    Figure 30. Libellé au dessus

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)"
    );
×