Колонки
Rock.Cms поддерживает несколько типов колонок для вывода в списке ресурсов.
Колонки добавляются в методе columns.
public function columns(): array
{
return [
SelectColumn::make($this)
->addClass('text-center'),
Column::make('id', 'ID')
->sortable(),
EditLinkColumn::make('title', 'Заголовок')
->sortable(),
ActiveColumn::make('active', 'Активность')
->addClass('text-center')
->sortable(),
Column::make('created_at', 'Дата'),
ActionColumn::make('Действия')
->addClass('text-center'),
];
}
Типы колонок
Простой текст
Данный тип выводит без форматирования поле Eloquent модели.
use WebVovan\RockCms\View\Components\Column;
...
Column::make('id', 'ID')
Ссылка на редактирования ресурса
Данный тип оборачивает поле Eloquent модели в ссылку, которая ведет на страницу редактирования ресурса.
use WebVovan\RockCms\View\Components\EditLinkColumn;
...
EditLinkColumn::make('title', 'Заголовок'
Иконка активности
Данный тип показывает иконки активности в зависимости от булева значения поля Eloquent модели.
use WebVovan\RockCms\View\Components\ActiveColumn;
...
ActiveColumn::make('active', 'Активность')
Выбор списка ресурсов
Данный тип добавляет чекбоксы для выбора нескольких ресурсов в списке для их одновременного удаления.
use WebVovan\RockCms\View\Components\SelectColumn;
...
SelectColumn::make($this)
Действия над ресурсом
Данный тип выводит кнопки для удаления, просмотра и редактирования ресурса.
use WebVovan\RockCms\View\Components\ActionColumn;
...
ActionColumn::make('Действия')
По умолчанию выводятся кнопки для редактирования и удаления.
Управлять показом кнопок можно с помощью свойств:
class PostList extends ResourceListComponent
{
// Класс ресурса
public string $resourceClass = Post::class;
// Кнопка редактирования ресурса
public bool $activeEditButton = true;
// Кнопка удаления ресурса
public bool $activeDeleteButton = false;
// Кнопка просмотра ресурса
public bool $activeShowButton = true;
...
}
Замена текста
Заменяет текст из поля на другое значение
ReplaceColumn::make('author', 'Автор')
->setReplaceItems([
'admin' => 'Администратор',
'manager' => 'Менеджер',
])
Дополнительные возможности
Для каждой колонки в таблице можно добавить возможность сортировки, вызвав метод sortable.
EditLinkColumn::make('title', 'Заголовок')->sortable(),
Для добавления пользовательского класса используйте метод addClass.
ActionColumn::make('Действия')->addClass('text-center'),
Last updated