Skip to content

FR 7. Gestion des sections

Gary Criblez edited this page Feb 13, 2020 · 1 revision

Dans AJUI_BreadCrumb, une section est un objet contenant un ensemble de propriétés affectant uniquement celle-ci. L’ensemble de ces objets sections sont regroupés dans une collection au niveau de l’instance.

Description et utilisation d’une section

Une section est créée et manipulée à l’aide d’un identifiant (id) permettant au composant de la reconnaître au moment où la souris interagira avec celle-ci. Un attribut position lui est associé afin de définir l'ordre dans lequel elle sera positionnée et affichée dans le breadcrumb.

Chaque section est également associée à un type (standard, first, previous, next, current). Le type va définir quelles propriétés d’états (Ex : AJUI_bc_standard_hover) que le composant doit appliquer pour cette section.

Chaque section possède un contenu textuel (label) et/ou une image spécifique, un callback et un objet contenant les paramètres à passer au callback. Un callback peut être assigné à une section sur les événements « On Clicked » et/ou « On DoubleClicked »

Pour finir, une section possède une propriété (disable) permettant de la faire passer d’active à inactive.

Dans les deux sous-chapitres suivants, nous allons présenter les fonctions membres disponibles pour gérer les sections et également les propriétés qui sont associées à chaque section.

Fonctions membres

La gestion des sections se fait via des fonctions membres CRUD ainsi que quelques méthodes utilitaires pour simplifier leur gestion. Voici cette liste :

  • AddSection ( id { ; param })

    • Permets d’ajouter une section. Elle attend en premier paramètre l’id de la section cible et vous pouvez optionnellement passer en deuxième paramètre un objet contenant une partie ou l’ensemble des propriétés d’une section avec les valeurs que vous souhaitez. Les propriétés non spécifiées recevront leurs valeurs par défaut.
  • UpdateSection ( id { ; param }) -> { param }

    • Permets de mettre à jour une section. Elle attend en premier paramètre l’ID de la section cible et en deuxième paramètre optionnel un objet contenant les propriétés à modifier avec leurs nouvelles valeurs (Setter). Si vous ne passez pas le deuxième paramètre, la fonction vous retourne la définition de la section dans un objet (Getter).
  • RemoveSection (id)

    • Permets de supprimer une section. Elle attend l’id de la section cible en paramètre.
  • SetCurrentSection (id)

    • Fonction utilitaire permettant d’assigner le type "current" à une section. Elle va également appliquer aux sections précédentes le type "previous" et aux sections suivantes, le type "next". Ce traitement ne s'appliquera pas aux sections de type "first". Cette fonction attend l'id de la section cible en paramètre.
  • GetNextPosition ( ) -> nextPosition

    • Retourne dans un entier long la prochaine valeur de position (valeur la plus grande plus un).
  • RemoveAllSections ( )

    • Retire toutes les sections de la collection.

Liste des propriétés d’une section

Comme vous avez pu l’apercevoir dans les fonctions membres, l’ensemble des propriétés ci-dessous peuvent être modifiées en les passant dans un objet dans les fonctions membres CRUD. Si ce n’est pas le cas, les valeurs par défaut seront appliquées (sauf pour l’id qui est obligatoire lors de la création d’une section).

Nom Type Par défaut Description
id string - id de la section. Elle n’a pas de valeur par défaut, car elle doit obligatoirement être renseignée lors de l’utilisation des fonctions CRUD.
position longint Valeur de position la plus grande +1 Position de la section dans le Breadcrumb. Par défaut, le composant recherche la valeur la plus haute des positions et ajoutera un.
type string standard La section est reliée à un type parmi :
* standard
* first
* current
* previous
* next.
label string section + valeur position Contenu textuel de la section.
disable boolean False Si vrai, la section est considérée dans l’état disable.
picturePath string chaîne vide Chemin de dossier à partir du dossier « ressources » de la base hôte.

Vous pouvez également utiliser « # » plus le nom de votre fichier image comme chemin ( valable uniquement avec un template AJUI BreadCrumb importé si la ou les images associées sont dans le même dossier que le template)
picturePosition string left Position de l’image par rapport au texte. Valeur possible :
* left
* right.
pictureMargin longint 10 Marge entre le texte et l’image.
pictureHeight string 40% Taille de l’image en hauteur, le nombre doit être suivi de « px » si vous voulez définir une taille en pixels sinon passez une valeur en % si vous voulez un pourcentage par rapport à la hauteur disponible de la section.

La largeur est redimensionnée automatiquement en fonction de la hauteur calculée basée sur la taille de la police.
colorToReplace string chaîne vide Couleur actuelle d’un SVG. Ici c'est la valeur de la balise « fill ». Utilisable uniquement avec une image dont l’extension est SVG (voir section types dans le chapitre propriétés et formules).
onClickCB string chaîne vide Nom de la méthode de callback sur l’événement « On Clicked ».
onClickCBParams object null Object contenant les paramètres du callback sur l’événement « On Clicked »
onDoubleClick string chaîne vide Nom de la méthode de callback sur l’événement « On Double Clicked ».
onDoubleClickCBParams object null Object contenant les paramètres du callback sur l’événement « On Double Clicked »