本文整理汇总了PHP中Anomaly\Streams\Platform\Ui\Table\TableBuilder::setFilters方法的典型用法代码示例。如果您正苦于以下问题:PHP TableBuilder::setFilters方法的具体用法?PHP TableBuilder::setFilters怎么用?PHP TableBuilder::setFilters使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Anomaly\Streams\Platform\Ui\Table\TableBuilder
的用法示例。
在下文中一共展示了TableBuilder::setFilters方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: normalize
/**
* Normalize filter input.
*
* @param TableBuilder $builder
*/
public function normalize(TableBuilder $builder)
{
$filters = $builder->getFilters();
$stream = $builder->getTableStream();
foreach ($filters as $slug => &$filter) {
/**
* If the filter is a string then use
* it for everything.
*/
if (is_string($filter) && !str_contains($filter, '/')) {
$filter = ['slug' => $filter, 'field' => $filter, 'filter' => 'field'];
}
/**
* If the filter is a class string then use
* it for the filter.
*/
if (is_string($filter) && str_contains($filter, '/')) {
$filter = ['slug' => $slug, 'filter' => $filter];
}
/**
* Move the slug into the filter.
*/
if (!isset($filter['slug'])) {
$filter['slug'] = $slug;
}
/**
* Move the slug to the filter.
*/
if (!isset($filter['filter'])) {
$filter['filter'] = $filter['slug'];
}
/**
* Fallback the field.
*/
if (!isset($filter['field']) && $stream && $stream->hasAssignment($filter['slug'])) {
$filter['field'] = $filter['slug'];
}
/**
* If there is no filter type
* then assume it's the slug.
*/
if (!isset($filter['filter'])) {
$filter['filter'] = $filter['slug'];
}
/**
* Set the table's stream.
*/
if ($stream) {
$filter['stream'] = $stream;
}
}
$builder->setFilters($filters);
}
示例2: guess
/**
* Guess some table table filter placeholders.
*
* @param TableBuilder $builder
*/
public function guess(TableBuilder $builder)
{
$filters = $builder->getFilters();
$stream = $builder->getTableStream();
foreach ($filters as &$filter) {
// Skip if we already have a placeholder.
if (isset($filter['placeholder'])) {
continue;
}
// Get the placeholder off the assignment.
if ($stream && ($assignment = $stream->getAssignment(array_get($filter, 'field')))) {
/**
* Always use the field name
* as the placeholder. Placeholders
* that are assigned otherwise usually
* feel out of context:
*
* "Choose an option..." in the filter
* would just be weird.
*/
$filter['placeholder'] = $assignment->getFieldName();
}
if (!($module = $this->modules->active())) {
continue;
}
$placeholder = $module->getNamespace('field.' . $filter['slug'] . '.placeholder');
if (!isset($filter['placeholder']) && $this->translator->has($placeholder)) {
$filter['placeholder'] = $placeholder;
}
$placeholder = $module->getNamespace('field.' . $filter['slug'] . '.name');
if (!isset($filter['placeholder']) && $this->translator->has($placeholder)) {
$filter['placeholder'] = $placeholder;
}
if (!array_get($filter, 'placeholder')) {
$filter['placeholder'] = $filter['slug'];
}
}
$builder->setFilters($filters);
}