designitgmbh / monkey-tables
monkeyTables 是一个简单的包,允许您创建强大的表格
dev-master / 1.0.x-dev
2021-03-11 18:29 UTC
Requires
- php: >=5.3.0
- designitgmbh/monkey-access: 1.0.2
- designitgmbh/monkey-settings: 1.0.0
This package is not auto-updated.
Last update: 2024-09-21 14:59:11 UTC
README
monkeyTables 是一套 PHP 和 JavaScript 库,包括必要的样式,为您提供简单有效的包,允许您直接从数据库创建强大的表格。它包含许多优点,包括
- 自动过滤
- 排序
- 预设
- 行内编辑
- 分页
- 等等...
安装
要安装该包,只需让 composer 为您完成工作
composer.phar require "designitgmbh/monkey-tables":"dev-master"
用户模型
由于我们提供预设,这些预设对每个用户是唯一的并且可以受限,因此 monkeyTables 需要访问一个用户模型,该模型与 MonkeyAccess 的配置文件有关系。
<?php namespace App\Models; class User extends SystemUser { public function profile() { return $this->belongsTo('Designitgmbh\MonkeyAccess\Models\Profile', 'profile_id'); } }
Lumen
此包与 Lumen 兼容,但您需要进行一些最小更改
- 启用 Facades
- 启用 Eloquent
- 安装 larasupport: https://github.com/irazasyed/larasupport
用法
后端
在控制器中,您可以构建表格,并以 JSON 格式发送回去。
$mTable = new mTable; $mTable ->setRequest(Request::all()) ->source('Project'); $mTable->add( (new mTableColumn("#", "id")) )->add( (new mTableColumn("Name", "name")) ->setClickable("/project/{{ID}}", "id") )->add( (new mTableColumn("Department", "department->name")) ->setClickable("/department/{{ID}}", "department->id") )->add( (new mTableColumn("Unit", "unit->name")) ->setClickable("/unit/{{ID}}", "unit->id") ); return response()->json($mTable->render());
别忘了为控制器添加路由。
$app->post('/project/indexList', 'ProjectController@indexList');
前端
包含所有依赖项后,只需添加一个 div,其中包含表格,并添加一小段 JavaScript 代码。
<div id="mtable"></div> <script> var frame = new mTableFrameStd("#mtable", {}); var table = new mTableStd({ frame: frame, url: "/project/indexList" }); frame.addTable(table); frame.show(); </script>