defmodule Observer.Web.Apps.Port do @moduledoc false use Observer.Web, :html use Phoenix.Component alias Observer.Web.Apps.PortActions alias Observer.Web.Components.Attention alias Observer.Web.Components.Metrics.VmPortMemory attr :info, :map, required: true attr :id, :string, required: true attr :memory_monitor, :boolean, required: true attr :node, :atom, required: true attr :metric, :string, required: true attr :metrics, :list, required: true def content(assigns) do info = assigns.info port_overview = if is_map(info) do [ %{name: "Id", value: "#{info.id}"}, %{name: "Name", value: "#{info.name}"}, %{name: "Os Pid", value: "#{info.os_pid}"}, %{name: "Connected", value: "#{inspect(info.connected)}"}, %{name: "Memory (bytes)", value: "#{info.memory}"} ] else nil end assigns = assigns |> assign(port_overview: port_overview) ~H"""
<%= cond do %> <% @info == nil -> %> <% @info == :undefined -> %> <% true -> %>
<:col :let={item}> {item.name} <:col :let={item}> {item.value}
<% end %> <%= if @memory_monitor do %>
<% end %>
""" end end