All pages

advanced

Record infolist

Draw the card body from Filament infolist entries instead of the default title and description.

Use recordInfolist() to replace the default card title and description with Filament infolist entries. Extend KanbanPage — the schema resolution for per-card infolists is handled for you.

Basic card

php
<?php

use App\Models\Task;
use Asmit\AdvancedKanban\Kanban;
use Filament\Infolists\Components\TextEntry;

public function kanban(Kanban $kanban): Kanban
{
    return $kanban
        ->model(Task::class)
        ->statusField('status')
        ->recordInfolist([
            TextEntry::make('title'),
            TextEntry::make('description'),
        ])
        ->columns([
            // Your columns here
        ]);
}

Actions in infolist

Add Action directly alongside entries:

php
use Filament\Actions\Action;
use Filament\Forms\Components\Textarea;
use Filament\Infolists\Components\TextEntry;

->recordInfolist(function (Task $record): array {
    $priority = match ($record->priority) {
        'high' => ['label' => 'High', 'color' => 'warning'],
        'urgent' => ['label' => 'Urgent', 'color' => 'danger'],
        default => ['label' => $record->priority, 'color' => 'gray'],
    };

    return [
        TextEntry::make('title'),

        TextEntry::make('priority')
            ->hiddenLabel()
            ->badge()
            ->formatStateUsing(fn (): string => $priority['label'])
            ->color($priority['color'])
            ->visible(in_array($record->priority, ['high', 'urgent'], strict: true))
            ->grow(false),

        Action::make('comment')
            ->label('Comment')
            ->schema([
                Textarea::make('body')->required(),
            ])
            ->action(fn (Task $record, array $data) => $record->comments()->create($data)),
    ];
})

The record is available on the action closure — you do not pass it manually.

vs record actions

Record actionsInfolist actions
WhereCard menu — recordActions()Inside the card body — recordInfolist()
Best forEdit, delete, replicate, move to topAn action tied to a specific field