Add tooltip to enrichment badge showing per-type status
This commit is contained in:
parent
2a3309ca13
commit
da490f7c59
1 changed files with 20 additions and 6 deletions
|
|
@ -72,13 +72,22 @@ defmodule MicrowavepropWeb.ContactLive.Index do
|
|||
defp validate_sort_order(order) when order in ~w(asc desc), do: order
|
||||
defp validate_sort_order(_), do: @default_sort_order
|
||||
|
||||
@enrichment_fields [:hrrr_status, :weather_status, :terrain_status, :iemre_status]
|
||||
@enrichment_fields [
|
||||
{:hrrr_status, "HRRR"},
|
||||
{:weather_status, "Weather"},
|
||||
{:terrain_status, "Terrain"},
|
||||
{:iemre_status, "IEMRE"}
|
||||
]
|
||||
@done_statuses [:complete, :unavailable]
|
||||
|
||||
defp enrichment_badge(contact) do
|
||||
statuses = Enum.map(@enrichment_fields, &Map.get(contact, &1))
|
||||
done = Enum.count(statuses, &(&1 in @done_statuses))
|
||||
failed = Enum.count(statuses, &(&1 == :failed))
|
||||
details =
|
||||
Enum.map(@enrichment_fields, fn {field, name} ->
|
||||
{name, Map.get(contact, field)}
|
||||
end)
|
||||
|
||||
done = Enum.count(details, fn {_, s} -> s in @done_statuses end)
|
||||
failed = Enum.count(details, fn {_, s} -> s == :failed end)
|
||||
|
||||
{label, class} =
|
||||
cond do
|
||||
|
|
@ -88,10 +97,15 @@ defmodule MicrowavepropWeb.ContactLive.Index do
|
|||
true -> {"Pending", "badge-ghost"}
|
||||
end
|
||||
|
||||
assigns = %{label: label, class: class}
|
||||
tooltip =
|
||||
Enum.map_join(details, ", ", fn {name, status} ->
|
||||
"#{name}: #{status}"
|
||||
end)
|
||||
|
||||
assigns = %{label: label, class: class, tooltip: tooltip}
|
||||
|
||||
~H"""
|
||||
<span class={["badge badge-xs", @class]}>{@label}</span>
|
||||
<span class={["badge badge-xs", @class]} title={@tooltip}>{@label}</span>
|
||||
"""
|
||||
end
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue