# `PhoenixFilament.Widget.Table`
[🔗](https://github.com/franciscpd/phoenix-filament/blob/main/lib/phoenix_filament/panel/widget/table.ex#L1)

A widget that displays a simple read-only table on the dashboard.

# `columns`

```elixir
@callback columns() :: [PhoenixFilament.Column.t()]
```

# `heading`

```elixir
@callback heading() :: String.t()
```

# `query`
*optional* 

```elixir
@callback query() :: Ecto.Query.t()
```

Optional callback to provide an Ecto query for fetching rows.

When implemented, your widget's `update/2` override should execute the query
against your Repo and assign the results to the `:rows` assign. Example:

    def update(assigns, socket) do
      {:ok, socket} = super(assigns, socket)
      rows = MyApp.Repo.all(query())
      {:ok, Phoenix.Component.assign(socket, :rows, rows)}
    end

# `render`

---

*Consult [api-reference.md](api-reference.md) for complete listing*
