○ Usamos polyfills para poder trabalhar normalmente
Tasks
Validações
Refatorações
Desafio
Transformar o controller e o service em classes
Tasks (Back) Clara enters the arena
Refatoração
Criação
Edição
Listagem
Tasks (Front)
Menu de Contexto
Internacionalização
Criar Service para validação
Tasks (Front)
Refatoração da refatoração
Testes automatizados
Homologação nos browsers
Tasks (Back)
Validações
Testes automatizados
Controller
Service
Objeto do tipo de campo
Escuta alteração da tela
Solicita a alteração para o service
Solicita o novo estado do campo
Realiza uma comparação dos estados
Monta um objeto que a tela entenda
Realiza as alterações na tela
DeepDiff
Controller
Service
Service de Validação
Escuta change no campo
Pede para setar um novo valor
Manda para o Service de validação
Se válido, seta um novo valor
Se não, pede para Controller de Mensagens avisar na tela
Controller de Mensagens
Monstra mensagens de erro
Destaca campo com problema
I18n
Validator
ModeloCampoCriacao.jsp
Polyfills
Globais
Centralizador Modelo
includeCampoListaModelo.jsp
Instancia dos campos já criados
DeepDiff
[{
"kind": "D",
"path": ["tamanho"],
"lhs": "enable"
}, {
"kind": "D",
"path": ["tiposTamanho"],
"lhs": {
"altura": "enable",
"largura": "enable"
}
}, {
"kind": "N",
"path": ["exibicao"],
"rhs": "enable"
}, {
"kind": "N",
"path": ["tiposExibicao"],
"rhs": {
"normal": "enable",
"repeticao": "enable",
"grid": "disable"
}
}, {
"kind": "N",
"path": ["metodoInsercao"],
"rhs": "enable"
}, {
"kind": "N",
"path": ["tiposMetodoInsercao"],
"rhs": {
"templateCriar": "enable",
"templateImportar": "enable",
"templateAnexar": "enable"
}
}, {
"kind": "N",
"path": ["template"],
"rhs": "enable"
}]
Alterações
{
"mostrar": [
"tamanho|enable",
"tiposTamanho|tamanho|enable",
"pesquisa|enable",
"resultado|enable",
"javascript|enable",
"metodoJS|enable"
],
"alterarDisable": ["tiposExibicao|grid"],
"ocultar": [
"metodoInsercao",
"tiposMetodoInsercao|templateCriar",
"tiposMetodoInsercao|templateImportar",
"tiposMetodoInsercao|templateAnexar",
"template"
]
}