Aparência
A coluna appearance no rtSurvey permite-lhe personalizar a apresentação visual e o comportamento das perguntas nos seus inquéritos. Esta funcionalidade melhora a experiência do utilizador e pode melhorar significativamente a eficiência da recolha de dados. O rtSurvey suporta atributos de aparência XLSForm padrão e alarga-os com opções adicionais.
Atributos de Aparência XLSForm Padrão
O rtSurvey suporta os seguintes atributos de aparência XLSForm padrão:
| Atributo de Aparência | Tipos de Pergunta | Descrição |
|---|---|---|
| multiline | text | Cria uma caixa de texto multilinhas (melhor para clientes web) |
| minimal | select_one, select_multiple | Exibe escolhas num menu suspenso |
| quick | select_one | Avança automaticamente para a próxima pergunta após seleção (apenas móvel) |
| no-calendar | date | Suprime a exibição do calendário (apenas móvel) |
| month-year | date | Permite seleção apenas de mês e ano |
| year | date | Permite seleção apenas de ano |
| horizontal-compact | select_one, select_multiple | Exibe escolhas horizontalmente (apenas web) |
| horizontal | select_one, select_multiple | Exibe escolhas horizontalmente em colunas (apenas web) |
| likert | select_one | Apresenta escolhas como uma escala de Likert |
| compact | select_one, select_multiple | Exibe escolhas lado a lado com preenchimento mínimo |
| quickcompact | select_one | Combina exibição compacta com avanço automático (apenas móvel) |
| field-list | groups | Exibe o grupo inteiro num único ecrã (apenas móvel) |
| label | select_one, select_multiple | Mostra etiquetas de escolha sem entradas |
| list-nolabel | select_one, select_multiple | Mostra entradas sem etiquetas (use com label) |
| table-list | groups | Exibe perguntas em formato de tabela |
| signature | image | Ativa a captura de assinatura (apenas móvel) |
| draw | image | Permite desenho à mão livre (apenas móvel) |
| map, quick map | select_one, select_one_from_file | Ativa seleção a partir de funcionalidades de mapa |
Melhores Práticas para Usar Aparência
- Consistência: Use atributos de aparência de forma consistente ao longo do seu inquérito para um aspeto uniforme.
- Móvel vs. Web: Considere como as aparências serão renderizadas em diferentes dispositivos e plataformas.
- Desempenho: Seja cauteloso com atributos de aparência que podem atrasar o carregamento do formulário (por ex.,
table-listpara grupos grandes). - Experiência do Utilizador: Escolha aparências que tornem a entrada de dados mais fácil e intuitiva para os respondentes.
- Teste: Teste sempre o seu formulário nos dispositivos alvo para garantir que as aparências funcionam como esperado.
Técnicas Avançadas
Combinar Aparências
Alguns atributos de aparência podem ser combinados para layouts mais complexos:
| type | name | label | appearance |
|------|------|-------|------------|
| select_one options | choice | Selecione um: | minimal compact |
Aparências Dinâmicas
O rtSurvey permite alterações de aparência dinâmicas baseadas na lógica do formulário:
| type | name | label | appearance | relevant |
|------|------|-------|------------|----------|
| text | time | Introduza a hora: | inline-[%H:%M] | ${show_time} = 'yes' |
Considerações para a Aplicação Móvel
- Algumas aparências (por ex.,
quick,signature) são específicas para dispositivos móveis. - Teste cuidadosamente tanto no Android como no iOS para garantir comportamento consistente.
Atributos de Aparência Alargados do rtSurvey
Além das aparências XLSForm padrão, o rtSurvey suporta as seguintes opções específicas da plataforma:
Controlo de dados e exibição
| Atributo de Aparência | Tipos de Pergunta | Descrição |
|---|---|---|
invisible | qualquer | Oculta o campo da vista enquanto ainda recolhe ou calcula o seu valor. Diferente do tipo hidden — o campo ainda participa na lógica. |
displaytitle | qualquer | Força a exibição da etiqueta/título do campo mesmo quando seria suprimida de outra forma. |
autopull | select_one, select_multiple | Obtém automaticamente dados externos para preencher escolhas quando o formulário carrega ou um campo de gatilho muda. |
floating_hint | text, integer, decimal | Mostra o texto de dica como uma etiqueta flutuante acima do campo de entrada em vez de abaixo dele. |
calculate-button | calculate | Adiciona um botão visível que despoleta o recálculo do campo a pedido, em vez de calcular automaticamente. |
Layout
| Atributo de Aparência | Tipos de Pergunta | Descrição |
|---|---|---|
1screen | group | Força o grupo inteiro a ser exibido num único ecrã independentemente do tamanho do grupo. |
columns(n) | select_one, select_multiple | Exibe escolhas em n colunas. Exemplo: columns(3) mostra três colunas de botões de rádio. |
gridformat<row=R col=C colspan=S align=center> | qualquer | Posiciona o campo num layout CSS-grid na linha R, coluna C, ocupando S colunas. Usado com advanced-extension/grid-layout. |
ignore-simplify | qualquer | Instrui o renderizador do formulário a ignorar a simplificação ou condensação automática do layout deste campo. |
Widgets
| Atributo de Aparência | Tipos de Pergunta | Descrição |
|---|---|---|
likert | select_one | Apresenta escolhas como uma linha de escala de Likert (já na tabela padrão acima; confirmado suportado). |
distress | select_one | Renderiza escolhas como o widget visual da Escala de Angústia Psicológica de Kessler (K10) com ícones emocionais. |
Integração de API
| Atributo de Aparência | Tipos de Pergunta | Descrição |
|---|---|---|
callapi | text, integer, decimal, select_one | Ativa a integração de chamada de API para este campo. A coluna de cálculo deve conter uma expressão callapi(). Consulte Chamar API. |
callapi-verify(params) | text, integer, decimal | Despoleta uma chamada de verificação de API usando parâmetros estáticos. O formulário bloqueia o progresso até que a API confirme o valor. |
callapi-verify(dynamicParams) | text, integer, decimal | Igual a callapi-verify mas com parâmetros derivados de outros valores de campo em runtime. |
Formato de data/hora em linha
Para campos date, time e datetime, pode especificar um formato de exibição personalizado usando uma cadeia de formato anexada à aparência:
inline-[%d/%m/%Y]
inline-1line-[%d/%m/%Y %H:%M]
Os tokens de formato são os mesmos que format-date() e format-date-time(). Consulte Funções — Funções de data e hora.
Exemplo:
| type | name | label | appearance |
|---|---|---|---|
| datetime | event_time | Data e hora do evento | inline-[%d/%m/%Y %I:%M %p] |
| date | birth_date | Data de nascimento | inline-[%d/%m/%Y] |
Limitações Conhecidas
- As aparências complexas podem não renderizar de forma idêntica em todas as plataformas.
- Algumas aparências avançadas do rtSurvey podem não ser suportadas no modo offline.
Resolução de Problemas de Aparência
- Aparência Não Aplicada: Verifique erros tipográficos na coluna de aparência.
- Renderização Inconsistente: Verifique a compatibilidade com o tipo de pergunta e plataforma.
- Problemas de Desempenho: Considere simplificar aparências complexas, especialmente para inquéritos grandes.