defmodule Phoenix.LiveDashboard.ChartComponent do use Phoenix.LiveDashboard.Web, :live_component @impl true def mount(socket) do {:ok, socket, temporary_assigns: [data: []]} end @impl true def update(assigns, socket) do {metric, assigns} = Map.pop(assigns, :metric) socket = if metric do assign(socket, title: chart_title(metric), description: metric.description, kind: chart_kind(metric.__struct__), label: chart_label(metric), tags: Enum.join(metric.tags, "-"), unit: chart_unit(metric.unit) ) else socket end {:ok, assign(socket, assigns)} end @impl true def render(assigns) do ~L"""