Regra: Guard de Edição Não Salva
O que é
Em toda página ou modal de edição coberta pela regra, o sistema bloqueia a saída quando existem alterações pendentes (ainda não salvas). Antes de descartar qualquer dado digitado, exibe uma confirmação para o usuário decidir o que fazer. O objetivo é evitar a perda acidental de informações já preenchidas.
Gatilhos que disparam a confirmação
A confirmação é acionada sempre que o usuário tenta deixar a tela de edição com mudanças pendentes, em qualquer um dos seguintes casos:
- Tecla ESC dentro de um modal → mostra a confirmação e não fecha o modal automaticamente.
- Clique em outro menu ou link de outra rota → abre o modal de confirmação antes de navegar.
- Botão voltar/avançar do navegador → dispara a mesma confirmação interna do sistema.
- F5 / Ctrl+R / fechar a aba → exibe o prompt nativo do navegador ("As alterações podem não ser salvas").
Botões da confirmação
A janela de confirmação apresenta sempre três opções:
| Botão | Estilo | O que faz |
|---|---|---|
| Continuar editando | Padrão (foco inicial) | Fecha a confirmação e mantém o usuário no formulário, preservando o que foi digitado. |
| Sair sem salvar | Atenção (warning) | Descarta as alterações pendentes e sai da tela. |
| Salvar e sair | Primário | Tenta salvar; se o salvamento for bem-sucedido, navega para o destino. Se houver erro de validação, permanece no formulário. |
Cenários documentados (critério de aceitação BDD)
Os 12 cenários abaixo cobrem todos os gatilhos em diferentes telas e formam o critério de aceitação da regra.
| # | Cenário | Ação do usuário | Comportamento esperado |
|---|---|---|---|
| 1 | Editando paciente, decide abrir a Agenda | Clica no menu "Agenda" com campos alterados | Aparece a confirmação; só navega após escolher uma opção |
| 2 | Modal de autorização aberto com mudança | Aperta ESC | Confirmação aparece e o modal permanece aberto (não fecha) |
| 3 | Formulário de orçamento alterado | Pressiona F5 | Prompt nativo do navegador pedindo confirmação de saída |
| 4 | Editando agendamento, clica em outro link de rota | Clica em "Pacientes" no menu lateral | Modal de confirmação com os três botões antes de trocar de tela |
| 5 | Atendimento em edição (prontuário) | Clica no botão "voltar" do navegador | Confirmação interna do sistema; navegação cancelada se "Continuar editando" |
| 6 | Modal de orçamento com item alterado | Clica fora do modal / no "X" | Confirmação aparece; modal permanece se "Continuar editando" |
| 7 | Editando paciente | Fecha a aba do navegador | Prompt nativo do navegador alertando alterações não salvas |
| 8 | Autorização alterada, escolhe não perder dados | Na confirmação, clica em "Continuar editando" | Volta ao formulário com todos os campos preservados |
| 9 | Agendamento alterado, decide descartar | Na confirmação, clica em "Sair sem salvar" | Alterações descartadas e tela de destino é aberta |
| 10 | Orçamento alterado, quer salvar antes de sair | Na confirmação, clica em "Salvar e sair" | Salva e navega; se houver erro de validação, permanece no formulário |
| 11 | Editando paciente sem nenhuma alteração | Clica em outro menu | Nenhuma confirmação; navega direto (nada pendente para perder) |
| 12 | Modal de atendimento alterado | Aperta ESC e depois "Salvar e sair" | Modal continua na 1ª ação; ao confirmar salvar, fecha e navega |
Telas cobertas
A entrega de julho/2026 (#401 + #404) implementa a confirmação para sair da tela com alterações pendentes. A cobertura foi planejada em duas ondas, começando pelas telas principais:
Primeira onda (5 telas principais)
- Agendamento (criar/editar)
- Atendimento (prontuário)
- Autorização
- Orçamento
- Paciente (cadastro/edição)
Expansão (~25 telas)
Expansão da regra para os demais formulários de edição, por área (rollout progressivo):
- Configurações: empresas/unidades, locais, colaboradores, equipamentos, operadoras, convênios, serviços, taxas, parâmetros e demais cadastros.
- Estoque: produtos, fornecedores, fabricantes, princípios ativos, depósitos.
- Financeiro: registros a pagar/receber, contas e caixas, categorias, centro de custo.
- Faturamento: pré-faturamento, lotes, glosas.
Resumo para o usuário
Sempre que você estiver editando algo e tentar sair sem salvar, o sistema pergunta o que fazer. Escolha Continuar editando para voltar ao formulário, Sair sem salvar para descartar, ou Salvar e sair para gravar e seguir. Assim você não perde mais o que digitou por engano.