定制 pojow/laravel-collection-table 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱: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.

统计信息

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

GitHub 信息

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

其他信息

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

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固