defmodule MvWeb.TableComponents do @moduledoc """ TableComponents that can be used in tables as components (like a button for sorting, a filter...) """ use Phoenix.Component import MvWeb.CoreComponents use Gettext, backend: MvWeb.Gettext attr :field, :atom, required: true attr :label, :string, required: true attr :sort_field, :atom, default: nil attr :sort_order, :atom, default: nil @doc """ A sort button (with chevron icon) that can be used to sort a list of items """ def sort_button(assigns) do ~H""" """ end defp aria_sort(current_field, current_order, this_field) do cond do current_field != this_field -> "none" current_order == :asc -> "ascending" true -> "descending" end end end