= Criar Interface de Visualização = == 1 Descrição == Uma interface de visualização é uma representação de tela Html a ser utilizada pela aplicação para apresentar ou solicitar dados ao usuário. As interfaces estão vinculadas a ações do sistema aplicativo, e são manipuladas pela camada de visualização, sob demanda da camada de controle. Assim, no ciclo previsto no MVC, a camada de visualização receberá um objeto de dados e promoverá a mesclagem destes dados com a interface definida para a ação. O framework disponibiliza uma ferramenta gráfica para desenho de interfaces, onde o desenvolvedor tem acesso a componentes, e os agrupa na interface para produzir o layout desejado. Conforme trabalha, já pode ver o resultado final, acionando uma funcionalidade de preview, que apresenta a interface como ficará para o usuário. Estão previstos componentes básicos para: * botão de ação * input box * combo box * list box * text area * div * grid * table * form * recordset * label * imagem Existem ainda componentes especiais para recursos do ambiente Expresso: * seleção de usuários * seleção de cidades * seleção de estados Cada componente possui um conjunto de propriedades, pertinentes ao seu tipo, e alguns terão opção de ação vinculada a método da camada de negócio. Componentes do tipo submit deverão submeter a interface para o controller do aplicativo via http (ou https), e nos demais casos, a requisição deverá ser do tipo Ajax. Para cada interface, registrar uma ação para validação de dados, que será obrigatória. Também está prevista a carga de bibliotecas javascript da aplicação e utilização de funcionalidades destas bibliotecas pelos componentes. Existirão outras bibliotecas Javascript padrão, a serem utilizadas nativamente pela interface. A interface utilizará obrigatoriamente o template css definido para o ambiente. Componentes onde é possível a exibição de valores do tipo lista, possuirão uma propriedade especial onde é possível definir uma classe e método de negócio responsável por recuperar os valores da lista. == 2 Atores == Administradores da aplicação == 3 Pré-condições == Desenvolvedor deve possuir acesso administrativo à aplicação == 4 Eventos == 1. Administrador acessa ferramenta do sistema que possibita o desenho da interface. 2. Administrador desenha a interface, utilizando os componentes disponíveis, e definindo as propriedades para cada componente. {A1} 3. Administrador informa um nome para a sua interface. 4. Sistema converte a interface para Xml. 5. Sistema salva a interface na pasta view/templates da aplicação. {E1} == 5 Eventos Alternativos == {A1} Administrador edita uma interface já existente. == 6 Tratamento de Erros == {E1} Caso não consiga grava a interface na pasta apropriada, envia mensagem {M1}, se o usuário opta por Cancelar encerra o fluxo, caso opte por Ignorar executa a próxima instrução, se optar por Tentar novamente o sistema deve executar a linha que provocou o erro. == 7 Mensagem == {M1} Não foi possivel salvar a interface {Nome da Interface} Ignorar | Tentar Novamente | Cancelar == 8 Pós-condições == Arquivo de definição da interface salvo em disco. == 9 Regras de Negócio == Não relevante. == 10 Telas Envolvidas == Não relevante. == 11 Notas == Considera-se uma boa prática que a transferência de dados entre as camadas MVC seja através de objetos VO. Avaliar se deve ser obrigatória esta implementação.