stepapo / data
Nette 框架和 Nextras ORM 组件,帮助从具有分页、排序和过滤功能的集合中生成数据集。
dev-main
2024-09-02 14:04 UTC
Requires
- php: >=8.1
- nette/application: ^3.2
- nextras/orm: ^4.0
- stepapo/utils: dev-main
This package is auto-updated.
Last update: 2024-10-02 14:07:57 UTC
README
Nette 框架组件,帮助从 Nextras ORM 集合中生成具有分页、排序和过滤功能的数据集。文档展示了基本示例和配置数据集的方法。
示例
让我们创建一个按姓名字母顺序排序的数据库中所有人员的列表。每页显示10个项目,可按姓名、生日排序,并可按性别过滤。姓名包含指向人员详细页面的链接。可以切换到表格视图或网格视图。
定义
collection: %collection% repository: %repository% itemsPerPage: 10 columns: fullname: label: Name link: destination: PersonDetail:deafult args: id: id sort: isDefault: true gender: label: Gender columnName: genderLabel filter: options: %genderFilterOptions% prompt: Both birthday: label: Birthday align: right latteFilter: name: date args: j. n. Y sort: views: table: grid:
组件
public function createComponentPersonDataset() { return Stepapo\Dataset\Control\Dataset::createFromNeon(__DIR__ . '/personDataset.neon', [ 'collection' => $this->orm->personRepository->findAll() 'repository' => $this->orm->personRepository 'genderFilterOptions' => ['m' => 'Male', 'f' => 'Female'] ]); }
模板
{control personDataset}
配置
数据集
collection: repository: parentEntity: itemsPerPage: translator: imageStorage: itemClassCallback: itemLink: # include Link configuration idColumnName: alwaysRetrieveItems: columns: example column: # include Column configuration another example column: # include Column configuration views: table: # include View configuration list: # include View configuration text: # include Text configuration search: # include Search configuration
列
label: description: width: align: columnName: prepend: append: valueTemplateFile: hide: class: filter: # include Filter configuration sort: # include Sort configuration latteFilter: # include LatteFilter configuration link: # include Link configuration
视图
label: datasetTemplate: itemListTemplate: itemTemplate: valueTemplate: filterListTemplate: filterTemplate: paginationTemplate: sortingTemplate: displayTemplate: searchTemplate: itemFactoryCallback: isDefault:
搜索
placeholder: prepareCallback: suggestCallback: searchFunction: # include OrmFunction configuration sortFunction: # include OrmFunction configuration
文本
search: sort: display: previous: next: noResults: searchResults: didYouMean:
过滤
prompt: collapse: columnName: function: hide: options: example option: # include Option configuration another example option: # include Option configuration
排序
idDefault: direction: function: # include OrmFunction configuration
链接
destination: args:
Latte 过滤器
name: args:
选项
name: label: condition:
Orm 函数
class: args: