laravilt/tables

Complete table system with columns, filters, sorting, bulk actions, and pagination. Build powerful data tables with search, filters, inline editing, row/bulk actions, and responsive mobile-friendly layouts.

Fund package maintenance!
fadymondy

Installs: 143

Dependents: 2

Suggesters: 0

Security: 0

Stars: 1

Watchers: 0

Forks: 0

Open Issues: 0

Language:HTML

pkg:composer/laravilt/tables

1.0.6 2025-12-22 03:49 UTC

This package is auto-updated.

Last update: 2025-12-22 03:54:56 UTC


README

tables

Laravilt Tables

Latest Stable Version License Downloads Dependabot Updates PHP Code Styling Tests

Complete table system with columns, filters, sorting, bulk actions, and pagination for Laravilt. Build powerful data tables with search, filters, inline editing, and row/bulk actions.

Features

  • 📊 9 Column Types - Text, Image, Badge, Icon, Select, Toggle, Color, Relationship, Custom
  • 🔍 5 Filter Types - Text, Select, Multi-Select, Boolean, Date Range
  • ↕️ Sorting - Multi-column sorting with direction control
  • Bulk Actions - Select and perform actions on multiple rows
  • 📄 Pagination - Built-in pagination with customizable page sizes
  • 📱 Responsive - Mobile-friendly with column visibility control

Column Types

Column Description
TextColumn Text display with formatting options
ImageColumn Image thumbnails with lightbox
BadgeColumn Status badges with colors
IconColumn Boolean icons (check/x)
SelectColumn Inline select editing
ToggleColumn Inline toggle switches
ColorColumn Color swatches
RelationshipColumn Display related model data
CustomColumn Custom Vue component rendering

Quick Example

use Laravilt\Tables\Table;
use Laravilt\Tables\Columns\TextColumn;
use Laravilt\Tables\Columns\BadgeColumn;
use Laravilt\Tables\Columns\ToggleColumn;
use Laravilt\Tables\Filters\SelectFilter;
use Laravilt\Tables\Actions\BulkAction;

Table::make()
    ->columns([
        TextColumn::make('name')
            ->searchable()
            ->sortable(),

        BadgeColumn::make('status')
            ->colors([
                'success' => 'active',
                'danger' => 'inactive',
            ]),

        ToggleColumn::make('is_featured'),
    ])
    ->filters([
        SelectFilter::make('status')
            ->options(['active', 'inactive']),
    ])
    ->toolbarActions([
        BulkAction::make('delete')
            ->label('Delete Selected')
            ->action(fn ($records) => $records->each->delete()),
    ]);

Installation

composer require laravilt/tables

Generator Commands

php artisan make:table UserTable
php artisan make:table UserTable --actions

Documentation

License

The MIT License (MIT). Please see License File for more information.