arne-groskurth / symgrid
Symgrid 是一个 Symfony 数据网格组件。
v0.1.7
2016-07-28 18:59 UTC
Requires
- php: >=5.4.0
- bmatzner/fontawesome-bundle: ~4.6
- doctrine/orm: ~2.4
- symfony/symfony: ~2.4|~3.0
- twig/twig: ~1.24
This package is not auto-updated.
Last update: 2024-09-14 19:36:43 UTC
README
Symgrid 是一个 Symfony 数据网格组件。
特性
- 支持 Doctrine 实体(Entity)、QueryBuilder(QueryBuilder)和数组(Array)数据源
- 内置列类型:别名(Alias)、布尔(Bool)、货币(Currency)、日期(Date)、日期时间(DateTime)、数字(Numeric)和字符串(String)
- 通过回调定义自定义列类型
- 将多个值折叠到单个列中(例如,以逗号分隔)
- 自动检测列类型
- 可导出为 CSV、HTML、Excel 和 PDF 格式
- 批量操作
- 行操作
- 对内置列类型的通用过滤器
- 尊重过滤器的列聚合
- 在更改过滤器时自动使用 Ajax 刷新
- 行排序
- 分页
- JavaScript API 用于注册事件监听器
- 对所有标签、列、批量操作和行操作标题进行翻译
安装
步骤 1:使用 Composer 下载 Symgrid
Symgrid 可在 Packagist 上找到,因此可以通过 Composer 安装
$ composer require arne-groskurth/symgrid
步骤 2:启用组件
需要将 SymgridBundle 和 FontAwesomeBundle 注册在内核上
// app/AppKernel.php public function registerBundles() { $bundles = array( // ... new ArneGroskurth\Symgrid\ArneGroskurthSymgridBundle(), new Bmatzner\FontAwesomeBundle\BmatznerFontAwesomeBundle() ); }
步骤 3:安装资源文件
$ php app/console assets:install --symlink
之后提供两种样式表
- layout.css:功能样式,例如处理加载指示器的可见性
- style.css:捆绑的网格样式,如上图所示
建议包含两种样式并在应用程序样式中进行修改
<link rel="stylesheet" href="{{ asset('bundles/arnegroskurthsymgrid/layout.css') }}" /> <link rel="stylesheet" href="{{ asset('bundles/arnegroskurthsymgrid/style.css') }}" />
完成!
入门
安装后,Symgrid 可作为服务使用,可以在控制器中配置,例如。
控制器中基于实体的基本网格配置
namespace AppBundle\Controller; use AppBundle\Entity\User; use ArneGroskurth\Symgrid\Grid\DataSource\EntityDataSource; use Symfony\Bundle\FrameworkBundle\Controller\Controller; class DefaultController extends Controller { public function testAction() { // Construct grid, set an entity as data source and activate bundled grid style $grid = $this->get('arnegroskurth_symgrid.grid') ->from(User::class) ->useDefaultStyle() ; // Return grid response or fall back to given template return $grid->getResponse('view.html.twig', array( 'grid' => $grid )); } }
在 Twig 模板中渲染 Symgrid
{{ symgrid(grid) }}
文档
请参阅目录。
许可证
MIT 许可证 (MIT)
版权所有 (c) 2016 Arne Groskurth
特此授予任何获得此软件及其相关文档副本(以下简称“软件”)的人免费使用软件的权利,不受任何限制,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本的权利,并允许获得软件的人按以下条件进行操作
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
软件按“现状”提供,不提供任何形式的保证,无论是明示的还是暗示的,包括但不限于适销性、特定用途适用性和非侵权性保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论此类索赔、损害或其他责任是由于合同、侵权或其他方式引起的,与软件或软件的使用或其他方式有关。