9dd8e4a944
Add a northstar and ready vertical slices for making html_examples start at an index, splitting implemented examples into focused pages, proving infinite-scroll by scrolling, and keeping smoke/docs/requirements aligned.
3.2 KiB
3.2 KiB
id, type, status, parent, title, refs
| id | type | status | parent | title | refs | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| SLICE-0014 | slice | ready | NS-0004 | Split implemented html_examples into focused per-example pages |
|
Objective
Give each currently implemented html_examples pattern a focused page/route so contributors can open, copy, and test one pattern at a time while preserving generated-resource, server-owned-state behavior.
Authority
AGENTS.mdsaysexamples/html_examplesis the copy-paste HTML pattern gallery for htmx-style examples and should keep exact htmx slugs visible without HTMX syntax, selector targeting, or user-authored browser JavaScript. req: htmx_equivalents/001 req: htmx_equivalents/005 req: examples/007REQUIREMENTS.mdpage swap and navigation rows preserve real anchors/history semantics and progressive enhancement boundaries. req: page_swap/007 req: page_swap/008- Existing generated templates and handlers in
examples/html_examples/src/main.rsown the implemented dynamic behavior.
Close when
- Implemented README rows have stable same-origin pages with exact slug names visible in the URL or page heading:
click-to-edit,click-to-load,delete-row,edit-row,lazy-load,inline-validation,active-search,progress-bar,value-select,reset-user-input,update-other-contentwhere represented by existing behavior, andinfinite-scrollowned bySLICE-0015. - Each page renders only the relevant example content plus minimal navigation back to the index/neighboring examples.
- Existing handlers continue to use generated forms/resources and server-owned Rust state; route splitting must not introduce selector-targeted swaps, user-authored browser JavaScript, or duplicated app state truth.
- Existing implemented interactions continue to work without full-page reload during the interaction itself.
Allowed files
examples/html_examples/src/main.rsexamples/html_examples/templates/app_shell.heml- Existing or new
.hemltemplates underexamples/html_examples/templates/ - Existing partial templates under
examples/html_examples/templates/partials/only if moving markup requires local template boundaries examples/html_examples/README.mdfor updated route/page documentationhemx-xtask/src/main.rsfor focused smoke route coverageREQUIREMENTS.mdonly if route/page behavior changes durable obligations
Verification
cargo test -p hemx-html-examplescargo test -p hemx-xtaskcargo run -p hemx-xtask -- html-examples-smokeredgate health --strict && redgate lintifREQUIREMENTS.mdchanges- Manual spot check if needed: from
/, open several example links directly and verify their heading/slug and dynamic behavior.
Non-goals
- Do not implement deferred examples such as
bulk-update,modal-custom, ortabs-hateoas. - Do not replace axum routes with a framework-owned router abstraction.
- Do not combine click-triggered
click-to-loadsemantics with scroll-triggeredinfinite-scroll; keep their page behavior distinct.
Evidence
Ready; no implementation evidence yet.