Histórico da Página
...
Neste caso os diretórios e subdiretórios: assets, libs, css e outros; irão existir somente caso seja necessário utilizar algum recurso que não seja provido pela aplicação centralizadora.
Arquitetura
A arquitetura pode ser resumida de acordo com a imagem a baixo:
O usuário irá interagir com algum formulário e/ou recurso provido pela view (página HTML) esta por sua vez, irá acessar os serviços provenientes dos ERP's para esta view.
Observação: O TOTVS | HTML Framework se reserva a suportar apenas a camada de iteração do usuário com as views, das views com a chamada aos serviços; a construção e fornecimento dos serviços é de responsabilidade de cada produto.
No que diz respeito a interação do usuário com as views e das views com os serviços, temos a seguinte estruturação:
Desenha como!?
Getting Started
Adicionar um screencast para o primeiro Hello World?
Aplicação de Referência
Está disponível para download uma aplicação de referencia utilizando todos os conceitos e recursos implementados. Esta aplicação está com o código fonte devidamente documentado para facilitar o entendimento.
- Download (Não esquecer de adicionar a aplicação antes de liberar o projeto)
Observações
- O exemplo possui uma aplicação centralizadora (html-app) e uma aplicação convencional (html-sample);
- A aplicação de referencia utiliza o um encapsulamento padrão para as chamadas REST, este encapsulamento prevê que todas as chamadas a serviços do produto irão prover um retorno no padrão:
- data: objeto genérico que pode conter um único objeto ou uma lista de objetos;
- length: utilizado normalmente para quando o objeto contido no atributo 'data' é do tipo lista e possui paginação; neste caso a propriedade length recebe a quantidade total de registros da consulta;
- message: lista de mensagens de erro ou informativo resultante do serviço;
- code: titulo ou código da mensagem;
- type: tipo da mensagem, podendo assumir: danger, error, warning, question e info;
- detail: detalhamento ou texto da mensagem.
Devido a esta padronização também foi possível utilizar o serviço de notificação e um interceptor para as requisições HTTP para manipulação automática das mensagem retornados pelos serviços. - Utilizado a configuração de estados assumindo a estrutura de diretórios sugerida, neste caso obedecendo o padrão:
- <contexto da aplicação>/<contexto da view>/html/<view>/<view>.js
- Já possui o modelo de internacionalização assumindo a estrutura de diretórios sugerida, neste caso obedecendo o padrão:
- <contexto da aplicação>/<contexto da view>/i18n/translations.js
- Não foi utilizado o guia de estilos do Protheus 12 (liberar o SAMPLE com o guia correto);