Serviço de transação
O Transaction Service
é um middleware injetável (por meio do DI do Angular) que um componente pode usar para acumular alterações sem afetar imediatamente os dados subjacentes.
Note
A transformação de dados do esquema acima não é obrigatória. Você não precisa usar um pipe para usar o Transaction Service
.
O Transaction Service
permite adicionar transações. Após pelo menos uma transação ser adicionada, você pode confirmar ou limpar todas as alterações ou as alterações para um único registro somente. Como ele mantém um log detalhado, ele também pode executar operações de desfazer e refazer.
Toda vez que você executa uma operação (transaction), ela é adicionada ao log de transações e à pilha de desfazer. Todas as alterações no log de transações são então acumuladas por registro. A partir desse ponto, o serviço mantém um estado agregado que consiste apenas em operações de adicionar/atualizar/excluir para registros exclusivos. Isso é baseado em uma interface State
que tem três propriedades: recordRef
, type
e value
.
Nós construímos três classes no topo do Transaction Service
que fornecem aos usuários a habilidade de confirmar todas as mudanças que eles fizeram, ou somente mudanças feitas em um registro específico, de uma vez. Essas classes são igxBaseTransactionService
, igxTransactionService
e igxHierarchicalTransactionService
.
O igxTransactionService
e igxHierarchicalTransactionService
são totalmente integrados com nossos componentes igxGrid, igxHierarchicalGrid e igxTreeGrid. Você pode encontrar exemplos detalhados de uso desses componentes com transações habilitadas nos seguintes tópicos:
- Edição em lote e transações do igxGrid
- Edição em lote e transações do igxHierarchicalGrid
- Edição em lote e transações do igxTreeGrid
Uma visão geral mais detalhada das oportunidades que o Transaction Service
oferece pode ser encontrada em nosso blog "Construindo um serviço de transação para gerenciar experiências de edição em larga escala"
Additional Resources
- API de serviço de transação
- Hierarquia de classe do Serviço de Transação
- Como usar o serviço de transação
- Crie operações CRUD com igxGrid
- Edição em lote de grade
- Edição em lote de grade de árvore
- Edição em lote de grade hierárquica
- Blog "Construindo um serviço de transação para gerenciar experiências de edição em larga escala"