You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 4e99c18
Browse filesBrowse the repository at this point in the historyBrowse files
Forms 1.0.16: NoteChooser enhancements, SearchableChooser optimization, and dynamic receivingTemplateTitle support
- Added NoteChooser output format options:
* Multi-select: Added 'title' and 'filename' formats (in addition to existing URL formats)
* Single-select: Added singleSelectOutputFormat option (title vs filename, defaults to title)
- Added NoteChooser filtering options:
* startFolder: Filter notes to specific folder and subfolders
* includeRegex: Optional regex pattern to include notes (case-insensitive)
* excludeRegex: Optional regex pattern to exclude notes (case-insensitive)
- Fixed dialogElementRenderer to respect singleSelectOutputFormat (was always using filename)
- Added SearchableChooser shortDescription optimization: automatically shortens to final folder when row is narrow
- Reverted compact label width to 10rem (kept input width at 360px)
- Added support for receivingTemplateTitle as form field key for dynamic template selection
- Updated FieldEditor with UI for all new NoteChooser options
- Added comprehensive test examples in FormFieldRenderTest
- Updated README with documentation for dynamic template selection
- Updated CHANGELOG and plugin.json to version 1.0.16
Copy file name to clipboardExpand all lines: dwertheimer.Forms/CHANGELOG.md
+15Lines changed: 15 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,6 +4,21 @@
4
4
5
5
See Plugin [README](https://github.com/NotePlan/plugins/blob/main/dwertheimer.Forms/README.md) for details on available commands and use case.
6
6
7
+
## [1.0.16] 2026-01-19 @dwertheimer
8
+
9
+
### Added
10
+
-**NoteChooser Output Formats**: Added new output format options for note chooser fields:
11
+
-**Multi-select mode**: Added `'title'` and `'filename'` output formats (in addition to existing `'wikilink'`, `'pretty-link'`, `'raw-url'`). These return plain note titles or filenames without any formatting.
12
+
-**Single-select mode**: Added `singleSelectOutputFormat` option to choose between outputting the note title (default) or filename when a single note is selected.
-**Start Folder**: Filter notes to only show those in a specific folder and its subfolders (e.g., `'@Templates'`).
15
+
-**Include Regex**: Optional regex pattern to include only notes whose title or filename matches (case-insensitive).
16
+
-**Exclude Regex**: Optional regex pattern to exclude notes whose title or filename matches (case-insensitive).
17
+
-**SearchableChooser ShortDescription Optimization**: Added automatic shortening of short descriptions to just the final folder name when the option row is too narrow, ensuring the label text takes precedence and remains fully visible.
18
+
19
+
### Changed
20
+
-**FormView CSS**: Reverted compact label width to 10rem (from 20rem) while keeping input width at 360px (2x the original 180px). This provides better balance between label and input field sizing.
Copy file name to clipboardExpand all lines: dwertheimer.Forms/README.md
+34-1Lines changed: 34 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -346,6 +346,37 @@ Use form fields like: <%- fieldName %>
346
346
347
347
All form field `key` values become variables in your template.
348
348
349
+
**Dynamic Template Selection:**
350
+
351
+
You can allow users to choose which processing template to use by adding a `note-chooser` field with the key `receivingTemplateTitle` to your form. This enables dynamic template selection at form submission time.
352
+
353
+
**How it works:**
354
+
- Add a `note-chooser` field to your form
355
+
- Set the field's `key` to exactly `receivingTemplateTitle`
356
+
- When the form is submitted, the selected note's title will be used as the processing template
357
+
- If no template is selected in the form field, the system falls back to the `receivingTemplateTitle` set in the form's frontmatter (if present)
358
+
359
+
**Example form field definition:**
360
+
```json
361
+
{
362
+
"type": "note-chooser",
363
+
"key": "receivingTemplateTitle",
364
+
"label": "Choose Processing Template",
365
+
"includePersonalNotes": true,
366
+
"includeTemplatesAndForms": true,
367
+
"startFolder": "@Templates",
368
+
"includeRegex": "^Template",
369
+
"description": "Select which template should process this form submission"
370
+
}
371
+
```
372
+
373
+
**Use cases:**
374
+
- Allow users to choose between different processing templates (e.g., "Meeting Template" vs "Project Template")
375
+
- Create a single form that can route to different processing templates based on user selection
376
+
- Enable dynamic workflow routing based on form data
377
+
378
+
**Note:** The form must have `processingMethod: "form-processor"` set in its frontmatter. The `receivingTemplateTitle` field value takes precedence over the frontmatter value when a template is selected in the form.
379
+
349
380
**Date Formatting Example:**
350
381
351
382
```ejs
@@ -401,9 +432,11 @@ Don't use these as field keys (the plugin uses them internally):
**Exception:**`receivingTemplateTitle` can be used as a field key if you want to allow users to dynamically select the processing template. See "Dynamic Template Selection" in the Custom Processing Templates section above.
Copy file name to clipboardExpand all lines: dwertheimer.Forms/plugin.json
+2-2Lines changed: 2 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -4,9 +4,9 @@
4
4
"noteplan.minAppVersion": "3.4.0",
5
5
"plugin.id": "dwertheimer.Forms",
6
6
"plugin.name": "📝 Template Forms",
7
-
"plugin.version": "1.0.14",
7
+
"plugin.version": "1.0.16",
8
8
"plugin.releaseStatus": "beta",
9
-
"plugin.lastUpdateInfo": "Changed default window width from 25% to 50% for new forms, and doubled default compact field sizes (labels: 20rem, inputs: 360px)",
9
+
"plugin.lastUpdateInfo": "Added NoteChooser output format options (title/filename for multi-select and single-select), advanced filtering (startFolder, includeRegex, excludeRegex), and SearchableChooser shortDescription optimization. Reverted compact label width to 10rem while keeping input width at 360px.",
10
10
"plugin.description": "Dynamic Forms for NotePlan using Templating -- fill out a multi-field form and have the data sent to a template for processing",
Choose how to format the selected notes in the output. Wikilink format is compatible with NotePlan's native linking.
955
+
Choose how to format the selected notes in the output. Wikilink format is compatible with NotePlan's native linking. "Plain Title" and "Filename" return just the title or filename without any formatting.
Optional regex pattern to include only notes whose title or filename matches. Case-insensitive. Leave empty to include all notes. Example: "^Project" to include only notes starting with "Project"
Optional regex pattern to exclude notes whose title or filename matches. Case-insensitive. Leave empty to exclude nothing. Example: "Archive|Draft" to exclude notes containing "Archive" or "Draft"
Copy file name to clipboardExpand all lines: helpers/react/DynamicDialog/DynamicDialog.jsx
+5-1Lines changed: 5 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -128,8 +128,12 @@ export type TSettingItem = {
128
128
showCalendarChooserIcon?: boolean,// for note-chooser, show a calendar button next to the chooser (default: true)
129
129
onOpen?: ()=>void|Promise<void>,// for note-chooser and other choosers, callback when dropdown opens (for lazy loading)
130
130
allowMultiSelect?: boolean,// for note-chooser, enable multi-select mode (default: false)
131
-
noteOutputFormat?: 'raw-url'|'wikilink'|'pretty-link',// for note-chooser multi-select, output format (default: 'wikilink')
131
+
noteOutputFormat?: 'raw-url'|'wikilink'|'pretty-link'|'title'|'filename',// for note-chooser multi-select, output format (default: 'wikilink')
132
132
noteSeparator?: 'space'|'comma'|'newline',// for note-chooser multi-select, separator between notes (default: 'space')
133
+
singleSelectOutputFormat?: 'title'|'filename',// for note-chooser regular select mode, output format (default: 'title')
134
+
startFolder?: ?string,// for note-chooser, start folder to filter notes (e.g., '@Templates/Forms')
135
+
includeRegex?: ?string,// for note-chooser, regex pattern to include notes (applied to filename or title)
136
+
excludeRegex?: ?string,// for note-chooser, regex pattern to exclude notes (applied to filename or title)
133
137
// showValue option for SearchableChooser-based fields
134
138
showValue?: boolean,// for folder-chooser, note-chooser, heading-chooser, dropdown-select-chooser: show the selected value below the input (default: false)
0 commit comments