lustre_hx
Types
Event
Used by the trigger
function.
A trigger can also have additional modifiers that change its behavior, represented as a List(EventModifier)
.
pub type Event {
Event(event: String, modifiers: List(EventModifier))
}
Constructors
-
Event(event: String, modifiers: List(EventModifier))
pub type EventModifier {
Once
Changed
Delay(Timing)
Throttle(Timing)
From(extended_css_selector: ExtendedCssSelector)
Target(css_selector: String)
Consume
QueueEvent(Option(Queue))
}
Constructors
-
Once
-
Changed
-
Delay(Timing)
-
Throttle(Timing)
-
From(extended_css_selector: ExtendedCssSelector)
-
Target(css_selector: String)
-
Consume
-
QueueEvent(Option(Queue))
pub type ExtendedCssSelector {
CssSelector(css_selector: String)
Document
Window
Closest(css_selector: String)
Find(css_selector: String)
Next(css_selector: Option(String))
Previous(css_selector: Option(String))
This
}
Constructors
-
CssSelector(css_selector: String)
-
Document
-
Window
-
Closest(css_selector: String)
-
Find(css_selector: String)
-
Next(css_selector: Option(String))
-
Previous(css_selector: Option(String))
-
This
pub type Swap {
InnerHTML
OuterHTML
After
Afterbegin
Beforebegin
Beforeend
Afterend
Delete
SwapNone
}
Constructors
-
InnerHTML
-
OuterHTML
-
After
-
Afterbegin
-
Beforebegin
-
Beforeend
-
Afterend
-
Delete
-
SwapNone
pub type SwapOption {
Transition(Bool)
Swap(Timing)
Settle(Timing)
IgnoreTitle(Bool)
Scroll(Scroll)
Show(Scroll)
FocusScroll(Bool)
}
Constructors
-
Transition(Bool)
-
Swap(Timing)
-
Settle(Timing)
-
IgnoreTitle(Bool)
-
Scroll(Scroll)
-
Show(Scroll)
-
FocusScroll(Bool)
pub type SyncOption {
Default(css_selector: String)
Drop(css_selector: String)
Abort(css_selector: String)
Replace(css_selector: String)
SyncQueue(css_selector: String, queue: Queue)
}
Constructors
-
Default(css_selector: String)
-
Drop(css_selector: String)
-
Abort(css_selector: String)
-
Replace(css_selector: String)
-
SyncQueue(css_selector: String, queue: Queue)
Functions
pub fn delete(url url: String) -> Attribute(a)
hx-delete
Issues a DELETE request to the given URL when the element is triggered. By default, AJAX requests are triggered by the “natural” event of an element:
- input, textarea & select are triggered on the change event
- form is triggered on the submit event
- everything else is triggered by the click event
If you want different behavior you can use the hx-trigger attribute, provided by lustre_hx.trigger, to specify which event will cause the request.
pub fn get(url url: String) -> Attribute(a)
hx-get
Issues a GET request to the given URL when the element is triggered. By default, AJAX requests are triggered by the “natural” event of an element:
- input, textarea & select are triggered on the change event
- form is triggered on the submit event
- everything else is triggered by the click event
If you want different behavior you can use the hx-trigger attribute, provided by lustre_hx.trigger, to specify which event will cause the request.
pub fn hyper_script(script: String) -> Attribute(a)
pub fn indicator(
css_selector_or_closest css_selector_or_closest: String,
) -> Attribute(a)
pub fn patch(url url: String) -> Attribute(a)
hx-patch
Issues a PATCH request to the given URL when the element is triggered. By default, AJAX requests are triggered by the “natural” event of an element:
- input, textarea & select are triggered on the change event
- form is triggered on the submit event
- everything else is triggered by the click event
If you want different behavior you can use the hx-trigger attribute, provided by lustre_hx.trigger, to specify which event will cause the request.
pub fn post(url url: String) -> Attribute(a)
hx-post
Issues a POST request to the given URL when the element is triggered. By default, AJAX requests are triggered by the “natural” event of an element:
- input, textarea & select are triggered on the change event
- form is triggered on the submit event
- everything else is triggered by the click event
If you want different behavior you can use the hx-trigger attribute, provided by lustre_hx.trigger, to specify which event will cause the request.
pub fn put(url url: String) -> Attribute(a)
hx-put
Issues a PUT request to the given URL when the element is triggered. By default, AJAX requests are triggered by the “natural” event of an element:
- input, textarea & select are triggered on the change event
- form is triggered on the submit event
- everything else is triggered by the click event
If you want different behavior you can use the hx-trigger attribute, provided by lustre_hx.trigger, to specify which event will cause the request.
pub fn target(
extended_css_selector extended_css_selector: ExtendedCssSelector,
) -> Attribute(a)
pub fn trigger(events: List(Event)) -> Attribute(a)
hx-trigger
By default, AJAX requests are triggered by the “natural” event of an element:
- input, textarea & select are triggered on the change event
- form is triggered on the submit event
- everything else is triggered by the click event
If you want different behavior you can use the hx-trigger attribute to specify which event will cause the request.
pub fn trigger_load_polling(
timing_declaration timing: Timing,
filters filters: String,
) -> Attribute(a)
pub fn trigger_polling(
timing_declaration timing: Timing,
filters filters: Option(String),
) -> Attribute(a)