Groupes d'actions avec des paramètres Action-Groupe
Les Groupes d'actions peuvent utiliser deux types de paramètres :
•Les Paramètres simples, qui sont décrits dans la section Groupes d'actions avec des paramètres. Ils sont indiqués dans par le symbole dollar \$ placé devant leur nom.
•Les Paramètres Action-Groupe, qui prennent des Groupes d'actions en tant que leurs valeurs. Ils sont indiqués par le symbole de pourcentage % placé devant leur nom.
Dans la capture d'écran ci-dessous, \$length et \$width sont des paramètres simples, alors que %RectangleProperty est un paramètre Action-Groupe. Afin de créer un paramètre en tant que paramètre Action-Groupe, il faut le créer en tant que paramètre simple puis cocher sa case Groupe d'actions (voir capture d'écran ci-dessous).
Comment fonctionnent les paramètres Action-Groupe
Un paramètre Action-Groupe est un paramètre dont la valeur est un groupe d'actions qui ne déclare aucun paramètre. Cela permet au Groupe d'actions appelé d'être traité comme une fonction qui effectue des tâches MobileTogether. Les paramètres Action-Groupe fonctionnent de la même manière suivante :
•Dans un Groupe d'action, déclarez des paramètres Action-Groupe Ces paramètres peuvent être utilisés dans des actions du Groupe d'actions. Dans la capture d’écran ci-dessus, par exemple, le Groupe d’actions Calculate déclare que le Groupe d’actions RectangleProperty est un de ses paramètres. Le Groupe d’actions RectangleProperty devient donc un paramètre Action-Group . Il est ensuite utilisé dans le Groupe d'actions Calculate.
•Les valeurs de tous les paramètres d'un Groupe d'actions (y compris ceux de tout paramètre de Groupe d'actions) sont fournies lorsque le Groupe d'actions est appelé. Cela se produit lorsque le Groupe d'actions Execute Action est exécuté sur ce Groupe d'actions. Par exemple, lorsque vous appelons le Groupe d'actions Calculate (voir capture d'écran ci-dessus) par le biais d'une action d'Exécution de Groupe d'actions, nous lui transmettons les valeurs des trois paramètres du Groupe d'actions (voir capture d'écran ci-dessous).
Exemple d'utilisation
Voici un exemple simple pour visualiser comment utiliser les paramètres Action-Groupe. Nous souhaitons calculer la surface, la longueur diagonale ou le périmètre d'un rectangle depuis une longueur et une largeur indiquées par l'utilisateur(voir capture d'écran ci-dessous). L’utilisateur peut choisir quelle propriété de rectangle calculer.
Pour chacune des trois propriétés, nous pouvons créer un Groupe d’action qui ne déclare pas de paramètres. Ces trois Groupes d’action sont utilisés en tant que fonctions pour calculer la propriétés de rectangle respective, comme indiqué dans la capture d’écran ci-dessous.
Nous allons maintenant créer un quatrième Groupe d’action (nommé Calculate dans notre exemple ; voir capture d'écran ci-dessous) qui utilisera un des autres trois Groupes d’action comme requis. Pour sélectionner le Groupe d’action que nous souhaitons, nous créons un paramètre de Groupe d'action (nommé %RectangleProperty dans notre exemple). Veuillez noter que le Groupe d’action Calculate déclare aussi les deux paramètres simples (\$length et \$width) qui sont utilisés pour calculer la surface, les diagonales, et le périmètre.
Tout ce qu’il nous reste à faire est d'appeler le Groupe d’action Calculate par le biais d’un Groupe d’action Execute et, dans l’appel, de fournir les valeurs des trois paramètres du Groupe d’action Calculate. Il est préférable d’exécuter l’action du Groupe d’action Execute lorsqu’un événement est déclenché. Par exemple, dans la capture d’écran ci-dessous, l’action est exécutée lorsqu’une liste de choix est éditée.
Lorsque le Groupe d'actions Execute Action est exécuté, il se produit les choses suivantes :
1.Le Groupe d’action Calculate est appelé. Des valeurs de ses paramètre \$length et \$width sont passés depuis les nœuds de la source de page \$PERSISTENT (voir capture d'écran ci-dessus). Les valeurs du paramètre de Groupe d’action RectangleProperty doivent être un Groupe d’action dans le projet et peuvent donc être sélectionnées par le biais de la liste de choix ; n’importe quel Groupe d’action (correspondant à une propriété de rectangle choisie) peut être sélectionné. Dans la capture d’écran de notre exemple (ci-dessus), nous avons choisi le Groupe d’action Area (au cas où le nœud \$PERSISTENT/Root/RectangleProperty contiendrait le string "Area").
2.Le Groupe d’actionCalculate est maintenant exécuté avec les valeurs de paramètre qui lui ont été transmises. En étudiant la capture d’écran ci-dessus, vous constaterez qu’il définit une variable nommée \$result et lui donne une valeur qui est la valeur de retour du Groupe d’action spécifié par le paramètre %RectangleProperty. Cette variable contiendra donc la valeur de la propriété de rectangle sélectionnée (surface, longueur diagonale ou périmètre).
3.Le Groupe d’action Calculate met maintenant à jour un nœud dans l’arborescence \$PERSISTENT avec ce résultat.
Détails des définitions du Groupe d’action
•Calculate (voir capture d'écran ci-dessus): déclare deux paramètres simples (\$length et \$width) et un paramètre Action-Groupe (%RectangleProperty). Le paramètre Action-Groupe %RectangleProperty peut prendre en tant que sa valeur un des trois autres Groupes d'actions, ils sont tous définis sans aucun paramètre. Dans le Groupe d'action Calculate, nous définissons une action Let qui est définie sur Résultat de Groupe d'action. L'Let action définit une variable appelée \$result, qui est définie pour prendre en tant que sa valeur le résultat de l'exécution du Groupe d'actions sélectionné.
•Area (capture d'écran ci-dessous) : ce Groupe d'actions contient une seule action Retourner qui contient le produit des deux paramètres simples \$length et \$width. Ce Groupe d'actions ne contient aucun paramètre ; il peut donc être la valeur de %RectangleProperty. XPath pour calculer une surface : round((\$width*\$length), 3).
•Diagonals: ce Groupe d'actions est semblable au Groupe d'actions Area. Il contient une seule action Retourner qui retourne la longueur des diagonales d'un rectangle (soit la racine au carré de la somme des carrés des deux paramètres simples \$length et \$width ; XPath : round(math:sqrt(\$width*\$width + \$length*\$length), 3)).
•Perimeter: ce Groupe d'actions est semblable aux Groupes d'actions Area et Diagonals. Il contient une seule action Retourner qui retourne le périmètre d'un rectangle (XPath : round((2*\$width + 2*\$length), 3)).
Dans la description des quatre Groupes d'actions ci-dessus, veuillez noter les éléments suivants :
•Le Groupe d'actions Calculate contient trois paramètres : deux paramètres simples et un paramètre Groupe d'actions.
•Les autres trois Groupes d'actions (Area, Diagonals, Perimeter) ne déclarent aucun paramètre.
•Chacun des trois Groupes d'actions (Area, Diagonals, Perimeter) a une action Retourner qui effectue un calcul. La valeur retournée est le Résultat du groupe d’action.
•Chacun de ces trois Groupes d'actions (Area, Diagonals, Perimeter) peut être défini en tant que la valeur du paramètre Action-Group %RectangleProperty, et retourne le Résultat de Groupe d'action respectif lors du traitement.
Note : | L'exemple cité ci-dessus est volontairement simple, il vise à montrer les mécanismes sous-tendant les paramètres Action-Groupe. Mais les paramètres Action-Groupe sont idéaux pour une utilisation avec un contenu dynamique et pour exécuter des actions complexes. |
Traitement des paramètres Action-Groupe
Un paramètre Action-Groupe prend un Groupe d'actions en tant que sa valeur. Ce Groupe d'actions peut être traité en tant qu'une valeur de paramètre de deux manières très utiles :
•Il peut fournir un résultat (le Résultat du Groupe d'action) qui peut ensuite être utilisé pour définir la valeur d'une variable qui est définie avec une action Let. Ce type d'utilisation a été décrit dans l'exemple précédent.
•Il peut effectuer certaines tâches MobileTogether, comme la mise à jour de nœuds ou l'envoi d'e-mails et il n'y a pas de Résultat de Groupe d'actions. Cela est spécifié en définissant, dans le cadre du Groupe d'actions contenant, une action Exécuter un Groupe d'actions pour le paramètre Action-Groupe (voir capture d'écran ci-dessous). Cela peut être effectué en glissant le paramètre Action-Groupe depuis le panneau de Groupes d'Actions dans la définition de l'événement. Ce type d'utilisation vous permet de réutiliser un Groupe d'action pour effectuer des tâches répétitives. Celle-ci peut être définie dans un Groupe d'action, et le Groupe d'action peut être exécuté à des endroits différents pendant l'exécution de la solution.
Bien entendu, vous pouvez combiner ces deux actions.