Merged
Conversation
Fixed .form-preview-window-content only showing 1.5 rows of content in Safari and Chrome by: - Removing max-height: 100% from .form-preview-window-content (conflicted with flex layout) - Adding height: 100% to .form-preview-window-content to ensure it fills parent - Adding height: 100% to .form-preview-window-content .dynamic-dialog to fill container This ensures the preview pane properly displays all content with correct scrolling.
Updated filter in updateReceivingTemplateWithFields to exclude: - templatejs-block (executable code, not form variables) - markdown-preview (display-only) - button (action-only) - table-of-contents (display-only) This ensures the form variables codeblock only includes actual form input fields that produce variable values.
- Add 'comment' to TSettingItemType in DynamicDialog.jsx - Add commentText and expanded properties to TSettingItem - Add 'comment' to fieldTypes.js - Add comment case to dialogElementRenderer.js (returns null - doesn't render in forms) - Add editor UI to FieldEditor.jsx (textarea for markdown, expanded checkbox) - Exclude comment from description field and compact display options - Exclude comment from needing a key - Add default comment field when creating new forms (with instructions) - Exclude comment from form variable lists (templateIO.js) - Comment fields are Form Builder only - never render in form output or get submitted
Strategy for Enter key handling: - Textareas: Enter NEVER submits (creates newline) - stop propagation - Single-line inputs: Enter submits form (unless in searchable chooser) - CMD+ENTER: Always submits (bypasses all checks) Changes: - DynamicDialog: Check if active element is textarea directly (not just data-field-type) - ExpandableTextarea: Stop propagation for Enter key - FieldEditor: Add onKeyDown handlers to all textareas to stop propagation - Prevents form submission when typing in comment field, description, markdown text, etc.
When clicking Open button for processing template:
- If notes aren't loaded, load them via requestFromPlugin('getNotes', ...)
- Search loaded notes for matching title to get filename
- Fallback to opening by title directly if filename not found
- Updated handleOpenNote to support both filename and title parameters
This fixes the issue where notes.length=0 when Open button is clicked because
notes are loaded lazily when the dropdown opens.
- Add getRenderContext hidden command to np.Templating to expose full templating context - Returns all templating modules (date, time, note, tasks, etc.) and globals (moment, etc.) - Includes timing logs for performance monitoring - Comprehensive JSDoc with examples and return object shape - Version bumped to 2.2.9 - Add Jest tests for getRenderContext (19 tests, all passing) - Tests basic functionality, userData merging, context structure, performance - Tests integration with Forms plugin use case - Integrate getRenderContext into Forms plugin - templatejs-block fields now have access to full templating context (moment, date, etc.) - Refactored handleSubmitButtonClick into smaller, focused functions - Added sanitizeTemplateJSCode() to replace smart quotes before execution - Only pass form-specific variables to templateRunner (not full templating context) - Fix REFACTORING_SUMMARY.md to show static import instead of dynamic import
…der names - Modified getFilteredTemplateList to search in both @templates and @Forms directories - Added support for searching in private root and all teamspace root folders - Use DataStore.preference('templateFolder') for localized template folder name - Use DataStore.preference('formsFolder') for localized forms folder name (with fallback) - Fixes issue where form processing templates in @Forms weren't found by templateRunner - Removed duplicate return statement in chooseTemplate function
- Updated getTemplateNote to search in both template and forms folders - Updated getFilenameFromTemplate to filter notes from both folders - Updated getTemplateContent to search in both folders when finding templates - All functions now use DataStore.preference for localized folder names - Fixes issue where templates in @Forms weren't found by getTemplateNote
… teamspaces - Created getTemplateFolderPrefixes() utility function that builds complete list of folder prefixes - Includes private root folders (@templates, @Forms) and all teamspace root folders - Updated getFilteredTemplateList to use shared utility function - Updated getTemplateNote to use shared utility function (now searches all teamspaces) - Updated getFilenameFromTemplate to use shared utility function - Updated getTemplateContent to use shared utility function - All functions now consistently handle teamspaces and use DataStore.preference for localized folder names
… broadly - Updated templateInsert and templateAppend to use getTemplateNote (searches all folders/spaces) - Updated <current> prompt checks to verify note is in any template folder (not just @templates) - Updated addFrontmatterToTemplate in NPTemplateRunner to use getTemplateNote - Updated chooseTemplate to use DataStore.preference for localized template folder name in display - Updated templateExists to search in all template folders (Templates, Forms, all spaces) - All functions now consistently search in both @templates and @Forms directories across all spaces
- Replace chooseOption with chooseNoteV2 for better UI with decorated note selection - Templates from @templates, @Forms, and all teamspace folders are now properly displayed - chooseNoteV2 automatically shows folder paths, icons, and colors for all templates - Removed complex label manipulation code that only handled @templates folder - Simplified implementation while improving user experience - Updated changelog to document the improvements
- Add DataStore.preference mock to all test files that use template search functions - Update NPTemplateRunner tests to use chooseNoteV2 instead of chooseNote - Fix test expectations to match new behavior (searching multiple folders) - Update NPTemplateNoteHelpers test to handle custom template folders via preference - All tests now passing
- Updated getTemplateContent to use chooseNoteV2 when multiple templates match - Templates from @templates, @Forms, and all teamspace folders are now properly displayed - Improved UI with decorated note selection showing icons, colors, and folder paths - All note selection functions now use chooseNoteV2 and search across all spaces - Updated changelog to document all chooseNoteV2 migrations
- Added more detailed documentation of all functions updated - Clarified benefits and improvements - Better organized with clear sections - Emphasized that all note selection now searches across all spaces
- Allow partial values while typing (saves raw value during input)
- Only validate on blur when user is done typing
- Prevents input from clearing when typing intermediate values like '80v' or 'calc('
- Applied fix to all Custom Width fields: general choosers, frontmatter-key-chooser, and tag/mention-chooser
…izing - Fix label alignment in compact mode: All labels now right-align with consistent width - Add CSS variables for customizable label and input widths in template forms - --template-form-compact-label-width (default: 10rem) - --template-form-compact-input-width (default: 180px) - Add form builder fields for compact mode sizing with validation - Label Width and Input Width fields in Window Size & Position section - Validates CSS width values (rem, em, px, %, vw, vh, calc()) - Update CSS to cover all field types (InputBox, SearchableChooser, ThemedSelect, ExpandableTextarea, CalendarPicker, AutosaveField) - Fix customCSS to only save to codeblock, never to frontmatter - Prevents frontmatter breakage with multi-line CSS - Ensures codeblock is single source of truth - Move all template-form CSS rules to FormView.css for better organization - Add itemkey-XXX class to all field containers for easier CSS targeting - Fix button-group label rendering and accessibility issues
- Add margin-top: 0 and margin-bottom: 0 to .ui-item and all nested containers - Ensure consistent spacing between all field types - Note: Double spacing between searchable choosers still present
…nput - Add preventDefault and stopPropagation for Enter key in search input - Prevents form submission when user presses Enter while typing in filter/search field - Enter key now just prevents submission without triggering any action
- Clear search term after successful item creation to prevent 'no matches' message - Include selected items in displayItems even if they're not in filteredItems yet - This ensures newly created items appear immediately with checkmark - Fixes issue where creating @garba showed 'no mentions match' instead of showing the newly created item as selected
…checked filter - Change 'Select All' to 'all' and 'Select None' to 'none' - Add 'is:checked' toggle button to filter and show only checked items - Typing 'is:checked' in search input automatically activates the filter - Toggle button shows active state when filter is on - Filter works by showing only items in selectedValues when active
- Auto-focus first field in DynamicDialog on open - Keep SearchableChooser focus for tab navigation; Enter reopens dropdown when closed - Add extra bottom padding to prevent last item clipping - Update ContainedMultiSelectChooser header: narrower filter, icon buttons, and prevent 'is:checked' from ever being saved - Refactor template-form CSS in FormView.css using nested namespace selectors - Align compact item descriptions using label-width CSS variable
- Use ResizeObserver (when available) to update portal dropdown position when dialog/container resizes - Coalesce rapid layout changes via requestAnimationFrame
- Suppress auto-open on programmatic refocus after selecting an option - Keep tab navigation behavior without reopening dropdown - Avoid Flow raf id typing issues
- Close dropdown on Tab key press but allow normal tab navigation to proceed - Prevents dropdown from blocking tab navigation between fields
- Version bump: 1.0.5 -> 1.0.9 - Added changelog entry documenting recent UX improvements: - Auto-focus first field on form open - Tab navigation improvements - Enter key to reopen dropdown - Portal positioning fixes - ContainedMultiSelectChooser improvements - CSS refactoring
…improvements - Add comprehensive Tailwind CSS color palette support in helpers/colors.js - Fix SpaceChooser and NoteChooser to display colored icons and descriptions - Fix empty label showing '?' in read-only text elements - Update SpaceChooser to use correct Font Awesome icons matching Dashboard/Filer/NoteHelpers - Add getColorStyle() helper function for centralized color conversion - Fix teamspace colors to display correctly with proper CSS variable fallbacks
- Prevent redundant display by hiding shortDescription when it matches the optionText - Update changelog for dwertheimer.Forms v1.1.0
- Pass isNewForm: true explicitly from handleCreateNewForm to openFormBuilderWindow - Allow explicit isNewForm override in openFormBuilderWindow - Update changelog for dwertheimer.Forms v1.1.0
…mBuilderWindow - Track isNewForm flag when creating new form via openFormBuilder command - Pass isNewForm: true to openFormBuilderWindow so default comment field is added - Fixes issue where default comment field was not appearing when creating new form via command bar
…s date - Update displayValue to handle ISO format (YYYY-MM-DD) dates - Change formatDateStringForDisplay to return ISO format instead of formatted date string - Update DayPicker selected prop to handle ISO format dates - Fixes issue where filename was displayed instead of ISO date format (2026-01-17)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Version 1.0.10 release with color system improvements, FormBuilder fixes, and NoteChooser calendar picker improvements