stepapo / data

Nette 框架和 Nextras ORM 组件,帮助从具有分页、排序和过滤功能的集合中生成数据集。

dev-main 2024-09-02 14:04 UTC

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: