Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

pi-metada-v1

Requisito

Nenhum.

Descrição

Retorna o metadados com os campos e ações ativos referentes a tela de Listagem (list), Consulta (view) ou Edição (edit), dependendo de qual tipo foi enviado pela requisição, para a montagem dinâmica da tela com as informações vindas do backend.

Parâmetros

Tipo

Input/Output

Descrição

oInput

JsonObject

INPUT

Parâmetros para a busca de metadados:

pathParams:  Informar: metadata.

queryParams →  type: Utilizando este atributo com uma das opções abaixo permite retornar as informações de:

  • list: Metadados da tela de listagem.
  • edit: Metadados da tela de inclusão do arquivo.

Exemplo

{
    "queryParams": {
    "type": "list"
  },
    "pathParams": [
       "metadata"
    ],
}

cEventCharacterINPUTIdentifica qual o tipo de evento vindo do queryParams para a busca do metadado correto.
cVersionCharacterINPUTIdentifica a versão da API.
oOutputJsonObjectOUTPUT

Retorno contendo o metadados com os campos e ações conforme parâmetros recebidos:

  • Metadados List:


List

 {
    "literals": {},
    "validateFields": [],
    "title": "Anexos de documentos",
    "fields": [
        {
            "visible": false,
            "property": "documentId",
            "label": "Código",
            "type": "number",
            "key": true,
            "order": 1
        },
        {
            "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": 3
        },
        {
            "property": "documentName",
            "width": "20%",
            "label": "Documento",
            "type": "string",
            "order": 4
        },
        {
            "property": "documentSize",
            "width": "10%",
            "label": "Tamanho",
            "type": "string",
            "order": 5
        },
        {
            "property": "documentDescription",
            "width": "30%",
            "label": "Descrição",
            "type": "string",
            "order": 6
        },
        {
            "property": "creationUser",
            "width": "5%",
            "label": "Criador",
            "type": "string",
            "order": 7
        },
        {
            "visible": false,
            "allowColumnsManager": true,
            "property": "creationUserName",
            "width": "15%",
            "label": "Nome Criador",
            "type": "string",
            "order": 8
        },
        {
            "property": "creationDatetime",
            "width": "20%",
            "label": "Data",
            "type": "dateTime",
            "order": 9
        }
    ],
    "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".


  • Metadados Edit:


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.


  • Metadados View:

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".

RowErrorsTemp-tableOUTPUTInformações sobre os erros ocorridos durante o processo de busca do metadados.

Retorno

Retorna informações do metadados ou erros ocorridos durante a busca.

...