Supprimer des enregistrements de données dans une application Web Oracle JET
Introduction
Ce tutoriel vous explique comment utiliser votre application Web Oracle JavaScript Extension Toolkit (Oracle JET) pour supprimer un enregistrement de données existant et soumettre la modification à un service REST.
Objectifs
Au terme de ce tutoriel, vous aurez appris à supprimer un dossier de données existant et à soumettre la modification à un service REST.
Prérequis
- Environnement de développement configuré pour créer des applications Oracle JET avec l'exécution JavaScript, Node.js et la dernière interface de ligne de commande Oracle JET installée
- Achèvement du tutoriel précédent dans ce parcours de formation, de sorte que vous ayez créé le dossier
JET_Web_Application
avec un fournisseur de données REST pour extraire des données - L'application jet_rest_crud_application_final.zip terminée, éventuellement téléchargée
Tâche 1 : Créer un bouton Supprimer dans la vue
-
Accédez au répertoire
JET_Web_Application/src/ts/views
et ouvrez le fichierdashboard.html
dans un éditeur. -
Recherchez l'élément
oj-button id="updateButton"
et ajoutez un élémentoj-button
en dessous. Définissez l'attributon-oj-action
sur"[[deleteItem]]"
et l'attributdisabled
sur"[[!itemSelected()]]"
.<oj-bind-if test="[[activitySelected()]]"> . . . <oj-button id="createButton" on-oj-action="[[showCreateDialog]]">Create</oj-button> <!-- If itemSelected is set to false, disabled is true, and vice versa. --> <oj-button id="updateButton" disabled="[[!itemSelected()]]" on-oj-action="[[showEditDialog]]">Update</oj-button> <oj-button id="deleteButton" disabled="[[!itemSelected()]]" on-oj-action="[[deleteItem]]">Delete</oj-button> <oj-list-view id="itemsList" . . .
-
Enregistrez le fichier
dashboard.html
.Votre code doit ressembler à ce fichier final-delete-dashboard-html.txt.
Tâche 2 : gestion de la suppression d'enregistrements dans ViewModel
Utilisez l'API d'extraction et la méthode HTTP DELETE
pour supprimer un enregistrement du service REST. Utilisez la méthode mutate
de RESTDataProvider
pour mettre à jour l'instance RESTDataProvider
.
-
Accédez au répertoire
JET_Web_Application/src/ts/viewModels
et ouvrez le fichierdashboard.ts
dans un éditeur. -
Dans la classe
DashboardViewModel
, sous le code précédent qui met à jour les enregistrements, créez une méthode nomméedeleteItem
.. . . public updateItemSubmit = async (event: ojButtonEventMap["ojAction"]) => { . . . }; public deleteItem = async (event: ojButtonEventMap["ojAction"]) => { };
-
Dans la méthode
deleteItem
que vous avez créée, déclarez une variablecurrentRow
et utilisez une instructionif
pour confirmer qu'un élément a été sélectionné.public deleteItem = async (event: ojButtonEventMap["ojAction"]) => { const currentRow = this.selectedRow; if (currentRow != null) { } };
-
Ajoutez une autre instruction
if
pour vérifier la confirmation de l'utilisateur, puis ajoutez du code pour envoyer une demande de suppression de l'élément sélectionné au service REST et mettez enfin à jour l'instanceRESTDataProvider
.public deleteItem = async (event: ojButtonEventMap["ojAction"]) => { let itemID = this.firstSelectedItem().data.id; const currentRow = this.selectedRow; if (currentRow != null) { let really = confirm("Are you sure you want to delete this item?"); if (really) { // Create and send request to delete row on REST service const request = new Request( `${this.restServerURLItems}${itemID}`, { method: "DELETE" } ); const response = await fetch(request); // Create remove mutate event and call mutate method // to notify data-provider consumers that a row has been // removed if (response.status === 200) { const removedRowKey = itemID; const removedRowMetaData = { key: removedRowKey }; this.itemsDataProvider.mutate({ remove: { data: [itemID], keys: new Set([removedRowKey]), metadata: [removedRowMetaData], }, }); this.itemsDataProvider.refresh(); } else { alert("Delete failed with status " + response.status + " : " + response.statusText) } } } }; // End deleteItem
-
Enregistrez le fichier
dashboard.ts
.Votre code doit ressembler à ce fichier final-delete-dashboard-ts.txt.
Tâche 3 : Exécuter l'application Web et supprimer un enregistrement
-
Dans la fenêtre de terminal, exécutez votre application Web.
$ ojet serve
-
Dans l'application, cliquez sur l'activité Baseball, puis sur l'élément SureFire Ball (Set of 4).
-
Cliquez sur le bouton Supprimer. Une fenêtre de confirmation apparaît.
-
Cliquez sur OK.
La section est actualisée et l'élément a été supprimé.
-
Fermez la fenêtre ou l'onglet du navigateur qui affiche l'application Web en cours d'exécution.
-
Dans la fenêtre de terminal, appuyez sur Ctrl+C et, si vous y êtes invité, entrez
y
pour quitter le traitement batch des outils Oracle JET.
Tâche 4 : (facultatif) exécution d'une application Web à partir d'une application restaurée
Si vous voulez exécuter l'application Web Oracle JET terminée à partir du code fourni, vous pouvez restaurer l'application à partir du fichier d'archive téléchargé. Pour utiliser une application Oracle JET "mise au point et compressée", vous devez restaurer les dépendances de projet, y compris les outils Oracle JET, ainsi que les bibliothèques et modules requis, dans l'application extraite.
-
Téléchargez le fichier
jet_rest_crud_application_final.zip
et extrayez le contenu de l'application terminée dans le dossierjet_rest_crud_application_final
. -
Dans la fenêtre de terminal, accédez au dossier
jet_rest_crud_application_final
et restaurez l'application Web Oracle JET.$ ojet restore
-
Attendez la confirmation.
Success: Restore complete
L'application est prête à être exécutée.
-
Exécutez l'application Web et testez-la dans le navigateur.
$ ojet serve
-
Fermez la fenêtre ou l'onglet du navigateur qui affiche l'application Web en cours d'exécution.
-
Dans la fenêtre de terminal, appuyez sur Ctrl+C et, si vous y êtes invité, entrez
y
pour quitter le traitement batch des outils Oracle JET.
Ressources de formation supplémentaires
Explorez d'autres exercices sur docs.oracle.com/learn ou accédez à davantage de contenu d'apprentissage gratuit sur le canal Oracle Learning YouTube. De plus, visitez le site education.oracle.com/learning-explorer pour devenir Oracle Learning Explorer.
Pour consulter la documentation du produit, consultez le centre d'aide Oracle.
Delete data records in an Oracle JET web app
F49671-01
February 2022
Copyright © 2022, Oracle and/or its affiliates.