= 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 geradas 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. Quando esta vinculação ocorrer, a requisição deverá ser do tipo Ajax, e deverá estar indicada uma função javascript que tratará os dados de retorno ou um componente que será populado com os dados de retorno. 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. Todo componente em que seja possível tradução, terá uma propriedade indicando se a tradução deve ser feita. No momento da renderização da interface, uma função de tradução será chamada para cada componente cuja propriedade esteja assinalada. == 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.