{{ activeTab === 'add' ? (form.get('QuestionId')?.value ? 'Edit Question' : 'Add Question') : 'Survey Questions' }}

Configure survey questions for feedback instruments

@if (isLightbox) { }
@if (activeTab === 'edit') {
{{ questionList.length }} question{{ questionList.length !== 1 ? 's' : '' }}

SEARCH QUESTIONS

🔍
@if (isLoading) {
Loading questions...
} @if (!isLoading) {
@if (filteredList.length === 0) {
📋

No questions found

Click + Add Question above, or refine your search.

} @for (row of filteredList; track row.QuestionId) {
{{ row.QuestionCode }} {{ row.QuestionText }}
{{ getQTypeLabel(row.QuestionTypeId) }} {{ row.IsRequired ? 'Required' : 'Optional' }}
}
}
} @if (activeTab === 'add') {
@if (isLoading) {
Loading question...
} @if (form.bFormReady) {
@if (questionTypeSig === 1) {
⭐ Rating Configuration
{{ form.get('RatingLabelLow')?.value || 'Poor' }}
@for (n of [1,2,3,4,5]; track n) { }
{{ form.get('RatingLabelHigh')?.value || 'Excellent' }}
} @if (questionTypeSig === 2) {
📝 Text Field Constraints
ℹ️ Respondents will type a free-text answer within these character limits.
} @if (questionTypeSig === 3) {
✅ Yes / No Labels
} @if (questionTypeSig === 4 || questionTypeSig === 5) {
{{ questionTypeSig === 4 ? '🔘' : '☑️' }} {{ questionTypeSig === 4 ? 'Single Choice' : 'Multiple Choice' }} Options {{ questionTypeSig === 4 ? 'Pick one' : 'Pick many' }}
Options @for (opt of optionRows; track $index; let oi = $index) {
}
} @if (questionTypeSig === 6) {
📊 NPS Configuration
ℹ️ NPS uses a fixed 0–10 scale. No additional configuration needed.
Promoters ≥ 9 · Passives 7–8 · Detractors ≤ 6
}
} @else {
Initialising form...
}
}