@props([ 'actions' => false, 'actionsPosition' => null, 'allTableSummary' => true, 'columns', 'extraHeadingColumn' => false, 'groupColumn' => null, 'groupsOnly' => false, 'pageSummary' => true, 'placeholderColumns' => true, 'pluralModelLabel', 'recordCheckboxPosition' => null, 'records', 'selectionEnabled' => false, ]) @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(); } $hasPageSummary = $pageSummary && !$groupsOnly && $records instanceof \Illuminate\Contracts\Pagination\Paginator && $records->hasPages(); $pageTableSummaryQuery = $hasPageSummary ? $this->getPageTableSummaryQuery() : null; $allTableSummaryQuery = $allTableSummary ? $this->getAllTableSummaryQuery() : null; @endphp @if ($hasPageSummary) @if ( $placeholderColumns && $actions && in_array($actionsPosition, [RecordActionsPosition::BeforeCells, RecordActionsPosition::BeforeColumns])) @endif @if ($placeholderColumns && $selectionEnabled && $recordCheckboxPosition === RecordCheckboxPosition::BeforeCells) @endif @if ($extraHeadingColumn) {{ __('filament-tables::table.summary.heading', ['label' => $pluralModelLabel]) }} @endif @foreach ($columns as $column) @php $columnHasSummary = ($pageTableSummaryQuery && $column->hasSummary($pageTableSummaryQuery)) || $column->hasSummary($allTableSummaryQuery); @endphp @if ($placeholderColumns || $columnHasSummary) @php $alignment = $column->getAlignment() ?? Alignment::Start; if (!$alignment instanceof Alignment) { $alignment = filled($alignment) ? Alignment::tryFrom($alignment) ?? $alignment : null; } $hasColumnHeaderLabel = !$placeholderColumns || $columnHasSummary; @endphp getExtraHeaderAttributeBag()->class([ 'fi-ta-cell fi-ta-summary-header-cell', 'fi-wrapped' => $column->canHeaderWrap(), $alignment instanceof Alignment ? "fi-align-{$alignment->value}" : (is_string($alignment) ? $alignment : '') => !($loop->first && !$extraHeadingColumn) && $hasColumnHeaderLabel, ]) }}> @if ($loop->first && !$extraHeadingColumn) {{ __('filament-tables::table.summary.heading', ['label' => $pluralModelLabel]) }} @elseif ($hasColumnHeaderLabel) {{ $column->getLabel() }} @endif @endif @endforeach @if ( $placeholderColumns && $actions && in_array($actionsPosition, [RecordActionsPosition::AfterColumns, RecordActionsPosition::AfterCells])) @endif @if ($placeholderColumns && $selectionEnabled && $recordCheckboxPosition === RecordCheckboxPosition::AfterCells) @endif @php $selectedState = $this->getTableSummarySelectedState($pageTableSummaryQuery)[0] ?? []; @endphp @endif @if ($allTableSummary) @php $selectedState = $this->getTableSummarySelectedState($allTableSummaryQuery)[0] ?? []; @endphp !$hasPageSummary, ]) /> @endif