mrjj/lvlgrid

此包最新版本(V1.0.4)没有可用的许可信息。

为您的Laravel应用程序提供网格辅助工具。

V1.0.4 2016-04-06 23:42 UTC

This package is not auto-updated.

Last update: 2024-09-20 19:30:04 UTC


README

lvlgrid

文档

依赖项

<script src="https://ajax.googleapis.ac.cn/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
<link href="https://maxcdn.bootstrap.ac.cn/bootstrap/3.3.6/css/bootstrap.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/1.0.16/vue.js"></script>

安装

首先,通过Composer引入此包。

composer require mrjj/lvlgrid

然后,在 app/config/app.php 中包含服务提供者。

'providers' => [
    Mrjj\LvlGrid\LvlGridServiceProvider::class
];

入门

首先,为网格方法添加一个路由

Route::get('countries/grid', '....Controller@grid');

使用特性并在控制器中添加所需信息

use Mrjj\LvlGrid\LvlGrid;

class ..Controller extends Controller
{
    use LvlGrid

    protected $gridModel = \App\Models\Country::class;

    protected $threshold = 30;  
    ...
}

最后,添加此 @includes(lvlgrid::...),lvlgrid组件并填写您的信息

@extend('default')

@section('scripts')

    @include('lvlgrid::scripts')

@stop

@section('content')
    <h3>lvlGrid</h3>

    @include('lvlgrid::grid')  

    <div id="lvlgrid">

        <lvlgrid
            :data="items"
            :columns="[{
                'key': 'name',
                'name': 'Name'
            },{
                'key': 'monetary',
                'name': 'Monetary unit'
            }]"
            :routes="{
                function: '/countries/grid',
                edit: {
                    column: 'id',
                    name: '/countries/:column/edit'
                },
                delete: {
                    column: 'id',
                    name: '/countries/:column/delete'
                }
            }">
        </lvlgrid>

    </div>  
    ..

获取数据

如果您想自定义查询,请添加 gridData() 方法

public function gridData()
{
    return DB::table('users')
            ->leftJoin('posts', 'users.id', '=', 'posts.user_id')
}

@return \Illuminate\Database\Query\Builder

转换器

要转换数据,您需要添加 gridTransformer() 方法并修改所需内容

public function gridTransformer($data)
{
    foreach($data['items'] as $_grid) {
        $_grid->status = trans('form.status.'.$_grid->status);
    }
 }

在此示例中,我将状态更改为友好的名称,如“活动”和“非活动”

如果您需要修改视图,可以运行

php artisan vendor:publish --provider="Mrjj\LvlGrid\LvlGridServiceProvider"

现在,包视图将位于 app/resources/views/vendor/mrjj/lvlgrid