feat: add slider, color, time to form builder with slider settings

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Luca Oelfke 2026-02-13 14:56:19 +01:00
parent 36c87e4ad6
commit ca3fd5c9b7

View file

@ -12,6 +12,9 @@ const FIELD_TYPES: FieldType[] = [
'note-link', 'note-link',
'folder-picker', 'folder-picker',
'rating', 'rating',
'slider',
'color',
'time',
]; ];
/** /**
@ -243,7 +246,7 @@ export class FormBuilderModal extends Modal {
}); });
// Placeholder (for text, textarea, number, date, note-link, folder-picker) // Placeholder (for text, textarea, number, date, note-link, folder-picker)
if (['text', 'textarea', 'number', 'date', 'note-link', 'folder-picker'].includes(field.type)) { if (['text', 'textarea', 'number', 'date', 'time', 'note-link', 'folder-picker'].includes(field.type)) {
this.addTextSetting( this.addTextSetting(
bodyEl, bodyEl,
'Placeholder', 'Placeholder',
@ -280,6 +283,34 @@ export class FormBuilderModal extends Modal {
}, },
); );
} }
// Min / Max / Step (for slider)
if (field.type === 'slider') {
this.addTextSetting(
bodyEl,
'Min',
String(field.min ?? 0),
(v) => {
field.min = v === '' ? undefined : Number(v);
},
);
this.addTextSetting(
bodyEl,
'Max',
String(field.max ?? 100),
(v) => {
field.max = v === '' ? undefined : Number(v);
},
);
this.addTextSetting(
bodyEl,
'Step',
String(field.step ?? 1),
(v) => {
field.step = v === '' ? undefined : Number(v);
},
);
}
} }
} }