Skip to content

fix(ui): make Terminology navigation configuration-aware - #620

Open
Gordex2014 wants to merge 2 commits into
mainfrom
fix/611-terminology-navigation
Open

fix(ui): make Terminology navigation configuration-aware#620
Gordex2014 wants to merge 2 commits into
mainfrom
fix/611-terminology-navigation

Conversation

@Gordex2014

Copy link
Copy Markdown
Contributor

What changed

  • Replace the inert Terminology sidebar placeholder with a native link driven by HFS_TERMINOLOGY_SERVER.
  • Open a valid configured URL in a new tab with noopener, noreferrer, and htmx boosting disabled.
  • Add /ui/terminology for missing and invalid configuration states.
  • Reuse the setup panel from Resources for configuration instructions and errors.
  • Add the new UI copy in English, Spanish, and German.
  • Register the new page in the shared e2e route list.

Configuration behavior

HFS_TERMINOLOGY_SERVER Behavior
Valid Opens the exact configured URL in a new tab.
Invalid Opens /ui/terminology and explains the URL requirements.
Unset Opens /ui/terminology and shows how to configure the variable.

A valid destination must be an absolute HTTP or HTTPS URL with a host. Paths and a trailing slash are allowed. Credentials, query strings, fragments, surrounding whitespace, and other schemes are rejected for navigation.

Invalid values never reach an href or appear in the rendered page.

Accessibility and progressive enhancement

Both navigation paths use native anchors, so they remain focusable and keyboard-activatable without JavaScript.

The external link:

  • Announces that it opens in a new tab.
  • Uses target="_blank" and rel="noopener noreferrer".
  • Uses hx-boost="false" to preserve native browser navigation.

Scope

This change does not add a terminology browser or administrative console. That work remains tracked by #551.

It does not change how search, validation, FHIRPath, or editor pickers consume the configured terminology server.

Verification

  • cargo fmt --all -- --check
  • cargo test -p helios-ui --test router_http terminology_navigation_reflects_the_configuration
  • cargo test -p helios-ui catalogs_share_the_same_key_set
  • cargo clippy -p helios-ui --all-targets --no-deps -- -A clippy::question_mark -D warnings
  • Manual QA with valid, invalid, and unset configurations
  • Keyboard and no-JavaScript navigation

Closes #611

@codecov

codecov Bot commented Aug 20, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Terminology nav entry does nothing: link to HFS_TERMINOLOGY_SERVER when set, explain how to set it when not

1 participant