Packages
livebook
0.4.0
0.19.8
0.19.7
0.19.6
0.19.5
0.19.4
0.19.3
0.19.2
0.19.1
0.19.0
0.18.6
0.18.5
0.18.4
0.18.3
0.18.2
0.18.1
0.18.0
0.17.3
0.17.2
0.17.1
0.17.0
0.16.4
0.16.3
0.16.2
0.16.1
0.16.0
0.15.5
0.15.4
0.15.3
0.15.2
0.15.1
0.15.0
0.14.7
0.14.6
0.14.5
0.14.4
0.14.3
0.14.2
0.14.1
0.14.0
0.14.0-rc.1
0.14.0-rc.0
0.13.3
0.13.2
0.13.1
0.13.0
0.12.1
0.12.0
0.11.4
0.11.3
0.11.2
0.11.1
0.11.0
0.10.0
0.9.3
0.9.2
0.9.1
0.9.0
0.8.2
0.8.1
0.8.0
0.7.2
0.7.1
0.7.0
0.6.3
0.6.2
0.6.1
0.6.0
0.5.2
0.5.1
0.5.0
0.4.1
0.4.0
0.3.2
0.3.1
0.3.0
0.2.3
0.2.2
0.2.1
0.2.0
0.1.2
0.1.1
0.1.0
Automate code & data workflows with interactive notebooks
Current section
Files
Jump to
Current section
Files
lib/livebook_web/live/output/frame_dynamic_live.ex
defmodule LivebookWeb.Output.FrameDynamicLive do
use LivebookWeb, :live_view
@impl true
def mount(
_params,
%{
"pid" => pid,
"id" => id,
"input_values" => input_values,
"cell_validity_status" => cell_validity_status
},
socket
) do
if connected?(socket) do
send(pid, {:connect, self()})
end
{:ok,
assign(socket,
id: id,
output: nil,
input_values: input_values,
cell_validity_status: cell_validity_status
)}
end
@impl true
def render(assigns) do
~H"""
<div>
<%= if @output do %>
<LivebookWeb.Output.outputs
outputs={[@output]}
id={"#{@id}-frame"}
socket={@socket}
runtime={nil}
input_values={@input_values}
cell_validity_status={@cell_validity_status} />
<% else %>
<div class="text-gray-300">
Empty output frame
</div>
<% end %>
</div>
"""
end
@impl true
def handle_info({:connect_reply, %{output: output}}, socket) do
{:noreply, assign(socket, output: output)}
end
def handle_info({:render, %{output: output}}, socket) do
{:noreply, assign(socket, output: output)}
end
end