firmino / tablegrid
可重用网格结构,可在应用的多个地方使用。
dev-master
2017-11-08 13:51 UTC
This package is not auto-updated.
Last update: 2024-09-28 03:10:19 UTC
README
可重用网格结构,可在应用的多个地方使用。
安装
通过composer安装。配置composer.json文件以允许安装稳定性为dev的包
composer require firmino/tablegrid
在config/app.php中注册ServiceProvider
'providers' => [ Firmino\TableGrid\Providers\TableGridServiceProvider::class, ]
也在同一文件中注册Facade
'aliases' => [ 'TableGrid' => Firmino\TableGrid\Facades\TableGrid::class, ]
发布配置文件
php artisan vendor:publish --provider="Firmino\TableGrid\Providers\TableGridServiceProvider"
如何使用
使用TableGrid Facade来配置表格,它具有以下方法,可用于创建表格结构
基本示例
<?php // código omitido .... use Firmino\TableGrid\Facades\TableGrid; // codigo omitido .... public function index(){ $table = TableGrid::model(Model::class) ->columns([ [ 'label' => 'Titulo', 'name' => 'title' ] ]) ->search(); return view('view')->with('table', $table); }
要渲染表格,只需在HTML中以以下方式调用`render()`方法
{!! $table->render() !!}
方法
model(Model $model = null)
接收一个包含要显示在表格中的数据的数组。如果没有提供,将返回模型。
columns(Array $columns = null)
如果未发送任何值,则检索包含列信息的矩阵。否则接收一个矩阵
[ [ 'label' => 'Titulo', 'name' => 'title' ] ]
还可以发送一个名为`field`的键,以便在要显示的字段是模型的一些关系对象时,此键应接收显示此对象的哪个字段。示例
[ [ 'label' => 'Autor', 'name' => 'user', 'fiedl' => 'name' ] ]
rows()
检索表格的行
activeDataTable(Boolean $active)
配置是否应使用DataTable插件。
dataTable()
检索dataTable属性,该属性标识DataTable插件是否激活。
actions()
检索添加到表格中的操作
addAction(string $label, string $route, string $template, string $class = 'btn btn-default btn-sm')
向表格添加一个要显示的操作。
- $label => 链接中显示的文本。
- $route => 点击链接时将重定向到的路由名称。
- $template => 将在前端显示的链接模板。
- $class => 用于自定义链接的Bootstrap类。
addEditAction(string $label, string $route, string $template, string $class = 'btn btn-primary btn-sm')
向表格添加一个编辑操作。
- $label => 链接中显示的文本。
- $route => 点击链接时将重定向到的路由名称。
- $template => 将在前端显示的链接模板。
- $class => 用于自定义链接的Bootstrap类。
addDeleteAction(string $label, string $route, string $template, string $class = 'danger')
向表格添加一个删除操作。
- $label => 链接中显示的文本。
- $route => 点击链接时将重定向到的路由名称。
- $template => 将在前端显示的链接模板。
- $class => 用于自定义链接的Bootstrap类。
search()
在配置的model对应的数据库表中执行查询。
render()
渲染表格。
模板
包包含3个基本的模板来渲染操作链接,可以如下调用
- Table::templates.edit-action
- Table::templates.delete-action
- Table::templates.action (用于其他操作)
配置
配置文件允许对DataTable插件进行一些调整。
- translation_table (允许将表格信息翻译为portugues-br)
- zero_records (当表格中没有找到记录时显示的文本)
- search (出现在表格搜索栏旁边的文本)
示例
使用编辑和删除操作
<?php // código omitido .... use Firmino\TableGrid\Facades\TableGrid; // codigo omitido .... public function index(){ $table = TableGrid::model(Model::class) ->columns([ [ 'label' => 'Titulo', 'name' => 'title' ], [ 'label' => 'Autor', 'name' => 'user', 'field' => 'name' ] ]) ->activeDataTable(true) ->addEditAction('Editar', 'edit', 'Table::templates.edit-action') ->addDeleteAction('Excluir', 'destroy', 'Table::templates.delete-action', 'danger') ->search(); return view('home')->with('table', $table); }
使用其他操作
<?php // código omitido .... use Firmino\TableGrid\Facades\TableGrid; // codigo omitido .... public function index(){ $table = TableGrid::model(Model::class) ->columns([ [ 'label' => 'Descricao', 'name' => 'description' ] ]) ->addAction('acao', 'login', 'table.action', 'warning') ->search(); return view('home')->with('table', $table); }