Search Filters And Detail Selection

Preserve query context and entity identity across asynchronous search and history navigation.

GitHub에서 원문 보기 ↗새 탭
원문 가이드 ENGLISH

Repository Boundary

Preserve query context and entity identity across asynchronous search and history navigation. This is a consumer interaction composition in Design Engineering. Spatial structure comes from List Detail; this recipe adds no reusable Layout behavior.

Reusable Method

Selected Pattern Stack

URL state, latest request wins, ID selection, derived state.

Ownership And Event Flow

The field owns its typing buffer; the route owns committed query/filter/page; the request owner holds results and query identity; the screen or route owns selected ID. A result collection is not necessarily the full entity inventory.

Commit query → reset page → update history → start read → accept only matching outcome. Back reads the route and starts the corresponding read without pushing another entry. Selected detail may be fetched separately with its own keyed request owner.

Composition And Substitution

URL state can be replaced by screen-local committed state when sharing/history is explicitly unnecessary. Stable identity and stale-read handling remain essential. Debounce may reduce traffic but cannot substitute for request correlation.

Acceptance Sequences

Sequence Expected outcome
Request A/B, resolve B/A B results and status remain displayed
Change query on page 3 Commit new query with page 1
Back then Forward Controls, query identity, and results follow route history
Selected item absent from filtered page Retain or explicitly mark unavailable; do not infer deletion
Delete selected entity authoritatively Apply missing-detail policy and recover focus

Opinionated Guidance

Keep the ownership boundaries visible when composing the patterns. One screen can combine these mechanisms without making every value global. Record the rejected alternative and its user-visible cost in the state brief.

Platform-Specific Guidance

Preserve typed input during IME composition. Label previous results during refresh; an empty accepted result must differ from loading or failure.

Unsupported Absolutes

These acceptance sequences are proposed integration checks, not captured product evidence. Pattern model tests do not prove this entire screen, its backend, or its focus behavior.

Verification Contract

Adapt every acceptance row to the consumer and record actual results with the verification matrix. Include the ordinary successful task and at least one interrupted task. The initial handoff is consumer_reference: not_applicable because this fictional recipe selects no consumer profile or conformance record.

Source, License, And Attribution

Locally authored synthesis and examples. No upstream implementation is copied. These experimental contracts describe consumer-owned behavior; review when a failure, ownership change, or platform change invalidates an assumption.

IA Navigation

Parent: State Management. Next: Continue the state management route.