PHPackages                             team-nifty-gmbh/tall-datatables - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. team-nifty-gmbh/tall-datatables

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

team-nifty-gmbh/tall-datatables
===============================

Server-side rendered datatables for Laravel and Livewire

v2.5.2(6d ago)1320.9k↓14.3%1MITPHPPHP ^8.4CI passing

Since Jan 31Pushed 6d ago1 watchersCompare

[ Source](https://github.com/Team-Nifty-GmbH/tall-datatables)[ Packagist](https://packagist.org/packages/team-nifty-gmbh/tall-datatables)[ Docs](https://github.com/team-nifty-gmbh/tall-datatables)[ RSS](/packages/team-nifty-gmbh-tall-datatables/feed)WikiDiscussions main Synced 3d ago

READMEChangelog (10)Dependencies (68)Versions (254)Used By (1)

Tall DataTables
===============

[](#tall-datatables)

[![Latest Version on Packagist](https://camo.githubusercontent.com/9abac1f32ff1aa87b3dbdcc8920bcf6c38af38dc87285c3017af6ee4990f98a9/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f7465616d2d6e696674792d676d62682f74616c6c2d646174617461626c65732e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/team-nifty-gmbh/tall-datatables)[![GitHub Tests Action Status](https://camo.githubusercontent.com/5d2a72775ebc946640a325178a8a3d30f0b23c8c6fde76ace41c87d01870d023/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f5465616d2d4e696674792d476d62482f74616c6c2d646174617461626c65732f74657374732e796d6c3f6272616e63683d6d61696e266c6162656c3d7465737473267374796c653d666c61742d737175617265)](https://github.com/Team-Nifty-GmbH/tall-datatables/actions?query=workflow%3ATests+branch%3Amain)[![Total Downloads](https://camo.githubusercontent.com/27b7600b09dd053e21c00e5a9dbecbc27c1e546b9d14a6576acdc9c8e4985d57/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f7465616d2d6e696674792d676d62682f74616c6c2d646174617461626c65732e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/team-nifty-gmbh/tall-datatables)

Performant, feature-rich datatables for the TALL stack. Built on Livewire 4 Islands architecture with Alpine.js driven rendering for minimal payloads.

Requirements
------------

[](#requirements)

- PHP 8.4+
- Laravel 12+
- Livewire 4+
- TallStackUI 3+
- Alpine.js 3+
- Tailwind CSS 3+

Installation
------------

[](#installation)

```
composer require team-nifty-gmbh/tall-datatables:^2.0
```

Add the scripts and styles to your layout:

```

```

Publish migrations and run them:

```
php artisan vendor:publish --tag="tall-datatables-migrations"
php artisan migrate
```

Quick Start
-----------

[](#quick-start)

```
class UserDataTable extends DataTable
{
    protected string $model = User::class;

    public array $enabledCols = ['name', 'email', 'created_at'];
}
```

```

```

Layouts
-------

[](#layouts)

Three built-in layouts: **table** (default), **grid**, and **kanban**.

### View-Mode Switcher

[](#view-mode-switcher)

Let users switch between layouts at runtime:

```
protected function availableLayouts(): array
{
    return ['table', 'grid', 'kanban'];
}
```

When more than one layout is configured, a switcher appears in the toolbar. The active layout is persisted in saved filters.

### Grid Layout

[](#grid-layout)

Cards in a responsive CSS grid. Image columns get hero treatment.

```
protected function availableLayouts(): array
{
    return ['table', 'grid'];
}
```

### Kanban Layout

[](#kanban-layout)

Cards grouped into lanes by a column value. Drag &amp; drop between lanes.

```
protected function availableLayouts(): array
{
    return ['table', 'kanban'];
}

// Which column determines the lanes
protected function kanbanColumn(): string
{
    return 'state';
}

// Optional: explicit lane config (order, labels, colors)
protected function kanbanLanes(): ?array
{
    return [
        'open' => ['label' => 'Open', 'color' => 'emerald'],
        'in_progress' => ['label' => 'In Progress', 'color' => 'amber'],
        'done' => ['label' => 'Done', 'color' => 'indigo'],
    ];
}

// Handle drag & drop
public function kanbanMoveItem(int|string $id, string $targetLane): void
{
    MyModel::findOrFail($id)->update(['state' => $targetLane]);
}

// Optional: custom card blade view
protected function kanbanCardView(): ?string
{
    return 'components.my-kanban-card';
}
```

If `kanbanLanes()` returns `null`, lanes are auto-generated from the column's enum/state values.

Filtering
---------

[](#filtering)

### Sidebar Filters

[](#sidebar-filters)

Enable filtering with the sidebar:

```
public bool $isFilterable = true;
```

Available operators: `=`, `!=`, `>`, `>=`, `label(__('Edit'))
            ->icon('pencil')
            ->wireClick('edit(record.id)'),
    ];
}
```

Row Drag &amp; Drop
-------------------

[](#row-drag--drop)

Enable manual row reordering:

```
protected function getRowDragDropConfig(): ?array
{
    return [
        'column' => 'sort_order',
    ];
}
```

Custom Formatters
-----------------

[](#custom-formatters)

Register formatters for custom display logic:

```
use TeamNiftyGmbH\DataTable\Formatters\FormatterRegistry;

app(FormatterRegistry::class)->register(MyCast::class, new MyFormatter());
```

Built-in formatters: `boolean`, `date`, `datetime`, `money`, `percentage`, `image`, `link`, `badge`, `float`, `string`, `array`.

### Custom Column Transformation

[](#custom-column-transformation)

Use `augmentItemArray()` to add computed columns before formatters are applied:

```
protected function augmentItemArray(array &$itemArray, Model $item): void
{
    $itemArray['full_name'] = $item->first_name . ' ' . $item->last_name;
}
```

Sidebar Tabs
------------

[](#sidebar-tabs)

Extend the sidebar with custom tabs:

```
public function getSidebarTabs(): array
{
    $tabs = parent::getSidebarTabs();

    $tabs[] = [
        'id' => 'my-tab',
        'label' => __('My Tab'),
        'view' => 'components.my-custom-tab',
    ];

    return $tabs;
}
```

Positive Empty State
--------------------

[](#positive-empty-state)

Show a friendly message when a table is expected to be empty:

```
public bool $positiveEmptyState = true;
```

Default Columns
---------------

[](#default-columns)

Allow users to save their column layout as the default:

```
protected function canSaveDefaultColumns(): bool
{
    return true;
}
```

Testing
-------

[](#testing)

```
vendor/bin/pest
```

Credits
-------

[](#credits)

- [Patrick Weh](https://github.com/patrickweh)
- [All Contributors](../../contributors)

License
-------

[](#license)

MIT. See [LICENSE](LICENSE.md).

###  Health Score

63

—

FairBetter than 99% of packages

Maintenance99

Actively maintained with recent releases

Popularity34

Limited adoption so far

Community20

Small or concentrated contributor base

Maturity83

Battle-tested with a long release history

 Bus Factor1

Top contributor holds 90.4% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~6 days

Total

198

Last Release

6d ago

Major Versions

v0.9.21 → v1.0.0-beta.12024-12-08

v0.9.37 → v1.0.0-beta.22025-02-26

v0.9.38 → v1.0.0-beta.52025-03-14

0.x-dev → v1.0.0-beta.82025-04-10

1.x-dev → 2.x-dev2026-03-28

PHP version history (2 changes)v0.1.0PHP ^8.1

2.x-devPHP ^8.4

### Community

Maintainers

![](https://www.gravatar.com/avatar/315f809551baee16f7c5531f89a864b4d5b59bde8882779c30d4a01ae36e718e?d=identicon)[team-nifty](/maintainers/team-nifty)

---

Top Contributors

[![patrickweh](https://avatars.githubusercontent.com/u/40495041?v=4)](https://github.com/patrickweh "patrickweh (743 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (33 commits)")[![SirSplasch](https://avatars.githubusercontent.com/u/27318897?v=4)](https://github.com/SirSplasch "SirSplasch (27 commits)")[![nehegeb](https://avatars.githubusercontent.com/u/35218212?v=4)](https://github.com/nehegeb "nehegeb (8 commits)")[![github-actions[bot]](https://avatars.githubusercontent.com/in/15368?v=4)](https://github.com/github-actions[bot] "github-actions[bot] (7 commits)")[![laravel-shift](https://avatars.githubusercontent.com/u/15991828?v=4)](https://github.com/laravel-shift "laravel-shift (2 commits)")[![ktownmaxi](https://avatars.githubusercontent.com/u/112746096?v=4)](https://github.com/ktownmaxi "ktownmaxi (1 commits)")[![Slupi](https://avatars.githubusercontent.com/u/866949?v=4)](https://github.com/Slupi "Slupi (1 commits)")

---

Tags

laravelteam-nifty-gmbhtall-datatables

###  Code Quality

TestsPest

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/team-nifty-gmbh-tall-datatables/health.svg)

```
[![Health](https://phpackages.com/badges/team-nifty-gmbh-tall-datatables/health.svg)](https://phpackages.com/packages/team-nifty-gmbh-tall-datatables)
```

###  Alternatives

[tomshaw/electricgrid

A feature-rich Livewire package designed for projects that require dynamic, interactive data tables.

119.4k](/packages/tomshaw-electricgrid)[unopim/unopim

UnoPim Laravel PIM

10.5k2.4k](/packages/unopim-unopim)[typicms/base

A modular multilingual CMS built with Laravel, enabling developers to manage structured content like pages, news, events, and more.

1.6k20.4k](/packages/typicms-base)[nasirkhan/laravel-starter

A CMS like modular Laravel starter project.

1.4k2.7k](/packages/nasirkhan-laravel-starter)[yajra/laravel-datatables-export

Laravel DataTables Queued Export Plugin.

362.2M4](/packages/yajra-laravel-datatables-export)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
