mirror of
https://github.com/livebook-dev/livebook.git
synced 2024-09-25 04:15:59 +08:00
7804ff1d82
* Set up Vega-Lite plots rendering * Automatically recognise VegaLite specification * Improve matching VegaLite result * Update naming * StringFormatter -> DefaultFormatter
23 lines
504 B
Elixir
23 lines
504 B
Elixir
defmodule LivebookWeb.SessionLive.VegaLiteComponent do
|
|
use LivebookWeb, :live_component
|
|
|
|
@impl true
|
|
def mount(socket) do
|
|
{:ok, socket}
|
|
end
|
|
|
|
@impl true
|
|
def update(assigns, socket) do
|
|
socket = assign(socket, id: assigns.id)
|
|
{:ok, push_event(socket, "vega_lite:#{socket.assigns.id}", %{"spec" => assigns.spec})}
|
|
end
|
|
|
|
@impl true
|
|
def render(assigns) do
|
|
~L"""
|
|
<div id="<%= @id %>" phx-hook="VegaLite" phx-update="ignore" data-id="<%= @id %>">
|
|
</div>
|
|
"""
|
|
end
|
|
end
|