Configuração Pessoal de Vista
Cada vista (Tabela, Lista, Kanban, Pivot, Calendário, …) tem uma configuração base definida pelo admin — filtros, ordenação, agrupamento, colunas visíveis. Sobre essa base, cada utilizador pode personalizar a vista para si próprio. As personalizações são guardadas por utilizador e sincronizam entre dispositivos.
Como personalizar
Não existe um menu separado de "configuração pessoal". Use os botões existentes no cabeçalho da vista — "Filtrar", "Agrupar", "Ocultar", "Pesquisar", o painel de facetas, o modo de calendário — e as suas escolhas são guardadas automaticamente como preferências pessoais. Na sua próxima visita (mesma sessão, outro dispositivo), a vista volta a aparecer com as suas preferências.
O que é guardado
- Filtros pessoais — filtros que adiciona através de "Filtrar". São adicionados sobre os filtros do admin (interseção). Não podem escapar a uma restrição do admin: se o admin fixou
statusa um conjunto de valores, só pode filtrar por valores dentro desse conjunto. - Ordenação — a coluna + direção que escolheu; substitui a ordenação base.
- Agrupamento — na vista de Lista pode escolher até 3 níveis de agrupamento através de "Agrupar" (nas restantes vistas continua a ser um único nível); a sua escolha substitui por completo o agrupamento definido pelo admin, não se soma a ele. "Limpar" no diálogo de agrupamento remove a sua escolha e a vista volta a mostrar o agrupamento do admin.
- Colunas ocultas — colunas ocultadas através de "Ocultar". As colunas que o admin ocultou permanecem ocultas; a sua escolha acrescenta a essa lista.
- Estado do painel de facetas (Tabela / Lista / Kanban) — aberto/fechado e secções expandidas.
- Grupos recolhidos (Kanban) — o estado de cada coluna entre sessões.
- Modo de calendário — Dia / Semana / Mês / Agenda / Blocos, o que tiver selecionado por último.
Cada vista só expõe as opções relevantes para si — o calendário não mostra "agrupar por", o Kanban não tem "ordenar por coluna" no sentido tabular.
Repor preferências
Quando tem preferências pessoais ativas, aparece um pequeno ícone de reposição (↻) no cabeçalho da vista. Um clique limpa todas as suas personalizações (filtros, ordenação, colunas ocultas, estado do painel, etc.) e a vista volta a mostrar apenas o que o admin definiu. Não afeta as preferências de outros utilizadores nem a configuração base.
Logo após a reposição, aparece uma notificação na parte inferior do ecrã com uma opção "Anular". Tem cerca de 7 segundos para clicar nela — fazê-lo restaura todas as suas preferências anteriores exatamente como estavam, sem ter de as reaplicar manualmente. Depois dessa janela, a notificação desaparece e a reposição é final (mas ainda pode reconfigurar manualmente).
Precedência
A vista resulta de quatro camadas que a vão restringindo progressivamente:
- Admin — filtros, ordenação, agrupamento, colunas visíveis definidos na vista.
- Rail — se a vista estiver num rail com a sua própria configuração, o rail pode restringi-la ainda mais.
- Contexto dinâmico — em vistas ligadas (LinkedView, mestre/detalhe, vista de Formulário) o contexto passa filtros automáticos (por exemplo, linhas de uma fatura específica). Tem prioridade absoluta sobre os seus filtros pessoais.
- Pessoal — as suas escolhas.
Se tentar filtrar uma coluna que está fixada pelo contexto dinâmico, a opção nem sequer aparece como filtrável (o contexto controla essa coluna até sair da vista). Se tentar filtrar uma coluna com uma restrição do admin (por exemplo, o admin permite status ∈ {open, in_progress}) por um valor fora dessa restrição, o seu filtro é descartado silenciosamente para não poder contornar a regra do admin.
Sincronização
As preferências pessoais são guardadas na tabela user_view_config, por utilizador. Sincronizam entre dispositivos através do PowerSync — o que personaliza no seu portátil aparece no seu telemóvel após a próxima atualização. As políticas de segurança garantem que cada utilizador só pode ver (e só pode escrever) a sua própria configuração.
Alterações rápidas (por exemplo, ajustar repetidamente um filtro) têm um debounce de ~200ms para não sobrecarregarem a sincronização. Localmente a vista atualiza-se de imediato — o debounce só afeta a escrita para o servidor.