@props([
'actions' => false,
'actionsPosition' => null,
'columns',
'extraHeadingColumn' => false,
'groupColumn' => null,
'groupsOnly' => false,
'heading',
'placeholderColumns' => true,
'query',
'selectionEnabled' => false,
'selectedState',
'recordCheckboxPosition' => null,
])
@php
use Filament\Support\Enums\Alignment;
use Filament\Tables\Columns\Column;
use Filament\Tables\Enums\RecordActionsPosition;
use Filament\Tables\Enums\RecordCheckboxPosition;
if ($groupsOnly && $groupColumn) {
$columns = collect($columns)->reject(fn(Column $column): bool => $column->getName() === $groupColumn)->all();
}
@endphp
class(['fi-ta-row fi-ta-summary-row']) }}>
@if (
$placeholderColumns &&
$actions &&
in_array($actionsPosition, [RecordActionsPosition::BeforeCells, RecordActionsPosition::BeforeColumns]))
|
@endif
@if ($placeholderColumns && $selectionEnabled && $recordCheckboxPosition === RecordCheckboxPosition::BeforeCells)
|
@endif
@if ($extraHeadingColumn || $groupsOnly)
{{ $heading }}
|
@else
@php
$headingColumnSpan = 1;
foreach ($columns as $index => $column) {
if ($index === array_key_first($columns)) {
continue;
}
if ($column->hasSummary($query)) {
break;
}
$headingColumnSpan++;
}
@endphp
@endif
@foreach ($columns as $column)
@if (
($loop->first || $extraHeadingColumn || $groupsOnly || $loop->iteration > $headingColumnSpan) &&
($placeholderColumns || $column->hasSummary($query)))
@php
$alignment = $column->getAlignment() ?? Alignment::Start;
if (!$alignment instanceof Alignment) {
$alignment = filled($alignment) ? Alignment::tryFrom($alignment) ?? $alignment : null;
}
@endphp
value}"
: (is_string($alignment)
? $alignment
: ''),
'fi-ta-summary-row-heading-cell' =>
$loop->first && !$extraHeadingColumn && !$groupsOnly,
])>
@if ($loop->first && !$extraHeadingColumn && !$groupsOnly)
{{ $heading }}
@elseif (!$placeholderColumns || $column->hasSummary($query))
@foreach ($column->getSummarizers($query) as $summarizer)
{{ $summarizer->query($query)->selectedState($selectedState) }}
@endforeach
@endif
|
@endif
@endforeach
@if (
$placeholderColumns &&
$actions &&
in_array($actionsPosition, [RecordActionsPosition::AfterColumns, RecordActionsPosition::AfterCells]))
|
@endif
@if ($placeholderColumns && $selectionEnabled && $recordCheckboxPosition === RecordCheckboxPosition::AfterCells)
|
@endif