Изглед
Колоната 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 | Активира избор от функции на карта |
Най-добри практики за използване на изглед
- Последователност: Използвайте атрибутите за изглед последователно в анкетата за еднороден вид.
- Мобилни срещу уеб: Помислете как изгледите ще се рендерират на различни устройства и платформи.
- Производителност: Бъдете предпазливи с атрибутите за изглед, които могат да забавят зареждането на формуляра (например
table-listза големи групи). - Потребителско изживяване: Избирайте изгледи, улесняващи въвеждането на данни и правещи го по-интуитивно за респондентите.
- Тестване: Винаги тествайте формуляра на целевите устройства, за да се уверите, че изгледите работят според очакванията.
Разширени техники
Комбиниране на изгледи
Някои атрибути за изглед могат да бъдат комбинирани за по-сложни оформления:
| 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 | всякакви | Скрива полето от изгледа, като все още събира или изчислява стойността му. Различно от типа hidden — полето все още участва в логиката. |
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-мрежово оформление на ред R, колона C, обхващайки S колони. Използва се с advanced-extension/grid-layout. |
ignore-simplify | всякакви | Инструктира рендерера на формуляра да пропусне автоматичното опростяване или уплътняване на оформлението на това поле. |
Уиджети
| Атрибут за изглед | Типове въпроси | Описание |
|---|---|---|
likert | select_one | Представя опциите като ред от скала Ликерт (вече в стандартната таблица; потвърден за поддръжка). |
distress | select_one | Рендерира опциите като визуален уиджет на Скалата за психологически дистрес на Kessler (K10) с емоционални икони. |
API интеграция
| Атрибут за изглед | Типове въпроси | Описание |
|---|---|---|
callapi | text, integer, decimal, select_one | Активира интеграция на API извикване за това поле. Колоната calculation трябва да съдържа израз callapi(). Вижте Извикване на API. |
callapi-verify(params) | text, integer, decimal | Задейства извикване на API за верификация, използвайки статични параметри. Формулярът блокира напредъка, докато API потвърди стойността. |
callapi-verify(dynamicParams) | text, integer, decimal | Същото като callapi-verify, но с параметри, производни от стойностите на другите полета по времe на изпълнение. |
Вграден формат за дата/час
За полета 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.
- Непоследователно рендериране: Проверете съвместимостта с типа въпрос и платформата.
- Проблеми с производителността: Помислете за опростяване на сложните изгледи, особено за большие анкети.