record
Record
Mestre-detalhe: à esquerda um seletor de linhas desta feature, à direita a vista de detalhe que a linha escolhida filtra.
- Kind:
view - Key:
record - Categoria:
painel - Envelope: lista de um só elemento (a config vive em
config[0])
Envelope de um só elemento
View.config é uma lista com um único elemento: a configuração vive em
config[0], não em config. Uma config escrita como mapa cru é lida de qualquer
maneira, mas entra nos relatórios como desvio de envelope.
Campos
| Chave | Tipo | Obrigatório | Omissão | Descrição | Referência |
|---|---|---|---|---|---|
selectorColumns | list de string | não | [] | Colunas mostradas no seletor, por ID; vazio = todas as visíveis. A ordem guardada nunca foi honrada (o runtime usa a ordem das colunas da feature). | - |
selectorFilterGroup | map | não | - | Filtro de base das linhas do seletor. | - |
selectorFilters | json | não | - | Descontinuado. Filtro do seletor no formato legado: nome da coluna → valor escolhido. Só lido, e só quando não há selectorFilterGroup. Opaco: transporta dados do utilizador e nenhum resolvedor entra aqui. | - |
selectorFilterTypes | json | não | - | Descontinuado. Operadores do formato legado do seletor: nome da coluna → operador. Só lido, a par de selectorFilters. Opaco: transporta dados do utilizador e nenhum resolvedor entra aqui. | - |
selectorSortColumn | string | não | - | Coluna por que o seletor ordena, POR NOME. O utilizador pode trocá-la em runtime (fica nas suas preferências, não aqui). | coluna (nome) |
selectorSortAscending | boolean | não | true | Ordem crescente no seletor. | - |
showSearch | boolean | não | true | Mostra a caixa de pesquisa do seletor. | - |
selectorMode | enumeration | não | "list" | Como o seletor se desenha: lista ou colunas. | - |
selectorGroupByColumn | string | não | - | Coluna por que o seletor agrupa, POR NOME; nula = lista plana. | coluna (nome) |
detailFeatureId | uuid | não | - | Feature da vista de detalhe; nula = a feature desta vista. | feature (uuid) |
detailViewType | enumeration | não | - | Tipo da vista de detalhe; nulo = o painel da direita fica vazio. | - |
detailViewName | string | não | - | Variante nomeada da vista de detalhe (nula = a por omissão). | vista de detailFeatureId (nome) |
detailFilterColumnId | uuid | não | - | Coluna da feature de detalhe que o valor da linha escolhida filtra. | coluna de detailFeatureId (uuid) |
sourceValueColumnId | uuid | não | - | Coluna desta feature de onde sai o valor passado ao detalhe; nula usa o id da linha. | coluna (uuid) |
selectorWidthRatio | number | não | 0.3 | Fração da largura que o seletor ocupa. O utilizador pode arrastá-la (fica nas suas preferências). | - |
selectorFilterGroup
| Chave | Tipo | Obrigatório | Omissão | Descrição | Referência |
|---|---|---|---|---|---|
combinator | enumeration | não | "and" | Como se combinam as regras do grupo: and exige todas, or basta uma. | - |
rules | list de map | não | - | As regras do grupo. | - |
groups | list de map | não | - | Subgrupos aninhados, com a mesma forma. | - |
selectorFilterGroup.rules[]
Cada elemento de selectorFilterGroup.rules é um objeto:
| Chave | Tipo | Obrigatório | Omissão | Descrição | Referência |
|---|---|---|---|---|---|
id | string | não | - | Identificador da regra, gerado pela app. Opaco: transporta dados do utilizador e nenhum resolvedor entra aqui. | - |
columnName | string | não | - | Coluna desta tabela, POR NOME. | coluna (nome) |
operator | string | não | - | Operador da comparação. | - |
value | string | não | - | Valor da comparação: dado de utilizador. Opaco: transporta dados do utilizador e nenhum resolvedor entra aqui. | - |
secondValue | string | não | - | Segundo valor, usado pelos operadores de intervalo. Só aparece no JSON quando não é nulo. Opaco: transporta dados do utilizador e nenhum resolvedor entra aqui. | - |
selectorFilterGroup.groups[]
Cada elemento de selectorFilterGroup.groups é um objeto:
| Chave | Tipo | Obrigatório | Omissão | Descrição | Referência |
|---|---|---|---|---|---|
combinator | enumeration | não | "and" | Como se combinam as regras do subgrupo. | - |
rules | list de map | não | - | As regras do grupo. | - |
groups | list | não | - | Subgrupos de terceiro nível: varrem-se às cegas (uma FieldDecl const não se pode referir a si própria). | - |
selectorFilterGroup.groups[].rules[]
Cada elemento de selectorFilterGroup.groups[].rules é um objeto:
| Chave | Tipo | Obrigatório | Omissão | Descrição | Referência |
|---|---|---|---|---|---|
id | string | não | - | Identificador da regra, gerado pela app. Opaco: transporta dados do utilizador e nenhum resolvedor entra aqui. | - |
columnName | string | não | - | Coluna desta tabela, POR NOME. | coluna (nome) |
operator | string | não | - | Operador da comparação. | - |
value | string | não | - | Valor da comparação: dado de utilizador. Opaco: transporta dados do utilizador e nenhum resolvedor entra aqui. | - |
secondValue | string | não | - | Segundo valor, usado pelos operadores de intervalo. Só aparece no JSON quando não é nulo. Opaco: transporta dados do utilizador e nenhum resolvedor entra aqui. | - |
Exemplo JSON
[
{
"selectorColumns": [],
"selectorSortAscending": true,
"showSearch": true,
"selectorMode": "list",
"selectorWidthRatio": 0.3
}
]
Gerado de definitions.json versão 17f3e0bc59d9. Esta página nasce no build: não se edita à mão.