PhoenixDatastar.Elements (PhoenixDatastar v0.1.16)

Copy Markdown View Source

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

Patches DOM elements with new HTML content.

Removes elements from the DOM by selector.

Functions

patch(sse, html, opts \\ [])

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)

remove(sse, selector, opts \\ [])

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")