Ticket #575 (assigned enhancement)
Criar componente web para controlar e identificar os erros obtidos do servidor
Reported by: | raphael.costa | Owned by: | raphael.costa |
---|---|---|---|
Priority: | major | Milestone: | terrama2-4.0.0 |
Component: | gui-web | Version: | 4.0 |
Keywords: | Cc: | ||
Parent Tickets: | Platform: | WLA |
Description
Criar componente web para controlar e identificar os erros e direciona-los para os inputs corretos.
Por exemplo:
Cadastro de Data Provider
Ja existe um data provider com o mesmo nome -> aparecer mensagem em vermelho com um X no campo "Nome"
Subtickets (add)
Change History
comment:2 Changed 9 years ago by raphael.costa
Foi criado um componente terrama2-server-errors a partir de um objeto contendo os erros. O controller deve então, setar os erros na mesma variavel passada para a diretiva. Isso é o bastante para funcionar com campos comuns. Entretanto, nos formularios dinamicos (Data Provider - http/ftp,etc..; Data Series - PCD, Queimadas, etc...) que estão fazendo uso de um framework chamado schema form, não provê um mecanismo interessante que permita fazer uso do componente criado anteriormente, suportando duas abordagens:
- Uso manual de validações Custom Validation através do $broadcast para validar e invalidar os elementos. Foi implementado dessa maneira e funciona parcialmente. Os errors são mostrados nos campos respectivos. Entretanto, o campo fica em um estado inconsistente, onde ocorre conflitos de validações que fazem que o valor fique undefined, sendo necessário apagar o campo manualmente, validar e colocar o valor real.
- Extender o framework Link e criar um novo tipo de dado (por exemplo terrama2-input) que faça uso da diretiva. Entretanto, é complexo extender o framework e é provavel que não funcione corretamente, visto que o framework trabalhe com escopo isolado (Link), não permitindo passar uma variavel contendo os erros. Logo seria necessário modificar a diretiva terrama2-server-errors para adaptar ao modelo.
comment:3 Changed 9 years ago by raphael.costa
- Status changed from accepted to assigned
- Milestone changed from terrama2-4.0.0-alpha4 to terrama2-4.0.0
comment:4 Changed 9 years ago by raphael.costa
Testar a criação de um componente utilizando o schema-form-addon-generator e injeta-lo como dependencia no terrama2