@inject ('datagrid', 'App\Renderers\DatagridRenderer')
{!! $datagrid->filters($filters)
->render(
$filterService,
// Columns
[
// Avatar
[
'type' => 'avatar'
],
// Name
'name',
'type',
[
'label' => __('calendars.fields.colour'),
'field' => 'tag.colour',
'render' => function ($model) {
/** @var \App\Models\Tag $model */
if (!$model->hasColour()) {
return '';
}
return '' . __('colours.' . $model->colour) . '';
}
],
[
'label' => trans('tags.fields.tag'),
'render' => function($model) {
if ($model->tag) {
return '' . e($model->tag->name) . '';
}
},
'field' => 'tag.name',
],
[
'label' => trans('tags.fields.tags'),
'render' => function($model) {
return $model->tags->count();
},
'disableSort' => true,
],
[
'label' => trans('tags.fields.children'),
'render' => function($model) {
$total = $model->allChildren()->count();
return $total;
},
'disableSort' => true,
],
[
'type' => 'is_private',
]
],
// Data
$models,
// Options
[
'route' => 'tags.tree',
'baseRoute' => 'tags',
'trans' => 'tags.fields.',
'row' => [
'data' => [
'data-children' => function($model) {
return $model->tags->count();
}
]
]
]
) !!}