@props([
'actions' => false,
'actionsPosition' => null,
'columns',
'extraHeadingColumn' => false,
'groupsOnly' => false,
'heading',
'placeholderColumns' => true,
'query',
'selectionEnabled' => false,
'selectedState',
'recordCheckboxPosition' => null,
])
@php
use Filament\Support\Enums\Alignment;
use Filament\Tables\Enums\ActionsPosition;
use Filament\Tables\Enums\RecordCheckboxPosition;
@endphp
@if ($placeholderColumns && $actions && in_array($actionsPosition, [ActionsPosition::BeforeCells, ActionsPosition::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()) {
break;
}
$headingColumnSpan++;
}
@endphp
@endif
@foreach ($columns as $column)
@if (($loop->first || $extraHeadingColumn || $groupsOnly || ($loop->iteration > $headingColumnSpan)) && ($placeholderColumns || $column->hasSummary()))
getAlignment()) {
Alignment::Start, 'start' => 'text-start',
Alignment::Center, 'center' => 'text-center',
Alignment::End, 'end' => 'text-end',
Alignment::Left, 'left' => 'text-left',
Alignment::Right, 'right' => 'text-right',
Alignment::Justify, 'justify' => 'text-justify',
default => null,
},
])
>
@if ($loop->first && (! $extraHeadingColumn) && (! $groupsOnly))
{{ $heading }}
@elseif ((! $placeholderColumns) || $column->hasSummary())
@foreach ($column->getSummarizers() as $summarizer)
{{ $summarizer->query($query)->selectedState($selectedState) }}
@endforeach
@endif
@endif
@endforeach
@if ($placeholderColumns && $actions && in_array($actionsPosition, [ActionsPosition::AfterColumns, ActionsPosition::AfterCells]))
@endif
@if ($placeholderColumns && $selectionEnabled && $recordCheckboxPosition === RecordCheckboxPosition::AfterCells)
@endif