pojow/laravel-collection-table 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

pojow/laravel-collection-table

最新稳定版本:v0.1.4

Composer 安装命令:

composer require pojow/laravel-collection-table

包简介

Generate tables from Laravel collection

README 文档

README

Laravel Collection Table illustration

Latest Stable Version Total Downloads Build Status Coverage Status License: MIT

Our package allows you to generate functional HTML tables from a Laravel collection. The generated tables support a variety of features, including filtering, sorting, searching, and actions.

This lightweight package is designed for developers, providing easy customization of tables. You can effortlessly create new filters, column formats, and more to suit your specific needs.

The package can be used with the following UI frameworks:

  • Bootstrap 5
  • TailwindCSS 3 (beta)
  • Custom : All views in the package can be overridden, allowing you to manage the display of your tables exactly as you wish.

Compatibility

Laravel PHP Package
^11.0 8.2.* | 8.3.* ^0.1

Usage example

Create your table with the following command:

php artisan make:table UsersTable 

Configure your table in the UsersTable generated class, which can be found in the app\Tables directory:

namespace App\Tables;

use App\Models\User;
use Pojow\LaravelCollectionTable\Abstracts\AbstractTableConfiguration;
use Pojow\LaravelCollectionTable\Column;
use Pojow\LaravelCollectionTable\Filters\SelectFilter;
use Pojow\LaravelCollectionTable\RowActions\DestroyRowAction;
use Pojow\LaravelCollectionTable\RowActions\EditRowAction;
use Pojow\LaravelCollectionTable\Table;

class UsersTable extends AbstractTableConfiguration
{
    protected function table(): Table
    {
        return Table::make()
            ->collection(User::all())
            ->filters([
                (new SelectFilter(__('Role'), 'role'))->options(['user', 'administrator']),
            ])
            ->rowActions([
                new EditRowAction('user.edit', 'id'),
                new DestroyRowAction('user.destroy', 'id'),
            ]);
    }

    protected function columns(): array
    {
        return [
            Column::make('username')
                ->searchable()
                ->sortable(),
            Column::make('first_name')
                ->searchable()
                ->sortable(),
            Column::make('last_name'),
            Column::make('email')
                ->searchable()
                ->sortable()
                ->format(fn (User $user) => "<a href='mailto:{$user->email}'>{$user->email}</a>", false),
        ];
    }
}

And display it in a view:

<x:laravel-collection-table :config="App\Tables\UsersTable::class"/>

See the result Table usage example

Table of Contents

Installation

You can install the package via composer:

composer require pojow/laravel-collection-table

Configuration

You can publish the config file with:

php artisan vendor:publish --tag=laravel-collection-table:config

Among its configurations, this package allows you to choose which UI framework will be use.

Please note that you'll have to install and configure the UI framework you want to use before using this package, or you must override all the views and create your own.

Views

You can publish the package views to customize them if necessary:

php artisan vendor:publish --tag=laravel-collection-table:views

Testing

composer test

Changelog

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

Credits

License

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

统计信息

  • 总下载量: 153
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2024-06-08