| 1 | = Criar Interface de Visualização = |
| 2 | |
| 3 | == 1 Descrição == |
| 4 | |
| 5 | 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. |
| 6 | |
| 7 | 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: |
| 8 | |
| 9 | * botão de ação |
| 10 | * input box |
| 11 | * combo box |
| 12 | * list box |
| 13 | * text area |
| 14 | * div |
| 15 | * grid |
| 16 | * table |
| 17 | * etc. |
| 18 | |
| 19 | Existem ainda componentes especiais para recursos do ambiente Expresso: |
| 20 | |
| 21 | * seleção de usuários |
| 22 | * seleção de cidades |
| 23 | * seleção de estados |
| 24 | |
| 25 | 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. 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. |
| 26 | |
| 27 | == 2 Atores == |
| 28 | |
| 29 | Desenvolvedores da aplicação |
| 30 | |
| 31 | == 3 Pré-condições == |
| 32 | |
| 33 | Desenvolvedor deve possuir acesso administrativo à aplicação |
| 34 | |
| 35 | == 4 Eventos == |
| 36 | |
| 37 | 1. Desenvolvedor acessa ferramenta do sistema que possibita o desenho da interface. |
| 38 | 2. Desenvolvedor desenha a interface, utilizando os componentes disponíveis, e definindo as propriedades para cada componente. {A1} |
| 39 | 3. Desenvolvedor informa um nome para a sua interface. |
| 40 | 4. Sistema converte a interface para Xml. |
| 41 | 5. Sistema salva a interface na pasta view/templates da aplicação. {E1} |
| 42 | |
| 43 | == 5 Eventos Alternativos == |
| 44 | |
| 45 | {A1} Desenvolvedor edita uma interface já existente. |
| 46 | |
| 47 | == 6 Tratamento de Erros == |
| 48 | |
| 49 | {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. |
| 50 | |
| 51 | == 7 Mensagem == |
| 52 | |
| 53 | {M1} Não foi possivel salvar a interface {Nome da Interface} Ignorar | Tentar Novamente | Cancelar |
| 54 | |
| 55 | == 8 Pós-condições == |
| 56 | |
| 57 | Arquivo de definição da interface salvo em disco. |
| 58 | |
| 59 | == 9 Regras de Negócio == |
| 60 | |
| 61 | Não relevante. |
| 62 | |
| 63 | == 10 Telas Envolvidas == |
| 64 | |
| 65 | Não relevante. |
| 66 | |
| 67 | == 11 Notas == |