rappasoft/laravel-livewire-tables

A dynamic table component for Laravel Livewire

Fund package maintenance!
rappasoft

Installs: 45 352

Dependents: 4

Suggesters: 0

Security: 0

Stars: 444

Watchers: 15

Forks: 66

Open Issues: 1

Language:Blade

v1.6.0 2021-05-04 19:00 UTC

README

Package Logo

Latest Version on Packagist Styling Tests Total Downloads

A dynamic Laravel Livewire component for data tables.

Full Table

This plugin assumes you already have Laravel Livewire and Alpine.js installed and configured in your project.

Installation

You can install the package via composer:

composer require rappasoft/laravel-livewire-tables

Usage

Read the documentation

Basic Example

<?php

namespace App\Http\Livewire\Admin\User;

use App\Domains\Auth\Models\User;
use Illuminate\Database\Eloquent\Builder;
use Rappasoft\LaravelLivewireTables\DataTableComponent;
use Rappasoft\LaravelLivewireTables\Views\Column;

class UsersTable extends DataTableComponent
{

    public function columns(): array
    {
        return [
            Column::make('Name')
                ->sortable()
                ->searchable(),
            Column::make('E-mail', 'email')
                ->sortable()
                ->searchable(),
            Column::make('Verified', 'email_verified_at')
                ->sortable(),
        ];
    }

    public function query(): Builder
    {
        return User::query();
    }
}

See advanced example

To-do/Roadmap

  • Bootstrap 4 Template
  • Bootstrap 5 Template
  • Sorting By Relationships
  • Collection/Query Support
  • Test Suite (WIP)
  • Column Search
  • Greater Configurability

Testing

composer test

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

Please e-mail anthony@rappasoft.com to report any security vulnerabilities instead of the issue tracker.

Credits

License

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