kiosk
Kiosk
Balcão para operação rápida por subutilizadores: login de operador, separadores com vistas embebidas, botões de automação e marcação de turno.
- Kind:
view - Key:
kiosk - Categoria:
balcão - 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 |
|---|---|---|---|---|---|
tabs | list de map | não | [] | Os separadores do balcão. Um separador malformado é descartado na leitura, nunca derruba os outros. | - |
actions | list de map | não | [] | Botões de automação da barra lateral, por baixo dos separadores. Só sai no JSON quando não está vazia. | - |
operatorLoginEnabled | boolean | não | true | Exige login de operador (cartão + PIN) antes de mostrar conteúdo. Ligado por omissão, também em configs antigas sem a chave: desligá-lo é uma escolha explícita. | - |
loginGroupIds | list | não | [] | Grupos de subutilizadores visíveis no ecrã de login; vazio = todos. Opaco: transporta dados do utilizador e nenhum resolvedor entra aqui. | - |
shiftFeatureId | uuid | não | - | Feature onde as marcações de turno são gravadas. | feature (uuid) |
shiftTypeColumnId | uuid | não | - | Coluna da feature de turnos que diz o tipo de marcação (entrada, saída, pausa). | coluna de shiftFeatureId (uuid) |
shiftWorkflowId | uuid | não | - | Automação da primeira geração que o botão de turno corre. | workflow (uuid) |
timerProfileId | uuid | não | - | Perfil de temporizador que a barra de cima arranca e para para o operador da sessão. | perfil de timer (uuid) |
layoutMode | enumeration | não | "tabsOnly" | Onde vive a navegação: só nos separadores de cima, só na barra lateral, ou nos dois (em retrato estreito a barra recolhe). | - |
workflowDockGraceSeconds | integer | não | - | Segundos que o painel de automações fica visível depois da última execução; nulo vale 5. | - |
autoLockSeconds | integer | não | - | Segundos de inactividade até a sessão de UI do operador terminar sozinha; nulo vale 300, zero ou negativo nunca bloqueia. | - |
allowOperatorVoidOwnPunch | boolean | não | false | Deixa o operador anular as SUAS marcações de turno no histórico. Desligado por omissão: editar a própria assiduidade é escolha explícita do admin. | - |
tabs[]
Cada elemento de tabs é um objeto:
| Chave | Tipo | Obrigatório | Omissão | Descrição | Referência |
|---|---|---|---|---|---|
id | string | sim | - | Identificador do separador, gerado pela app. Opaco: transporta dados do utilizador e nenhum resolvedor entra aqui. | - |
label | string | sim | - | Nome do separador, mostrado na barra. | - |
icon | string | não | - | Nome semântico do ícone, resolvido por kioskTabIcon. Só sai no JSON quando não é nulo. | - |
feature_id | uuid | não | - | Feature que o separador mostra; nulo = a feature do próprio kiosk. | feature (uuid) |
view_type | enumeration | não | "cards" | Tipo de vista embebida. Qualquer tipo registado menos o kiosk: um kiosk dentro de um kiosk é proibido. | - |
view_name | string | não | - | Variante nomeada da vista embebida (nulo = a por omissão). O par que a identifica é feature_id + view_type + este nome. | vista de feature_id (nome) |
dynamic_filters | map | não | {} | Filtros passados à vista embebida: id de coluna → valor (mais a chave reservada __rowIds). | chave: coluna de feature_id (uuid) |
actions[]
Cada elemento de actions é um objeto:
| Chave | Tipo | Obrigatório | Omissão | Descrição | Referência |
|---|---|---|---|---|---|
label | string | sim | - | Texto do botão. | - |
workflow_id | uuid | sim | - | Automação da primeira geração que o botão corre. | workflow (uuid) |
icon | string | não | - | Nome semântico do ícone do botão. | - |
Exemplo JSON
[
{
"tabs": [],
"actions": [],
"operatorLoginEnabled": true,
"loginGroupIds": [],
"layoutMode": "tabsOnly",
"allowOperatorVoidOwnPunch": false
}
]
Gerado de definitions.json versão 17f3e0bc59d9. Esta página nasce no build: não se edita à mão.