Élaboration de l’application de géolocalisation à l’aide de Salesforce CLI
Objectifs de formation
- Décrire comment utiliser la CLI pour créer une classe Apex
- Décrire comment utiliser une commande CLI pour créer un composant Aura
Description du projet
Nous allons créer notre fonctionnalité (à savoir, notre application de géolocalisation) en écrivant du code localement, puis en le synchronisant avec notre organisation test, où nous pourrons le tester. À cette fin, nous allons employer Apex et plusieurs composants Aura.
Pour rester concentrés sur Salesforce CLI et les organisations test, nous allons vous fournir le code d’une application de géolocalisation qui emploie des composants Aura.
Ce diagramme présente un aperçu général des interactions entre les composants :
Cette conception rend votre application flexible et plus facile à gérer. Dans le cadre de l’évolution des exigences associées à votre application et à votre activité, vous pourrez remplacer le composant qui affiche les données sans avoir à retravailler le composant qui interroge les données. Cette conception vous permet également de réutiliser ces composants indépendamment dans d’autres applications.
- Le composant Account Search (Recherche de compte) appelle une action côté serveur pour rechercher des comptes.
- La méthode Apex renvoie les résultats de la recherche SOSL.
- Le composant Account Search (Recherche de compte) déclenche un événement qui transmet les données à d’autres composants.
- Les composants qui gèrent l’événement affichent les données à l’utilisateur.
Création du contrôleur Apex Account Search (Recherche de compte)
Au cours de cette étape, vous créez un contrôleur Apex qui permet à vos composants Aura de récupérer une liste de comptes avec leurs informations de localisation. Les classes Apex sont stockées dans un dossier appelé classes
, au sein du dossier force-app/main/default
de votre projet Salesforce DX. Vous pouvez utiliser la CLI pour créer rapidement une classe Apex.
- De l’intérieur du répertoire du projet
geolocation
(géolocalisation), exécutez cette commande à partir de la racine de votre projet. - Ouvrez
force-app/main/default/classes/AccountSearchController.cls
et remplacez le code d’échafaudage par le code suivant, puis enregistrez le fichier. - Maintenant, déployez (synchronisez) votre nouveau code dans votre organisation test par défaut que vous avez créée dans l’unité précédente.
project deploy start
ressemble à ceci :
La sortie de la commande
Création de l’événement Aura Accounts Loaded (Comptes chargés)
En utilisant le principe de conception à responsabilité unique, nous déléguons l’affichage des résultats de recherche en déclenchant un événement géré par les composants Account Map (Carte de compte) et Account List (Liste de comptes) que vous aller créer lors d’étapes ultérieures.
- Créez l’événement dans le dossier aura.
- Ouvrez le fichier
force-app/main/default/aura/AccountsLoaded/AccountsLoaded.evt
et remplacez le contenu par ce code, puis enregistrez le fichier. - Déployez votre nouveau code dans l’organisation test.
project deploy start
ressemble à ceci :
La sortie de la commande
Création du composant Aura Account Search (Recherche de compte)
Ensuite, nous allons répéter une grande partie de ce processus pour créer un composant nommé AccountSearch. Les fichiers des composants Aura sont regroupés en paquets, qui sont stockés dans des dossiers au sein du dossier force-app/main/default/aura
. À l’instar des classes Apex, vous pouvez créer un composant Aura à partir de la ligne de commande.
- Créez le composant dans le dossier
aura
: Comme vous pouvez le constater, tous les fichiers requis sont créés. - Ouvrez le fichier
force-app/main/default/aura/AccountSearch/AccountSearch.cmp
et remplacez son contenu par le code suivant, puis enregistrez le fichier. Ce composant dispose d’un champ de saisie permettant à l’utilisateur de saisir des termes de recherche, tels que le nom ou l’adresse du compte, et enregistre les gestionnaires d’événements lorsque le composant est initialisé ou que le terme de recherche change.
- Ouvrez le fichier
force-app/main/default/aura/AccountSearch/AccountSearchController.js
et remplacez son contenu par le code suivant, puis enregistrez le fichier. Le contrôleur côté client gère l’événement d’initialisation du composant et le moment où le terme de recherche change. Il appelle le fichier d’assistance dans le but d’effectuer la recherche en fonction de la saisie de l’utilisateur.
- Ouvrez le fichier
force-app/main/default/aura/AccountSearch/AccountSearchHelper.js
et remplacez son contenu par le code suivant, puis enregistrez le fichier. - Déployez la nouvelle source dans l’organisation test.
Création du composant Aura Account List (Liste de comptes)
Maintenant, nous allons créer un composant Aura qui affiche des comptes dans un tableau de données. Pour savoir quelles données afficher, il s’abonne à l’événement c:AccountsLoaded
que vous avez créé lors d’une étape précédente.
- Créez le composant dans le dossier
aura
. - Ouvrez le fichier
force-app/main/default/aura/AccountList/AccountList.cmp
et remplacez son contenu par le code suivant, puis enregistrez le fichier. Ce composant écoute l’événement AccountsLoaded et affiche les données de l’événement dans un tableau. Au fur et à mesure que l’utilisateur recherche et trouve des résultats différents, la liste est mise à jour en conséquence.
- Ouvrez le fichier
force-app/main/default/aura/AccountList/AccountListController.js
et remplacez son contenu par le code suivant, puis enregistrez le fichier. La fonctiononAccountsLoaded
du contrôleur côté client transforme les données d’événement au format attendu par le composant<lightning:datatable>
. La fonctiononRowAction
accède à l’enregistrement de compte correspondant à la ligne avec laquelle l’utilisateur a interagi.
- Déployez le nouveau code dans l’organisation test.
Ressources
- Documentation Salesforce : Référence de commande de la Salesforce CLI
- Documentation Salesforce : Guide du développeur Salesforce DX
- Place de marché Visual Studio : Extensions Salesforce pour VS Code
- Vidéo Salesforce : Salesforce CLI : exploitation de la puissance de Salesforce via la ligne de commande