Excluir registros de dados em um aplicativo Web Oracle JET
Introdução
Este tutorial mostra como usar seu aplicativo Web Oracle JavaScript Extension Toolkit (Oracle JET) para excluir um registro de dados existente e enviar a alteração para um serviço REST.
Objetivos
Ao concluir este tutorial, você aprenderá a excluir um registro de dados existente e enviar a alteração para um serviço REST.
Pré-requisitos
- Um ambiente de desenvolvimento configurado para criar aplicativos Oracle JET, com o runtime JavaScript, Node.js e a interface de linha de comando mais recente do Oracle JET instalada
- Conclusão do tutorial anterior nesta programação de estudo, para que você tenha criado a pasta
JET_Web_Applicationcom um provedor de dados REST para extrair dados - O download opcional do aplicativo jet_rest_crud_application_final.zip concluído
Tarefa 1: Criar um Botão Excluir na Exibição
-
Navegue até o diretório
JET_Web_Application/src/ts/viewse abra o arquivodashboard.htmlem um editor. -
Localize o elemento
oj-button id="updateButton"e adicione um elementooj-buttonabaixo dele. Defina o atributoon-oj-actioncomo"[[deleteItem]]"e o atributodisabledcomo"[[!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" . . . -
Salve o arquivo
dashboard.html.Seu código deve ser semelhante a este arquivo final-delete-dashboard-html.txt.
Tarefa 2: Tratar Exclusão de Registros no ViewModel
Use a API de Extração e o método HTTP DELETE para excluir um registro do serviço REST. Use o método mutate da RESTDataProvider para atualizar sua instância RESTDataProvider.
-
Navegue até o diretório
JET_Web_Application/src/ts/viewModelse abra o arquivodashboard.tsem um editor. -
Na classe
DashboardViewModel, abaixo do código anterior que atualiza registros, crie um método chamadodeleteItem.. . . public updateItemSubmit = async (event: ojButtonEventMap["ojAction"]) => { . . . }; public deleteItem = async (event: ojButtonEventMap["ojAction"]) => { }; -
No método
deleteItemcriado, declare uma variávelcurrentRowe use uma instruçãoifpara confirmar se um item foi selecionado.public deleteItem = async (event: ojButtonEventMap["ojAction"]) => { const currentRow = this.selectedRow; if (currentRow != null) { } }; -
Adicione outra instrução
ifpara verificar a confirmação do usuário, depois adicione código para enviar uma solicitação para excluir o item selecionado para o serviço REST e, finalmente, atualize a instânciaRESTDataProvider.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 -
Salve o arquivo
dashboard.ts.Seu código deve ser semelhante a este arquivo final-delete-dashboard-ts.txt.
Tarefa 3: Executar o Aplicativo Web e Excluir um Registro
-
Na janela do terminal, execute seu aplicativo Web.
$ ojet serve -
No aplicativo, clique na atividade Baseball e, em seguida, clique no item SureFire Ball (Conjunto de 4).
-
Clique no botão Deletar. Uma janela de confirmação é aberta.
-
Clique em OK.
A seção é atualizada e o item foi excluído.
-
Feche a janela ou guia do browser que exibe seu aplicativo Web em execução.
-
Na janela do terminal, pressione Ctrl+C e, se solicitado, digite
ypara sair do job em batch de ferramentas do Oracle JET.
Tarefa 4: (Opcional) Executar um Aplicativo Web de um Aplicativo Restaurado
Se quiser executar o aplicativo Web Oracle JET concluído do código fornecido, você poderá restaurar o aplicativo do arquivo compactado baixado. Para trabalhar com um aplicativo Oracle JET "distribuído e compactado", você deve restaurar as dependências do projeto, incluindo o conjunto de ferramentas Oracle JET e as bibliotecas e módulos necessários, dentro do aplicativo extraído.
-
Faça download do arquivo
jet_rest_crud_application_final.zipe extraia o conteúdo do aplicativo concluído para a pastajet_rest_crud_application_final. -
Na janela do terminal, navegue até a pasta
jet_rest_crud_application_finale restaure o aplicativo Web Oracle JET.$ ojet restore -
Aguarde a confirmação.
Success: Restore completeO aplicativo está pronto para ser executado.
-
Execute o aplicativo Web e teste no browser.
$ ojet serve -
Feche a janela ou guia do browser que exibe seu aplicativo Web em execução.
-
Na janela do terminal, pressione Ctrl+C e, se solicitado, digite
ypara sair do job em batch de ferramentas do Oracle JET.
Mais Recursos de Aprendizagem
Explore outros laboratórios em docs.oracle.com/learn ou acesse mais conteúdo de aprendizado gratuito no canal YouTube do Oracle Learning. Além disso, visite education.oracle.com/learning-explorer para se tornar um Oracle Learning Explorer.
Para obter a documentação do produto, visite o Oracle Help Center.
Delete data records in an Oracle JET web app
F49679-01
February 2022
Copyright © 2022, Oracle and/or its affiliates.