beartropy/tables
Beartropy Tables is a Livewire table component for the TALL stack with search, sorting, filters, bulk actions, and column toggling. It includes inline editing and boolean toggles with per-field authorization hooks to control writes.
This is yet another Laravel Livewire table package provided "as is". It offers the essentials for building data tables: filtering, searching, sorting, bulk actions, and column toggling.
The full documentation for this package involves installation, configuration, and advanced usage examples.
👉 Read the full documentation at beartropy.com/tables
Inline editing and boolean toggles are write actions reachable from the browser, so the table decides what may be written.
Only columns declared with ->editable() can be written through updateField(). A column that merely exists is not a write target, and toggleBoolean() ignores any column key that is not part of columns().
On top of that, three hooks let you apply your own policy checks. All three default to permitting the write, so a table that exposes sensitive columns must override them — they are hooks, not automatic protection.
use Illuminate\Database\Eloquent\Model;
// Eloquent-backed tables: receives the resolved record.
public function authorizeFieldUpdate(Model $record, string $field, mixed $value): bool
{
return auth()->user()->can('update', $record);
}
// Callback columns and array/stdClass tables: no model exists, so this
// receives the raw row id instead of a record.
public function authorizeFieldUpdateRaw($id, string $field, mixed $value): bool
{
return auth()->user()->can('editTables');
}
// Boolean toggle columns.
public function authorizeToggle($id, string $column): bool
{
return auth()->user()->can('editTables');
}
You can install the package via composer:
composer require beartropy/tables
Please see CONTRIBUTING for details.
The MIT License (MIT). Please see License File for more information.
[!NOTE] Disclaimer: This software is provided "as is", without warranty of any kind, express or implied. Use at your own risk.
How can I help you explore Laravel packages today?