Aller à la sous-page
Se rend à la sous-page spécifiée lors d'un déclenchement. La sous-page est sélectionnée depuis la liste de choix Aller à la sous-page (voir capture d'écran ci-dessous) qui recense toutes les sous-pages dans le projet. Dans la capture d'écran ci-dessous, un événement SurBoutonCliqué a été défini pour aller à la sous-page Orders du projet MobileTogether. Il est également possible d'obtenir le nom de la sous-page par le biais d'une expression XPath, par exemple : "Orders" ou $XML3/DataSources/Subpage[@id="Name"]/@name.
L'action Aller à la sous-page a la configuration suivante :
•Paramètres : si des paramètres ont été déclarés dans la sous-page sélectionnée, chaque paramètre de cette sous-page est maintenant recensé sous l'entrée de la sous-page, et une valeur peut être transmise à chaque paramètre. Dans la capture d'écran ci-dessus, par exemple, une valeur est définie pour le paramètre nommé $a. Il y aura une erreur si aucune valeur n'est transmise dans un paramètre obligatoire. Si la sous-page n'est pas sélectionnée par le biais de la liste de choix mais en utilisant une expression XPath, le nom de la sous-page ne sera pas généré avant le début de l'exécution. Puisqu'aucun paramètre ne peut donc être connu au moment du design, au lieu d'afficher des noms de paramètre, une entrée pour Paramètres sera affichée. Ici, vous pouvez saisir une expression de map XPath ou une expression array pour définir des valeurs de paramètre, par exemple : map{"a": "a-value", "second-param": "second-param-value"} or [("a-value"), ("second-param-value")]. Si vous saisissez une expression d'array, (i) l'ordre de séquence dans l'array doit correspondre à l'ordre des déclarations de paramètre de la sous-page, et (ii) des valeurs pour des paramètre optionnels ne doivent pas être oubliés d'être intégrés à l'array (une séquence vide peut être saisie pour une valeur de paramètre que vous souhaitez laisser vide). Veuillez noter que vous pouvez utiliser d'autres paramètres lorsque vous définissez la valeur d'un paramètre.
•XML de source : spécifie si et comment les données de la sous-page doivent correspondre aux sources de page dans la page d'origine. Cette définition est saisie dans le dialogue de Mappage de données de la sous-page qui est accédé en cliquant sur le bouton Dialogue supplémentaire du champ XML de source. Voir la section de "source XML des sous-pages" ci-dessous pour une description détaillée de ce dialogue.
•Charger le message de sous-page : dans les cas où la sous-page est transmise par le biais d'une requête de serveur : ce message est affiché dans un dialogue de progrès pendant le chargement de la sous-page. Voir capture d'écran ci-dessus.
•Message Fermer la sous-page : dans les cas où la sous-page est transmise par le biais d'une requête de serveur : Si la case est cochée, ce message est affiché dans un dialogue de progression alors que la sous-page se ferme. Voir capture d'écran ci-dessus.
•Afficher sous-page en tant que dialogue modal : si cette option est décochée, la page supérieure dans l'affichage de la page supérieure est remplacée par la sous-page ; (l'utilisateur peut retourner à la page supérieure en touchant le bouton Retour). Si cette option est cochée, la sous-page s'ouvrira dans une fenêtre au-dessus de la page supérieure (un soi-disant dialogue modal), et l'accès au contenu de la page supérieure sera désactivé Si l'utilisateur effleure la fenêtre modale, les actions spécifiées pour l'événement de page SurClicDeBoutonRetour sont exécutées. Si aucune action n'est spécifiée pour cet événement, la sous-page se fermera et l'exécution retournera à la page principale.
Définir les dialogues modaux
Les définitions suivantes peuvent s'appliquer aux dialogues modaux :
•Vous pouvez configurer les dimensions de la fenêtre de dialogue modal par le biais des expressions XPath des paramètres Largeur et hauteur.
•Si le paramètre optionnel Hauteur n'est pas spécifié, la hauteur sera uniquement celle considérée appropriée pour s'ajuster au contenu, et pour une limite maximum de la hauteur du viewport de l'appareil. Si une hauteur supérieure est nécessaire, une barre de défilement s'ajoutera automatiquement au dialogue modal.
•Les valeurs de dimension que vous saisissez peuvent être un nombre (pour les dimensions de pixel) ou un string qui contient une valeur de nombre et un signe % (pour spécifier la dimension du dialogue en tant que pourcentage de la dimension du viewport).
•Dans la capture d'écran ci-dessus, ces dimensions ont été réglées sur les valeurs de hauteur et de largeur spécifiques à l'appareil (dimensions de viewport) qui sont obtenues dynamiquement depuis l'appareil lors de l'exécution.
•Vous pouvez choisir si le dialogue modal doit : (i) avoir le même ensemble unique de dimensions pour l'orientation portrait et paysage, ou (ii) utiliser un ensemble différent de dimensions pour chaque orientation (donc un ensemble de dimensions pour l'orientation portrait et un autre pour l'orientation paysage).
•Si le dialogue modal est défini pour posséder un seul ensemble de dimensions pour les deux orientations, les dimensions de largeur et de hauteur sont prélevées depuis l'orientation portrait de la page actuelle avant que l'action Aller à la sous-page a été exécutée. Si cette option a été sélectionnée, le dialogue modal aura le même ensemble de valeurs de largeur et de hauteur dans les deux orientations. L'effet est que le dialogue modal ne change pas de taille lorsque l'orientation change.
•À partir d'une sous-page qui est affichée en tant que dialogue modal, vous pouvez vous rendre sur une autre sous-page, que vous pouvez aussi choisir pour ouvrir en tant que dialogue modal au-dessus du dialogue modal précédent.
•Les dimensions relatives (valeurs de pourcentage) de tous les dialogues modaux, même lorsqu'ils proviennent d'autres dialogues modaux, sont calculées par rapport aux dimensions du viewport de l'appareil.
•Si une sous-page est ouverte depuis un dialogue modal sans que l'option du dialogue modal ait été sélectionnée, la nouvelle sous-page aura les mêmes dimensions que le dialogue modal et la recouvrira. Elle paraîtra comme si la nouvelle sous-page avait remplacé la sous-page précédente.
XML de source des sous-pages
Chaque sous-page doit avoir au moins une source de page afin de pouvoir être utilisée de manière efficace. Les données dans les sources de page de sous-page peuvent être mappées vers les données dans les sources de pages de niveau supérieur, ou bien les données dans les sources de la sous-page peuvent ne pas être mappées. Une fois mappées, les données de sous-page sont transférées vers les nœuds mappés de la page de niveau supérieur lorsque la sous-page est fermée. Le comportement du XML de source des sous-pages est défini dans le dialogue de source XML de sous-pages (capture d'écran ci-dessous gauche). Pour accéder à ce dialogue, cliquer le bouton Dialogue supplémentaire du champ XML de source de la définition de l'action Aller à la sous-page (voir description ci-dessus).
Les possibilités de traitement des données de sous-page suivantes sont disponibles :
•Les données de sous-page ne sont pas mappées. Dans ce cas, les sources de page de sous-page sont traitées indépendamment du mécanisme de mappage des données de sous-page.
•Une source de sous-page est mappée vers une structure de page de niveau supérieur qui est parfaitement identique ; même les noms des éléments et attributs sont les mêmes.
•Une source de sous-page est mappée vers une source de page de niveau supérieur qui a une structure différente et/ou des noms d'attributs/éléments différents.
Dans le dialogue de mappage de données de sous-page (capture d'écran ci-dessus à gauche), l'arborescence de la source de page de la sous-page est affichée dans le panneau d'arborescence de source de droite, alors que l'arborescence de la source de page du niveau supérieure est affichée dans le panneau d'arborescence de source de gauche.
•Sélectionner la source de page de la sous-page depuis la liste de choix au-dessus du panneau de sous-page (à droite). Cette liste de choix recense toutes les sources de page de la sous-page. Veuillez noter que le nom de la sous-page est recensé au-dessus du panneau de la sous-page.
•Pour sélectionner la source de page de la page de niveau supérieur, cliquer tout d'abord sur le bouton Dialogue supplémentaire situé au-dessus du panneau supérieur de gauche. Cela affiche le dialogue Choisir XML (capture d'écran ci-dessus à droite) qui contient toutes les sources de page de la page supérieure. Sélectionner le nœud que vous souhaitez mapper vers les données de sous-page. Dans la capture d'écran ci-dessus, le nœud PrivateAddresses a été sélectionné dans le dialogue Choisir XML. Résultat : les descendants de PrivateAddresses sont affichés dans le panneau d'arborescence de la source de page supérieure et PrivateAddresses, le nœud mappé, est affiché au-dessus du panneau.
Dans le cas décrit par la capture d'écran ci-dessus, le mappage est effectué automatiquement entre les deux sources de page puisque les deux structures de données XML sont identiques, jusqu'aux noms des éléments. Dans la capture d'écran ci-dessous, un mappage entre des éléments est construit en glissant un nœud depuis le panneau de gauche dans un nœud du panneau de droite. Cela est dû au fait que les deux structures de données ne sont pas identiques (le premier élément, S, doit correspondre au troisième élément, Street).
Dans le cas décrit par la capture d'écran ci-dessous, le contenu du nœud de données de sous-page Income/Months/Month est mappé au nœud de données de page de niveau supérieur Income (indiqué par le titre du panneau).
Fonctions d'extension de MobileTogether
MobileTogether fournit une série de fonctions d'extension XPath qui ont été créées spécifiquement pour l'utilisation dans les designs MobileTogether. Quelques fonctions peuvent être particulièrement utiles avec des actions spécifiques. Par exemple, mt-available -languages() renvoie les langues dans lesquelles la solution est disponible et pourrait, par exemple, être utilisée avec l'action Boîte de messages. Si une fonction est particulièrement pertinente pour cette action, elle se trouvera dans la liste ci-dessous. Pour une liste complète de ces fonctions d'extension et leurs descriptions, voir la page <Fonctions d'extension MobileTogether.