Внешний вид
Столбец appearance в rtSurvey позволяет настраивать визуальное представление и поведение вопросов в опросах. Эта функция улучшает пользовательский опыт и может значительно повысить эффективность сбора данных. rtSurvey поддерживает стандартные атрибуты внешнего вида XLSForm и расширяет их дополнительными опциями.
Стандартные атрибуты внешнего вида XLSForm
rtSurvey поддерживает следующие стандартные атрибуты внешнего вида XLSForm:
| Атрибут внешнего вида | Типы вопросов | Описание |
|---|---|---|
| multiline | text | Создаёт многострочное текстовое поле (лучше для веб-клиентов) |
| minimal | select_one, select_multiple | Отображает варианты в выпадающем меню |
| quick | select_one | Автоматически переходит к следующему вопросу после выбора (только мобильные) |
| no-calendar | date | Скрывает отображение календаря (только мобильные) |
| month-year | date | Позволяет выбирать только месяц и год |
| year | date | Позволяет выбирать только год |
| horizontal-compact | select_one, select_multiple | Отображает варианты горизонтально (только веб) |
| horizontal | select_one, select_multiple | Отображает варианты горизонтально в столбцах (только веб) |
| likert | select_one | Представляет варианты в виде шкалы Лайкерта |
| compact | select_one, select_multiple | Отображает варианты рядом с минимальными отступами |
| quickcompact | select_one | Сочетает компактное отображение с автопереходом (только мобильные) |
| field-list | groups | Отображает всю группу на одном экране (только мобильные) |
| label | select_one, select_multiple | Показывает метки вариантов без элементов ввода |
| list-nolabel | select_one, select_multiple | Показывает элементы ввода без меток (используйте с label) |
| table-list | groups | Отображает вопросы в табличном формате |
| signature | image | Включает захват подписи (только мобильные) |
| draw | image | Позволяет рисовать от руки (только мобильные) |
| map, quick map | select_one, select_one_from_file | Позволяет выбирать из объектов на карте |
Лучшие практики использования внешнего вида
- Согласованность: Используйте атрибуты внешнего вида последовательно для единообразного вида.
- Мобильные vs. Веб: Учитывайте, как внешний вид будет отображаться на разных устройствах.
- Производительность: Будьте осторожны с атрибутами, которые могут замедлять загрузку формы.
- Пользовательский опыт: Выбирайте варианты внешнего вида, упрощающие ввод данных.
- Тестирование: Всегда тестируйте форму на целевых устройствах.
Расширенные техники
Комбинирование вариантов внешнего вида
Некоторые атрибуты внешнего вида можно комбинировать:
| type | name | label | appearance |
|------|------|-------|------------|
| select_one options | choice | Выберите: | minimal compact |
Динамический внешний вид
rtSurvey позволяет динамически изменять внешний вид на основе логики формы:
| type | name | label | appearance | relevant |
|------|------|-------|------------|----------|
| text | time | Введите время: | inline-[%H:%M] | ${show_time} = 'yes' |
Соображения для мобильного приложения
- Некоторые варианты внешнего вида (например,
quick,signature) специфичны для мобильных устройств. - Тщательно тестируйте на Android и iOS для обеспечения согласованного поведения.
Расширенные атрибуты внешнего вида rtSurvey
В дополнение к стандартным вариантам внешнего вида XLSForm, rtSurvey поддерживает следующие платформенно-специфические опции:
Управление данными и отображением
| Атрибут внешнего вида | Типы вопросов | Описание |
|---|---|---|
invisible | любой | Скрывает поле от просмотра, продолжая собирать или вычислять его значение. |
displaytitle | любой | Принудительно отображает метку/заголовок поля. |
autopull | select_one, select_multiple | Автоматически загружает внешние данные для заполнения вариантов. |
floating_hint | text, integer, decimal | Отображает текст подсказки как плавающую метку над полем ввода. |
calculate-button | calculate | Добавляет видимую кнопку для повторного вычисления поля по требованию. |
Макет
| Атрибут внешнего вида | Типы вопросов | Описание |
|---|---|---|
1screen | group | Принудительно отображает всю группу на одном экране. |
columns(n) | select_one, select_multiple | Отображает варианты в n столбцах. Пример: columns(3) показывает три столбца. |
gridformat<row=R col=C colspan=S align=center> | любой | Позиционирует поле в CSS-сетке. Используется с advanced-extension/grid-layout. |
ignore-simplify | любой | Указывает рендереру пропустить автоматическое упрощение макета. |
Виджеты
| Атрибут внешнего вида | Типы вопросов | Описание |
|---|---|---|
likert | select_one | Представляет варианты в виде строки шкалы Лайкерта. |
distress | select_one | Отображает варианты в виде виджета Шкалы психологического дистресса Кесслера (K10). |
Интеграция API
| Атрибут внешнего вида | Типы вопросов | Описание |
|---|---|---|
callapi | text, integer, decimal, select_one | Включает интеграцию вызова API. Столбец calculation должен содержать выражение callapi(). |
callapi-verify(params) | text, integer, decimal | Инициирует вызов верификации API со статическими параметрами. |
callapi-verify(dynamicParams) | text, integer, decimal | То же, что callapi-verify, но с параметрами из значений других полей. |
Встроенный формат даты/времени
Для полей date, time и datetime можно задать пользовательский формат отображения:
inline-[%d/%m/%Y]
inline-1line-[%d/%m/%Y %H:%M]
Токены формата те же, что у format-date() и format-date-time().
Пример:
| type | name | label | appearance |
|---|---|---|---|
| datetime | event_time | Дата и время события | inline-[%d/%m/%Y %I:%M %p] |
| date | birth_date | Дата рождения | inline-[%d/%m/%Y] |
Известные ограничения
- Сложный внешний вид может отображаться по-разному на различных платформах.
- Некоторые расширенные варианты внешнего вида rtSurvey могут не поддерживаться в офлайн-режиме.
Устранение проблем с внешним видом
- Внешний вид не применяется: Проверьте опечатки в столбце appearance.
- Непоследовательное отображение: Проверьте совместимость с типом вопроса и платформой.
- Проблемы с производительностью: Рассмотрите упрощение сложного внешнего вида, особенно для больших опросов.