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:

    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