Skip to content

Commit 7f564b5

Browse files
committed
Enhance search functionality by adding description and assignedTo.name fields to searchable criteria; improve filter handling in blade template for better user experience.
1 parent b015012 commit 7f564b5

File tree

2 files changed

+36
-19
lines changed

2 files changed

+36
-19
lines changed

resources/views/components/filters.blade.php

Lines changed: 31 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,14 @@
1-
@php use Illuminate\View\ComponentAttributeBag;use function Filament\Support\prepare_inherited_attributes; @endphp
2-
{{-- Native Filament table filters with dynamic width support --}}
3-
@if(method_exists($this, 'getTable') && $this->getTable()->isFilterable())
4-
<div class="fi-ta-header-toolbar mb-4">
5-
<div class="fi-ta-actions fi-align-start fi-wrapped">
6-
{{-- Use Filament's exact filter system with configurable width --}}
1+
@php
2+
use Illuminate\View\ComponentAttributeBag;use function Filament\Support\prepare_inherited_attributes;
3+
$isFilterable = $this->getTable()->isFilterable();
4+
$isFiltered = $this->getTable()->isFiltered();
5+
$isSearchable = $this->getTable()->isSearchable();
6+
@endphp
7+
8+
9+
<div class="fi-ta-header-toolbar mb-4 ms-2">
10+
<div class="fi-ta-actions fi-align-start fi-wrapped space-x-4 mb-2">
11+
@if($isFilterable)
712
<x-filament::dropdown
813
placement="bottom-start"
914
:width="$this->getTable()->getFiltersFormWidth()"
@@ -50,17 +55,25 @@ class="fi-ta-filters-dropdown z-40"
5055
</div>
5156

5257
</x-filament::dropdown>
58+
@endif
5359

54-
{{-- Native filter indicators --}}
55-
@if($this->getTable()->isFiltered())
56-
<div class="fi-ta-filter-indicators flex gap-1">
57-
@foreach($this->getTable()->getFilterIndicators() as $indicator)
58-
<x-filament::badge color="primary" size="sm">
59-
{{ $indicator->getLabel() }}
60-
</x-filament::badge>
61-
@endforeach
62-
</div>
63-
@endif
64-
</div>
60+
@if($isSearchable)
61+
{{-- Search input --}}
62+
<x-filament-tables::search-field
63+
:debounce="$this->getTable()->getSearchDebounce()"
64+
:on-blur="$this->getTable()->isSearchOnBlur()"
65+
:placeholder="$this->getTable()->getSearchPlaceholder()"
66+
/>
67+
@endif
6568
</div>
66-
@endif
69+
70+
@if($isFiltered)
71+
<div class="fi-ta-filter-indicators flex gap-1">
72+
@foreach($this->getTable()->getFilterIndicators() as $indicator)
73+
<x-filament::badge color="primary" size="sm">
74+
{{ $indicator->getLabel() }}
75+
</x-filament::badge>
76+
@endforeach
77+
</div>
78+
@endif
79+
</div>

src/Concerns/HasTableFromBoard.php

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
namespace Relaticle\Flowforge\Concerns;
66

7+
use Filament\Tables\Columns\Column;
78
use Filament\Tables\Concerns\InteractsWithTable;
89
use Filament\Tables\Table;
910

@@ -22,11 +23,14 @@ public function table(Table $table): Table
2223
{
2324
$board = $this->getBoard();
2425

26+
$searchableColumns = collect($board->getSearchableFields())->map(fn ($field) => Column::make($field)->searchable())->toArray();
27+
2528
return $table
2629
->query($board->getQuery())
2730
->filters($board->getBoardFilters())
2831
->filtersFormWidth($board->getFiltersFormWidth())
2932
->filtersFormColumns($board->getFiltersFormColumns())
30-
->filtersLayout($board->getFiltersLayout());
33+
->filtersLayout($board->getFiltersLayout())
34+
->columns($searchableColumns);
3135
}
3236
}

0 commit comments

Comments
 (0)