mirror of
https://github.com/filamentphp/filament.git
synced 2026-09-24 15:42:09 +08:00
feat: grouping sort direction hiding
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
'dropdownOnDesktop' => false,
|
||||
'groups',
|
||||
'triggerAction',
|
||||
'groupingDirectionVisible' => true,
|
||||
'groupingDirectionHidden' => false,
|
||||
])
|
||||
|
||||
@php
|
||||
@@ -72,23 +72,24 @@
|
||||
</x-filament::input.wrapper>
|
||||
</label>
|
||||
|
||||
<label x-cloak x-show="group" class="grid gap-y-2">
|
||||
<span class="{{ $labelClasses }}">
|
||||
{{ __('filament-tables::table.grouping.fields.direction.label') }}
|
||||
</span>
|
||||
@if ($groupingDirectionHidden)
|
||||
<label x-cloak x-show="group" class="grid gap-y-2">
|
||||
<span class="{{ $labelClasses }}">
|
||||
{{ __('filament-tables::table.grouping.fields.direction.label') }}
|
||||
</span>
|
||||
<x-filament::input.wrapper>
|
||||
<x-filament::input.select x-model="direction">
|
||||
<option value="asc">
|
||||
{{ __('filament-tables::table.grouping.fields.direction.options.asc') }}
|
||||
</option>
|
||||
|
||||
<x-filament::input.wrapper>
|
||||
<x-filament::input.select x-model="direction">
|
||||
<option value="asc">
|
||||
{{ __('filament-tables::table.grouping.fields.direction.options.asc') }}
|
||||
</option>
|
||||
|
||||
<option value="desc">
|
||||
{{ __('filament-tables::table.grouping.fields.direction.options.desc') }}
|
||||
</option>
|
||||
</x-filament::input.select>
|
||||
</x-filament::input.wrapper>
|
||||
</label>
|
||||
<option value="desc">
|
||||
{{ __('filament-tables::table.grouping.fields.direction.options.desc') }}
|
||||
</option>
|
||||
</x-filament::input.select>
|
||||
</x-filament::input.wrapper>
|
||||
</label>
|
||||
@endif
|
||||
</div>
|
||||
</x-filament::dropdown>
|
||||
|
||||
@@ -117,25 +118,24 @@
|
||||
</x-filament::input.wrapper>
|
||||
</label>
|
||||
|
||||
<label x-cloak x-show="group">
|
||||
<span class="sr-only">
|
||||
{{ __('filament-tables::table.grouping.fields.direction.label') }}
|
||||
</span>
|
||||
@if ($groupingDirectionHidden)
|
||||
<label x-cloak x-show="group">
|
||||
<span class="sr-only">
|
||||
{{ __('filament-tables::table.grouping.fields.direction.label') }}
|
||||
</span>
|
||||
<x-filament::input.wrapper>
|
||||
<x-filament::input.select x-model="direction">
|
||||
<option value="asc">
|
||||
{{ __('filament-tables::table.grouping.fields.direction.options.asc') }}
|
||||
</option>
|
||||
|
||||
@if ($groupingDirectionVisible)
|
||||
<x-filament::input.wrapper>
|
||||
<x-filament::input.select x-model="direction">
|
||||
<option value="asc">
|
||||
{{ __('filament-tables::table.grouping.fields.direction.options.asc') }}
|
||||
</option>
|
||||
|
||||
<option value="desc">
|
||||
{{ __('filament-tables::table.grouping.fields.direction.options.desc') }}
|
||||
</option>
|
||||
</x-filament::input.select>
|
||||
</x-filament::input.wrapper>
|
||||
@endif
|
||||
</label>
|
||||
<option value="desc">
|
||||
{{ __('filament-tables::table.grouping.fields.direction.options.desc') }}
|
||||
</option>
|
||||
</x-filament::input.select>
|
||||
</x-filament::input.wrapper>
|
||||
</label>
|
||||
@endif
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
$isReorderable = $isReorderable();
|
||||
$isReordering = $isReordering();
|
||||
$areGroupingSettingsVisible = (! $isReordering) && count($groups) && (! $areGroupingSettingsHidden());
|
||||
$isGroupingDirectionVisible = (! $isGroupingDirectionHidden());
|
||||
$isGroupingDirectionHidden = (! $isGroupingDirectionHidden());
|
||||
$isColumnSearchVisible = $isSearchableByColumn();
|
||||
$isGlobalSearchVisible = $isSearchable();
|
||||
$isSearchOnBlur = $isSearchOnBlur();
|
||||
@@ -199,7 +199,7 @@
|
||||
:dropdown-on-desktop="$areGroupingSettingsInDropdownOnDesktop()"
|
||||
:groups="$groups"
|
||||
:trigger-action="$getGroupRecordsTriggerAction()"
|
||||
:grouping-direction-visible="$isGroupingDirectionVisible"
|
||||
:grouping-direction-hidden="$isGroupingDirectionHidden"
|
||||
/>
|
||||
@endif
|
||||
|
||||
|
||||
@@ -58,7 +58,7 @@ trait CanGroupRecords
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function groupingSortDirectionHidden(bool | Closure $condition = true): static
|
||||
public function groupingDirectionHidden(bool | Closure $condition = true): static
|
||||
{
|
||||
$this->isGroupingDirectionHidden = $condition;
|
||||
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
<?php
|
||||
|
||||
use Filament\Tests\Tables\Fixtures\PostsTable;
|
||||
use Filament\Tests\Tables\TestCase;
|
||||
use function Filament\Tests\livewire;
|
||||
|
||||
uses(TestCase::class);
|
||||
|
||||
it('can hide group direction when `groupingDirectionHidden()` method called', function (): void {
|
||||
livewire(PostsTable::class)->assertHasNoErrors()
|
||||
->assertDontSee('<x-filament::input.select x-model="direction">')
|
||||
->assertDontSee(__('filament-tables::table.grouping.fields.direction.options.asc'))
|
||||
->assertDontSee(__('filament-tables::table.grouping.fields.direction.options.desc'));
|
||||
});
|
||||
Reference in New Issue
Block a user