LiveTable

A Phoenix LiveView component library for building dynamic, interactive data tables with real-time updates.

Hex.pmDocumentation

Features

LiveTable Demo

Live Demo (1M+ records) | Advanced Demo | Advanced Demo Source

Quick Start

1. Add dependency:

# mix.exs
{:live_table, "~> 0.4.2"}

2. Install:

mix deps.get && mix live_table.install

3. Create a table:

# lib/my_app_web/live/product_live/index.ex
defmodule MyAppWeb.ProductLive.Index do
use MyAppWeb, :live_view
use LiveTable.LiveResource, schema: MyApp.Product
def fields do
[
id: %{label: "ID", sortable: true},
name: %{label: "Name", sortable: true, searchable: true},
price: %{label: "Price", sortable: true}
]
end
def filters do
[
in_stock: Boolean.new(:quantity, "in_stock", %{
label: "In Stock",
condition: dynamic([p], p.quantity > 0)
})
]
end
end

4. Render it:

<%# lib/my_app_web/live/product_live/index.html.heex %>
<.live_table fields={fields()} filters={filters()} options={@options} streams={@streams} />

Documentation

Full Documentation on HexDocs

AI/LLM Integration

LiveTable includes usage rules for AI assistants to provide accurate code suggestions.

License

MIT License. See LICENSE for details.

Contributing

  1. Fork the repository
  2. Create your feature branch
  3. Open a Pull Request

Support