defmodule LivebookWeb.Output.FrameDynamicLive do use LivebookWeb, :live_view @impl true def mount(_params, %{"pid" => pid, "id" => id}, socket) do send(pid, {:connect, self()}) {:ok, assign(socket, id: id, output: nil)} end @impl true def render(assigns) do ~H"""
<%= if @output do %> <%= LivebookWeb.Output.render_output(@output, %{ id: "#{@id}-frame", socket: @socket, runtime: nil }) %> <% else %>
Empty output frame
<% end %>
""" 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