Commit Graph

14 Commits

Author SHA1 Message Date
slhx agent 3d65e92783 test(kanban): render lib slot from view helper
Use RenderSlotExt in the kanban library smoke test so even the small public example test path avoids explicit SafeHtml/html plumbing.

req: view/001

req: html_safety/002
2026-05-26 01:07:06 +02:00
slhx agent b6ecb9513c feat(slhx): render hemplate views into slots
Add render_html plus slot render_view helpers that call hemplate render_into, and migrate a kanban effect path from explicit SafeHtml/html handling to the renderable-view helper.

req: view/001

req: html_safety/002
2026-05-26 00:53:43 +02:00
slhx agent 62316d5f1e test(examples): render hemplate views into buffers
Use hemplate render_into in public examples and example tests instead of the string-returning render helper, preserving SafeHtml wrapping only at the explicit effect boundary.

req: view/001

req: html_safety/002
2026-05-26 00:46:13 +02:00
slhx agent 062c184e42 feat(core): format generated resources for templates
Implement Display for generated slots, keyed slots, atoms, and forms so public examples can pass typed resources directly to hemplate dynamic attributes and tests instead of extracting raw numeric ids.

req: public_api/001

req: public_api/002
2026-05-26 00:39:47 +02:00
slhx agent a421865852 feat(core): format handles for templates
Implement Display for generated Handle<T> values and migrate example view data to carry handles directly instead of raw handle id numbers for dynamic handle attributes.

req: public_api/001

req: public_api/002
2026-05-26 00:30:23 +02:00
slhx agent bc8534a768 feat(axum): register checked handles
Add HandlerRegistry::register_handle for generated Handle<T> values and migrate examples away from passing raw numeric handle ids at registration sites.

req: ceremony/004

req: public_api/001
2026-05-26 00:26:42 +02:00
slhx agent 0b6ad64d98 feat(derive): expose checked form resource constants
Have #[slhx::form] emit an associated FORM resource so checked form handlers can be called with TodoInput::FORM-style values instead of generated_resource.typed::<T>() noise.

req: form/001

req: form/004

req: form/006

req: codegen/004
2026-05-26 00:03:47 +02:00
slhx agent 54aecff6e8 test(kanban): exercise checked form handler path
Add a kanban example smoke test for #[slhx::form] plus #[slhx::handler] over the generated create_card form resource.

req: form/001

req: form/004

req: form/006

req: derive_handler/003
2026-05-25 23:54:09 +02:00
slhx agent 4d4f5cd2bc test(examples): assert escaped text exactly
Make v0 and kanban DOM-aware escaped-text checks exact instead of substring-based while preserving the no-rendered-tag assertions.

req: html_safety/002

req: test/005
2026-05-25 23:23:14 +02:00
slhx agent da5dccd417 refactor(kanban): render test board payload with hemplate
Replace the Kanban generated-slot unit test's inline raw HTML board payload with a hemplate-rendered view and DOM-aware assertion.

req: html_safety/002

req: view/001

req: test/005
2026-05-25 22:04:28 +02:00
slhx agent bd35347fa2 refactor(kanban): render board cards with hemplate
Move Kanban board/column/card rendering from Rust raw HTML assembly into hemplate partial views. Keep handler effects returning generated slot payloads and cover rendered structure with scraper.

req: html_safety/002

req: view/001

req: test/005
2026-05-25 21:45:25 +02:00
slhx agent 3b61451858 refactor(kanban): compose page with hemplate
Replace board page placeholder string replacement for options/board content with a hemplate page view and partial-rendered options. Cover page structure with DOM-aware scraper assertions.

req: html_safety/002

req: view/001

req: test/005
2026-05-25 21:38:36 +02:00
slhx agent d76682e98f refactor(kanban): render presence with hemplate
Move the kanban SSE presence fragment from Rust raw HTML formatting into a hemplate partial/view and cover the rendered structure with scraper.

req: html_safety/002

req: view/001

req: test/005
2026-05-25 21:34:53 +02:00
slhx agent 713c6bb087 feat(examples): add browser kanban demo
req: examples/001

req: form/002

req: list/003

req: push/003
2026-05-10 23:58:09 +02:00