Repository navigation
NOMAD Field Desk v7.0.8
v7.0.8 — Enter-to-Save on Forms + Freq Card Refactor
Two small follow-ups on the design-review Top 20 list. 839 pytest tests pass.
Enter-to-save (Top 20 item #17, partial)
The Preparedness design review flagged "no keyboard submit — user must click Save button" as a major UX friction point. This release wires Enter-to-save on the two most-used forms.
Implementation (_prep_nav_core.js): a single keydown listener at document level catches Enter on <input> and <select> elements inside #inv-form and #contact-form, then dispatches .click() on the matching save button.
Edge cases handled:
<textarea>elements are skipped (Enter = newline is expected)Shift+Enteris always passed through- IME composition (
e.isComposing) is respected for CJK input - Disabled save buttons are not triggered
Form validator component (full item #17 with inline validation + auto-save) remains for a future sprint.
Print freq card refactor (Top 20 item #20, continued)
api_print_freq_card's hand-rolled contacts_html (5 lines) replaced with one call to _render_contacts_table(contacts, include_radio=False, empty_msg=...). Output is byte-equivalent.
Migration progress: 2 of 13 print routes now use the v7.0.5 shared helpers (api_preparedness_print + api_print_freq_card). 11 routes remain for future migration.
Design review progress: 15 of 20
| Release | Items shipped |
|---|---|
| v7.0.3 | 6 (security + discoverability) |
| v7.0.4 | 4 (UX) |
| v7.0.5 | 2 (print helpers + dashboard endpoint) |
| v7.0.6 | 2 (h2 headings + dashboard UI) |
| v7.0.7 | 2 (modal focus trap + form labels) |
| v7.0.8 | ~1 (Enter-to-save + freq card cleanup) |
| Total | 15 of 20 |
Remaining 5 items
- #8 Mobile sidebar hamburger + responsive drawer
- #9 Real-time status strip CRUD subscription
- #11 Split
situation_room.pyinto 5 blueprints - #12 Split
_app_workspace_memory.jsby tab - i18n expansion from 56 → ~1000 strings
Downloads
All binaries verified via SHA256SUMS.txt.