oOutput | JsonObject | OUTPUT | Retorno contendo o metadados com os campos e ações conforme parâmetros recebidos: List
{
"keepfilters": false,
" "literals": {},
"validateFields": [],
"title": "Anexos de Documentosdocumentos",
"fields": [
{
"visible": false,
"property": "documentId",
"label": "Código",
"type": "number",
"key": true,
"order": 1
},
{
"property": "processTypeDescription",
"width": "15%",
"label": "Tipo Processo",
{ "visible": false, "property": "processType", "options": [ { "label": "Ordem de Compra", "value": 1 }, { "label": "Cotação de Materiais", "value": 2 } ], "label": "Tipo Processo", "type": "label", "order": 2, "labels": [ { "label": "Ordem de Compra", "value": 1 }, { "label": "Cotação de Materiais", "value": 2 } ] }, { "visible": false, "property": "processKey", "label": "Chave Processo", "type": "string",
"order": 2
3 },
{
"property": " processKeydocumentName",
"width": " 15%20%",
"label": " Chave ProcessoDocumento",
"type": "string",
"order": 3
4 },
{
"property": " documentNamedocumentSize",
"width": " 20%10%",
"label": " DocumentoTamanho",
"type": "string",
"order": 4
5 },
{
"property": " documentSizedocumentDescription",
"width": " 10%30%",
"label": " TamanhoDescrição",
"type": "string",
"order": 5
6 },
{
{ "property": " documentDescriptioncreationUser",
"width": " 35%5%",
"label": " DescriçãoCriador",
"type": "string",
"order": 6
} ,
{
7 }, { "visible": false, "allowColumnsManager": true, "property": " creationUsercreationUserName",
"width": " 5%15%",
"label": "Nome Criador",
"type": "string",
"order": 7,
"visible": false,
"allowColumnsManager": true
8 },
{
"property": " creationDateTimecreationDatetime",
"width": " 25%20%",
"label": "Data",
"type": "dateTime",
"order": 9 ,
"visible": false,
"allowColumnsManager": true
} } ],
],
"tableCustomActions": [],
"actions": {
"new": "/new",
"removeAll": true,
"remove": true
},
"pageCustomActions": [] }
|
Descrição dos campos: - keepFilters: Mantém na modal de Busca Avançada os valores preenchidos do último filtro realizado pelo usuário.
- literals: Objeto com as literais usadas.
- validateFields: Lista que define os campos que irão disparar o validate do form.
- title: Título da página.
- fields: São os campos a serem apresentados na tabela, sendo eles:
- property: Nome de referência do campo.
- label: Rótulo do campo exibido.
- type: Tipo do valor campo.
- key: Valor lógico que indica se o campo é chave.
- order: Informa a ordem de exibição do campo.
- visible: Indica se o campo será visível.
- width: Tamanho do campo.
- allowColumnsManager: Campo estará disponível no gerenciador de colunas.
- tableCustomActions: Lista de ações customizadas da tabela que serão incorporadas às ações informadas através da propriedade actions.
- actions: Ações que o usuário poderá executar na página através de botões:
- new: Rota ou função para criar um novo recurso, caso seja preenchida habilita a ação de "Novo" na tela de listagem para criação de um novo anexo.
- remove: Habilita a ação de exclusão na tabela.
- removeAll: Habilita a ação de exclusão em lote na página.
- pageCustomActions: Lista de ações customizadas da página que serão incorporadas às ações informadas através da propriedade actions. Essas ações ficam localizadas na parte superior da página em botões com ações. Ex: "Novo", "Excluir".
Edit
{
"defaultFields": [
{
"gridColumns": 4,
"divider": "Processo",
"label": "Tipo Processo",
"property": "processType",
"disabled": true,
"options": [
{
"value": 1,
"label": "Ordem de Compra"
}
]
},
{
"gridColumns": 4,
"label": "Chave",
"property": "processKey",
"disabled": true
},
{
"autoUpload": true,
"gridColumns": 4,
"divider": "Anexar Documento",
"label": "Selecione o documento",
"property": "documentUpload",
"required": true,
"type": "upload"
},
{
"maxLength": 200,
"gridColumns": 8,
"label": "Descrição",
"property": "documentDescription",
"rows": 4
}
],
"title": "Novo anexo",
"breadcrumb": {
"items": [
{
"link": "/",
"label": "Anexos de documentos"
},
{
"link": "/new",
"label": "Novo anexo"
}
]
}
}
|
Descrição dos campos:
- defaultFields: Armazena as informações dos campos padrões do formulários:
- gridColumns: Tamanho de exibição do campo em telas.
- divider: Exibirá um divisor acima, utilizando o seu conteúdo como título.
- label: Rótulo do campo exibido.
- property: Nome de referência do campo.
- disabled: Função que deve retornar um booleano para habilitar ou desabilitar a ação para o registro selecionado.
- options: Lista de opções que serão exibidas em um componente, podendo selecionar uma opção.
- value: Valor que será usado como referência para exibição do conteúdo na coluna, representa o tipo de processo.
- label: Rótulo do campo exibido, referenciando o nome do tipo de processo.
- autoUpload: Define se o envio do arquivo será automático ao selecionar o mesmo.
- required: Indica que o campo será obrigatório.
- type: Tipo do valor do campo.
- maxLength: Tamanho máximo de caracteres.
- rows: Quantidade de linhas exibidas no campo "Descrição".
- title: Título da página.
- breadcrumb: Objeto com propriedades do breadcrumb, componente que gera uma estrutura de navegação que apresenta ao usuário a localização da URL atual, exibindo as antecessoras conforme é realizado a navegação na aplicação:
- items: Lista de itens do breadcrumb:
- link: Url do item.
- label: Rótulo do item.
View {
"keepfilters": false,
"literals": {},
"validateFields": [],
"title": "Consulta de Anexos de Documentos",
"fields": [
{
"visible": false,
"property": "documentId",
"label": "Código",
"type": "number",
"key": true,
"order": 1
},
{
"property": "processTypeDescription",
"width": "15%",
"label": "Tipo Processo",
"type": "string",
"order": 2
},
{
"property": "processKey",
"width": "15%",
"label": "Chave Processo",
"type": "string",
"order": 3
},
{
"property": "documentName",
"width": "20%",
"label": "Documento",
"type": "string",
"order": 4
},
{
"property": "documentSize",
"width": "10%",
"label": "Tamanho",
"type": "string",
"order": 5
},
{
"property": "documentDescription",
"width": "35%",
"label": "Descrição",
"type": "string",
"order": 6
},
{
"visible": false,
"allowColumnsManager": true,
"property": "creationUser",
"width": "5%",
"label": "Criador",
"type": "string",
"order": 7
},
{
"visible": false,
"property": "creationUserName",
"width": "20%",
"label": "Nome Criador",
"type": "string",
"order": 8
},
{
"visible": false,
"allowColumnsManager": true,
"property": "creationDatetime",
"width": "15%",
"label": "Data",
"type": "dateTime",
"order": 9
}
],
"tableCustomActions": [],
"pageCustomActions": []
}
|
Possui os mesmos campos de retorno do metadados "List", sendo que a diferença é que se trata de uma tela de Consulta apenas, então, neste caso, não estão disponíveis as ações ("actions" no json), ou seja, os botões "Novo" e "Excluir" não são carregados na tela. A requisição é igual ao do metadados List (passando no queryparams o type = list) da api supplyDocuments, apenas alterando a api de origem que é a supplyDocumentsView. No método pi-metadata da supplyDocumentsView é feito o tratamento onde, ao receber o tipo "list" ele envia o tipo "view" para a apiDocuments fazer o tratamento e omitir os campos referente as ações da tela. No caso da apiDocuments, recebe o evento = "view" da apiSupplyDocuments. Os eventos "list" e "view" também direcionam para qual título será apresentado na página. Se for "view", na página de consulta será mostrado o título "Consulta de Anexo de Documentos" e se for "list", na página de manutenção da ordem de compra será mostrado "Anexo de Documentos". |