| Version 6 (modified by raphael.costa, 9 years ago) (diff) |
|---|
Format
As semanticas do TerraMA² estão definidas no arquivo semantics.json.
Tipos de campos (modelo - schema)
Esta seção descreve todos os tipos de campos que serão apresentados na interface na Aplicação Web do TerraMA². Alguns tipos de dados podem ser usados somente no desenho do campo, ou seja, no form. A tabela abaixo descreve todos os tipos suportados e onde podem ser utilizados:
| Tipos | Descrição |
| string | Define um campo do tipo texto. |
| number | Define um campo do tipo numerico. Será aceito tanto numeros inteiros e numeros com ponto flutuante |
| integer | Define um campo do tipo inteiro. |
| boolean | Define um campo do tipo checkbox. |
| array | Define uma cadeia de conjunto de valores especificos. (TODO) |
Tipos dos campos (renderizador - form)
Esta seção descreve todos os tipos de campos que serão desenhados na interface na Aplicação Web do TerraMA². A tabela abaixo descreve todas os possiveis formatos suportados:
| Tipos | Descrição |
| string | Define um campo do tipo texto. |
| number | Define um campo do tipo numerico. Será aceito tanto numeros inteiros e numeros com ponto flutuante |
| integer | Define um campo do tipo inteiro. |
| boolean | Define um campo do tipo checkbox. |
| textarea | Define um campo do tipo texto de multiplas linhas. |
| submit | Define um botão que tem a propriedade de submeter o formulario |
| help | Define um bloco que delimitará um helper. Você deve especificar a formatação manual utilizando a tag: helpvalue |
| select | Define uma campo combobox. Você deve especificar os elementos através do atributo titleMap |
Seções
Metadados
Interface e modelo de dados
A seção gui define a estrutura geral de dados conforme é apresentado abaixo:
"gui": {
"schema": {
"properties": {
"table_name": {
"type": "string",
"title": "Table Name"
}
},
"required": ["table_name"]
},
"form": ["*"]
}
Neste bloco, contém os seguintes elementos:
- schema Define as regras gerais dos componentes. Basicamente, define-se a regra de negocio da semantica. Este bloco é composto dos seguintes elementos:
- properties Define quais são os campos utilizados dessa semantica. Um exemplo pode ser visto abaixo:
.. "properties": { "table_name": { "key": "string", "title": "Table Name" } }Dentro de cada campo (table_name) deve-se descrever obrigatoriamente o campo key que define o tipo de dado.(LINK). Podemos inclusive adicionar outros elementos."table_name": { "key": "string", "title": "Table Name", "placeholder": "It represents a description of field", "default": "It defines a default value to field. It must follow type value. If string, put it inside quotes. If boolean type true or false, etc." } - required Define quais campos serão obrigatórios na interface
- properties Define quais são os campos utilizados dessa semantica. Um exemplo pode ser visto abaixo:
- form Define como os elementos serão desenhados na interface, bem como a ordem deles. Este bloco deve ser obrigatoriamente uma cadeia (array) de elementos. Podemos definir das seguintes maneiras:
- Desenhe todos os campos na ordem definida pelo schema usando os mecanismos default. Não é muito recomendável, visto que os campos não terão uma formatação, resultando na ocupação inteira da linha.
"form": ["*"]
- Desenhe campos especificos com a formatação default:
"form": ["field1", "field2"]
- Desenha os campos com formatações customizadas. O examplo abaixo irá formatar dois campos table_name e column para se encaixarem na mesma linha:
"form": [ { "key": "table_name", "htmlClasses": "col-md-6" }, { "key": "column", "htmlClasses": "col-md-6" } ]
- Desenhe todos os campos na ordem definida pelo schema usando os mecanismos default. Não é muito recomendável, visto que os campos não terão uma formatação, resultando na ocupação inteira da linha.
Criando uma nova semantica
TODO:
