feat: add FormPickerModal for quick form selection

FuzzySuggestModal that lets users pick a form by name with fuzzy search.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Luca Oelfke 2026-02-13 13:22:06 +01:00
parent f3207a8b64
commit 092c960a9c

View file

@ -0,0 +1,33 @@
import { App, FuzzySuggestModal } from 'obsidian';
import { FormDefinition } from '../types';
/**
* A fuzzy search modal for selecting a form from the available definitions.
*/
export class FormPickerModal extends FuzzySuggestModal<FormDefinition> {
private forms: FormDefinition[];
private onChoose: (form: FormDefinition) => void;
constructor(
app: App,
forms: FormDefinition[],
onChoose: (form: FormDefinition) => void,
) {
super(app);
this.forms = forms;
this.onChoose = onChoose;
this.setPlaceholder('Pick a form...');
}
getItems(): FormDefinition[] {
return this.forms;
}
getItemText(item: FormDefinition): string {
return item.name;
}
onChooseItem(item: FormDefinition): void {
this.onChoose(item);
}
}