Packages
phoenix_webcomponent
2.2.0
3.2.4
3.2.3
3.2.2
3.2.1
3.2.0
3.1.5
3.1.4
3.1.3
3.1.2
3.1.1
3.1.0
2.8.0
2.7.0
2.6.0
2.5.4
2.5.3
2.5.2
2.5.1
2.5.0
2.4.0
2.3.6
2.3.5
2.3.4
2.3.3
2.3.2
2.3.1
2.2.3
2.2.2
2.2.1
2.2.0
2.1.4
2.1.3
2.1.2
2.1.1
2.1.0
2.0.0
1.6.3
1.6.2
1.6.1
1.6.0
1.5.1
1.5.0
1.4.5
1.4.4
1.4.3
1.4.2
1.4.1
1.4.0
1.3.0
1.2.0
1.1.1
1.1.0
1.0.0
1.0.0-beta.4
1.0.0-beta.3
1.0.0-beta.2
0.0.0
Phoenix view functions for working with WebComponent
Current section
Files
Jump to
Current section
Files
lib/phoenix_webcomponent/table.ex
defmodule Phoenix.WebComponent.Table do
@moduledoc """
Render table.
"""
use Phoenix.WebComponent, :component
@doc """
Generates a table.
## Examples
## Options
"""
def wc_table(assigns) do
assigns =
assigns
|> assign_new(:id, fn -> false end)
|> assign_new(:class, fn -> "" end)
|> assign_new(:col, fn -> [] end)
|> assign_new(:rows, fn -> [] end)
~H"""
<table id={@id} class={"table-fixed border-collapse border-spacing-0 #{@class}"}>
<thead>
<tr class="bg-slate-100 h-[34px]">
<%= for col <- @col do %>
<th class=" px-4 py-2 slate-700 text-left font-medium"><%= col.label %></th>
<% end %>
</tr>
</thead>
<tbody>
<%= for row <- @rows do %>
<tr class="bg-slate-50 even:bg-white h-[40px]">
<%= for col <- @col do %>
<td class=" px-4 py-2"><%= render_slot(col, row) %></td>
<% end %>
</tr>
<% end %>
</tbody>
</table>
"""
end
end