added scaleType configuration to questionnaire import and display

This commit is contained in:
2026-05-26 14:15:37 +02:00
parent 8e56a42f7e
commit 1b3d74d822
5 changed files with 26 additions and 2 deletions

View File

@ -123,13 +123,22 @@ function configFormHTML(layout, config, prefix) {
<input type="number" id="${prefix}_minSelection" value="${config.minSelection || 0}" min="0">
</div>`;
break;
case 'glass_scale_question':
case 'glass_scale_question': {
const scaleType = config.scaleType || 'glass';
html = `
<div class="form-group">
<label>Scale display</label>
<select id="${prefix}_scaleType">
<option value="glass" ${scaleType === 'glass' ? 'selected' : ''}>Glass (pain scale)</option>
<option value="thermometer" ${scaleType === 'thermometer' ? 'selected' : ''}>Thermometer</option>
</select>
</div>
<div class="form-group">
<label>Symptom keys (one per line)</label>
<textarea id="${prefix}_symptoms" rows="5" style="font-family:monospace;font-size:.85rem">${(config.symptoms || []).join('\n')}</textarea>
</div>`;
break;
}
case 'value_spinner':
html = `
<div class="form-row">
@ -254,6 +263,8 @@ function readConfigFromForm(layout, prefix) {
break;
}
case 'glass_scale_question': {
const st = val('scaleType') || 'glass';
if (st && st !== 'glass') config.scaleType = st;
const raw = val('symptoms');
const syms = raw.split('\n').map(s => s.trim()).filter(Boolean);
if (syms.length) config.symptoms = syms;