diff --git a/packages/tables/resources/views/index.blade.php b/packages/tables/resources/views/index.blade.php
index f5b85a1b5b..2fb3fb1e37 100644
--- a/packages/tables/resources/views/index.blade.php
+++ b/packages/tables/resources/views/index.blade.php
@@ -45,7 +45,8 @@
$hasColumnsLayout = $hasColumnsLayout();
$hasPageSummary = $hasPageSummary();
$hasAllTableSummary = $hasAllTableSummary();
- $hasSummary = ($hasPageSummary || $hasAllTableSummary) && $hasSummary($this->getAllTableSummaryQuery());
+ $hasSummary = $hasSummary($this->getAllTableSummaryQuery());
+ $hasTopLevelSummary = $hasSummary && ($hasPageSummary || $hasAllTableSummary);
$header = $getHeader();
$headerActions = array_filter(
$getHeaderActions(),
@@ -1330,7 +1331,7 @@
}}
@endif
- @if ($hasSummary && (! $isReordering))
+ @if ($hasTopLevelSummary && (! $isReordering))
assertCanSeeTableRecords($posts->take(10))
->assertTableColumnSummarySet('rating', 'published_sum', $posts->take(10)->where('is_published', true)->sum('rating'), isCurrentPaginationPageOnly: true);
});
+
+it('renders group summaries when page and all-table summaries are disabled', function (): void {
+ Post::factory()->count(5)->create();
+
+ livewire(TestTableWithGroupSummariesOnly::class)
+ ->assertSeeHtml('fi-ta-summary-row')
+ ->assertDontSeeHtml('fi-ta-summary-header-row');
+});
+
+class TestTableWithGroupSummariesOnly extends Component implements HasActions, HasSchemas, Tables\Contracts\HasTable
+{
+ use InteractsWithActions;
+ use InteractsWithSchemas;
+ use Tables\Concerns\InteractsWithTable;
+
+ public function table(Table $table): Table
+ {
+ return $table
+ ->query(Post::query())
+ ->columns([
+ Tables\Columns\TextColumn::make('title'),
+ Tables\Columns\TextColumn::make('rating')
+ ->summarize([
+ Tables\Columns\Summarizers\Sum::make('sum'),
+ ]),
+ ])
+ ->defaultGroup(
+ Tables\Grouping\Group::make('is_published'),
+ )
+ ->summaries(pageCondition: false, allTableCondition: false);
+ }
+
+ public function render(): View
+ {
+ return view('livewire.table');
+ }
+}