Skip to content

Path-aware view ordering for modal search; assorted fixes#301

Merged
namedgraph merged 1 commit into
developfrom
ft-modal-search-form
May 17, 2026
Merged

Path-aware view ordering for modal search; assorted fixes#301
namedgraph merged 1 commit into
developfrom
ft-modal-search-form

Conversation

@namedgraph
Copy link
Copy Markdown
Member

View block now derives a variable→predicate-URI-set map from the SELECT's BGPs (handling alternative property paths like rdfs:label|sh:name|... whose items are URIs) and drives three things from it: the order-by dropdown (one option per variable, deduped), auto-pickup of ORDER BY from the SELECT, and a COALESCE-style client-side sort key that prefers literals whose @xml:lang primary subtag matches $ac:lang. ORDER BY ?label baked into $select-labelled-string so the modal search returns alphabetically by label.

Search modal: form moved into the modal-header with a magnifier submit button; .search-form-modal CSS extends .search-form's flex layout so input + button fit naturally.

Empty address-bar submit button removed from the navbar-form (its ldh:logo template was never added; pressing Enter still submits).

$ac:lang now reads the primary subtag of navigator.language so existing lang($ac:lang) checks (which spec-match xml:lang='en' for input 'en', not for 'en-US') keep working under browser preferences like en-US.

Block mousemove handler guards the LinkedDataHub.contents cache lookup with ixsl:contains to avoid a warning per pixel when the hovered document-body's URI isn't cached.

Local-document navigation handlers (tab activate, tab-close fallback, popstate, generic link click) now strip the query string from $uri via ac:absolute-path before passing it to ldh:DocumentNavigate. The cache key downstream now matches document-body/@about / tab data-uri, both already canonicalised via ac:absolute-path.

View block now derives a variable→predicate-URI-set map from the SELECT's
BGPs (handling alternative property paths like rdfs:label|sh:name|... whose
items are URIs) and drives three things from it: the order-by dropdown
(one option per variable, deduped), auto-pickup of ORDER BY from the
SELECT, and a COALESCE-style client-side sort key that prefers literals
whose @xml:lang primary subtag matches $ac:lang. `ORDER BY ?label` baked
into $select-labelled-string so the modal search returns alphabetically
by label.

Search modal: form moved into the modal-header with a magnifier submit
button; `.search-form-modal` CSS extends `.search-form`'s flex layout so
input + button fit naturally.

Empty address-bar submit button removed from the navbar-form (its
ldh:logo template was never added; pressing Enter still submits).

$ac:lang now reads the primary subtag of navigator.language so existing
`lang($ac:lang)` checks (which spec-match `xml:lang='en'` for input
`'en'`, not for `'en-US'`) keep working under browser preferences like
`en-US`.

Block mousemove handler guards the LinkedDataHub.contents cache lookup
with ixsl:contains to avoid a warning per pixel when the hovered
document-body's URI isn't cached.

Local-document navigation handlers (tab activate, tab-close fallback,
popstate, generic link click) now strip the query string from $uri via
ac:absolute-path before passing it to ldh:DocumentNavigate. The cache
key downstream now matches document-body/@about / tab data-uri, both
already canonicalised via ac:absolute-path.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@namedgraph namedgraph merged commit ea50086 into develop May 17, 2026
1 of 2 checks passed
@namedgraph namedgraph deleted the ft-modal-search-form branch May 17, 2026 19:59
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.

1 participant