Les agents
Maintenant que nous avons géré l'authentification nous pouvons développer notre application.
Nous allons commencer par le module agent
qui va nous permettre de charger la liste des agents présents dans la base de données.
En effet, le module mission
nécessite d'avoir la liste des agents pour fonctionner.
TP : Module agent
- Ajouter un nouveau module
AgentModule
avec un fichier de routingAgentRoutingModule
et un serviceAgentService
- Créer un component
AgentListComponent
comportant un titreListe des agents
- Ajouter une route
agent-list
dansAgentRoutingModule
qui pointe sur le componentAgentListComponent
. N'oubliez pas de le protéger avec leGuard
. - Importer
AgentModule
dans le module principalAppModule
- Ajouter une barre de menu dans le
AppComponent
avant le<router-outlet></router-outlet>
pour naviguer entre les pagesmission-list
etagent-list
- À droite dans la barre de menu, ajouter un bouton de déconnexion qui fait appel à la méthode
clearTokenFromLocalStorage
deLoginService
- Le bouton de déconnexion doit effacer le
userToken
et renvoyer l'utilisateur sur la pagelogin
- La barre de menu doit être visible uniquement lorsque l'utilisateur est connecté
TP: Service agent
Voici un exemple d'un objet agent :
{
id_agent: 6,
firstname: "Aliev",
lastname: "Kallistrat",
status: "Chercheur·se",
cap: 1500
}
- Dans le module
AgentModule
ajouter une interfaceagent.model
pour définir l'objetAgent
- Dans le service
AgentService
ajouter une propriétéagents
qui stock la liste des agents et deux propriétésagentsIsLoading
,agentsIsLoaded
- Ajouter une méthode
loadAgentList
qui permettra de charger la liste des agents et d'affecter le résultat à la propriétéagents
- Dans le component
AgentListComponent
, appeler lors de l'initialisation la méthodeloadAgentList
du serviceAgentService
- Dans le module
AgentModule
ajouter un componentAgentListTableComponent
- Passer en paramètre d'entrée de
AgentListTableComponent
la listeagents
- À l'aide d'une table bootstrap afficher les agents dans
AgentListTableComponent
- La table ne doit être visible que si
agentsIsLoaded
est vrai - Si
agentsIsLoading
est vrai, afficher un spinner
Résultat attendu :