docs
This commit is contained in:
@@ -1,3 +1,34 @@
|
|||||||
|
/*!
|
||||||
|
Each component is a struct that can be rendered
|
||||||
|
|
||||||
|
They form a tree, with a "build of" relationship
|
||||||
|
|
||||||
|
So each component can contain multiple other components
|
||||||
|
Each component has a parent, except the `root` element
|
||||||
|
|
||||||
|
Each component can send a single request (called action) which is
|
||||||
|
either done with or without Htmx.
|
||||||
|
|
||||||
|
Each component implements the [`Component`] trait. It has two
|
||||||
|
functions:
|
||||||
|
|
||||||
|
* `init()` to pass a reference to the parent and component-specific
|
||||||
|
arguments (implemented as an associated type of the trait)
|
||||||
|
* `build()` that receives [`Context`] and emits Markup to render.
|
||||||
|
|
||||||
|
## Actions
|
||||||
|
|
||||||
|
Actions can either be done using Htmx or the standard way. To do this,
|
||||||
|
each component is supposed to contain a `HtmxComponent` struct. A `HtmxComponent`
|
||||||
|
contains the following information:
|
||||||
|
|
||||||
|
* `ComponentId` that uniquely (and stably) identifies the component (used for the
|
||||||
|
HTML target ID)
|
||||||
|
* `action`: The action to take (HTTP method & URL)
|
||||||
|
* `fallback_action`: The action to take when Htmx is not available (HTTP method & URL)
|
||||||
|
* `target`: What to target for Htmx swap (either itself or a reference to another component)
|
||||||
|
*/
|
||||||
|
|
||||||
use std::fmt;
|
use std::fmt;
|
||||||
|
|
||||||
use base64::Engine as _;
|
use base64::Engine as _;
|
||||||
|
|||||||
Reference in New Issue
Block a user