Skip to content

NOMAD Field Desk v7.0.8

Choose a tag to compare

@SysAdminDoc SysAdminDoc released this 12 Apr 19:21
· 794 commits to master since this release

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+Enter is 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.py into 5 blueprints
  • #12 Split _app_workspace_memory.js by tab
  • i18n expansion from 56 → ~1000 strings

Downloads

All binaries verified via SHA256SUMS.txt.