Functions for patching and removing DOM elements via SSE.
sse |> patch("<div>New content</div>", selector: "#target")
sse |> patch("<p>Inner</p>", selector: "#target", mode: :inner)
sse |> remove("#target")
Summary
Functions
@spec patch(PhoenixDatastar.SSE.t(), String.t(), keyword()) :: PhoenixDatastar.SSE.t()
Patches DOM elements with new HTML content.
Options
:selector- CSS selector for target elements (required):mode- Patch mode (default: :outer):use_view_transitions- Enable View Transitions API (default: false):event_id- Event ID for client tracking:retry- Retry duration in milliseconds
Examples
# Replace entire element
sse |> patch("<div>Content</div>", selector: "#target")
# Update inner HTML only
sse |> patch("<p>New text</p>", selector: ".content", mode: :inner)
# Append to element
sse |> patch("<li>Item</li>", selector: "ul", mode: :append)
# With view transitions
sse |> patch("<div>Smooth</div>", selector: "#box", use_view_transitions: true)
@spec remove(PhoenixDatastar.SSE.t(), String.t(), keyword()) :: PhoenixDatastar.SSE.t()
Removes elements from the DOM by selector.
Options
:event_id- Event ID for client tracking:retry- Retry duration in milliseconds
Example
sse
|> PhoenixDatastar.Elements.remove(".temporary")
|> PhoenixDatastar.Elements.remove("#old-content")