Adds an HX-Trigger, HX-Trigger-After-Swap, or HX-Trigger-After-Settle
header to a plumber2 response, causing htmx to fire one or more client-side
events after the response is received.
Usage
hx_trigger(response, event)
hx_trigger_after_swap(response, event)
hx_trigger_after_settle(response, event)Arguments
- response
A plumber2 response object. The parameter must be named
responsein route handlers — it is the only name plumber2 recognises for injecting the response object.- event
One of:
A character string — fires a single event:
"myEvent".A character vector — fires multiple events:
c("event1", "event2").A named list — fires events with detail payloads:
list(showMessage = list(level = "info"), confetti = NULL). Each name is an event; each value is its detail (useNULLfor no detail).
Details
Timing variants
hx_trigger()— fires immediately when the response is received (HX-Trigger).hx_trigger_after_swap()— fires after htmx swaps the new content into the DOM (HX-Trigger-After-Swap). Use this when the event handler needs to interact with the freshly-swapped elements.hx_trigger_after_settle()— fires after htmx settles (CSS transitions complete) (HX-Trigger-After-Settle).
Examples
if (FALSE) { # \dontrun{
#* @post /submit
function(response) {
# Simple event
hx_trigger(response, "formSubmitted")
# Multiple events
hx_trigger(response, c("formSubmitted", "refresh"))
# Event with detail payload
hx_trigger(response, list(showMessage = list(level = "info", text = "Saved!")))
list(status = "ok")
}
} # }
