Skip to content

Commit c968a93

Browse files
committed
Refactor global search
Add updated & created columns to tables.
1 parent a687a68 commit c968a93

10 files changed

+102
-13
lines changed

README.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -441,8 +441,6 @@ menu:
441441
- test global search and improve table search and ordering
442442

443443
page:
444-
- Kristof: make table searchable, columns orderable, test global search
445-
- make table searchable, columns orderable, test global search
446444
- laravel scout
447445

448446
release:
@@ -452,6 +450,9 @@ release:
452450
- documentation
453451
- Kristof: screenshots + banner + packagist + slack + filament plugin store
454452

453+
tags:
454+
- check doubles in tag field
455+
455456
future:
456457
- A simple asset manager (include or not?)
457458
- Re-usable content blocks

resources/lang/en/filament-flexible-content-block-pages.php

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
],
1616
'table' => [
1717
'created_at_col' => 'Created at',
18+
'updated_at_col' => 'Updated at',
1819
],
1920
'notifications' => [
2021
'used_in_menu' => 'This is used in the ":menu" menu, in item :menu_item. Please update the menu first and then delete this again.',
@@ -31,6 +32,10 @@
3132
'redirect_new_url' => 'New URL',
3233
'redirect_status_code' => 'Status code',
3334
'nav_group' => 'Settings',
35+
'table' => [
36+
'created_at_col' => 'Created at',
37+
'updated_at_col' => 'Updated at',
38+
],
3439
],
3540
'settings' => [
3641
'settings_lbl' => 'setting',
@@ -61,13 +66,21 @@
6166
'tag_type_plural_lbl' => 'tag types',
6267
'tag_type_lbl' => 'tag type',
6368
'tag_type_is_default_type_lbl' => 'Is default tag type',
69+
'table' => [
70+
'created_at_col' => 'Created at',
71+
'updated_at_col' => 'Updated at',
72+
],
6473
],
6574
'tags' => [
6675
'navigation_group' => 'Settings',
6776
'tag_plural_lbl' => 'tags',
6877
'tag_lbl' => 'tag',
6978
'tag_type_lbl' => 'Tag type',
7079
'tag_type_hint' => 'You can assign a type to use this tag only on certain page types.',
80+
'table' => [
81+
'created_at_col' => 'Created at',
82+
'updated_at_col' => 'Updated at',
83+
],
7184
],
7285
'menus' => [
7386
'lbl' => 'menu',
@@ -93,6 +106,7 @@
93106
'default_depth' => 'Default',
94107
'items_count_col' => 'Items',
95108
'created_at_col' => 'Created at',
109+
'updated_at_col' => 'Updated at',
96110
],
97111
'actions' => [
98112
'manage_items' => 'Manage items',

resources/lang/nl/filament-flexible-content-block-pages.php

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
],
1616
'table' => [
1717
'created_at_col' => 'Aangemaakt op',
18+
'updated_at_col' => 'Aangepast op',
1819
],
1920
'notifications' => [
2021
'used_in_menu' => 'Dit wordt in het ":menu" menu gebruikt, in item :menu_item. Gelieve eerst het menu aan te passen en dan dit opnieuw te verwijderen.',
@@ -30,6 +31,10 @@
3031
'redirect_new_url' => 'Nieuwe URL',
3132
'redirect_status_code' => 'Status code',
3233
'nav_group' => 'Instellingen',
34+
'table' => [
35+
'created_at_col' => 'Aangemaakt op',
36+
'updated_at_col' => 'Aangepast op',
37+
],
3338
],
3439
'settings' => [
3540
'settings_lbl' => 'instelling',
@@ -60,13 +65,21 @@
6065
'tag_type_plural_lbl' => 'tagtypes',
6166
'tag_type_lbl' => 'tagtype',
6267
'tag_type_is_default_type_lbl' => 'Is standaard tagtype',
68+
'table' => [
69+
'created_at_col' => 'Aangemaakt op',
70+
'updated_at_col' => 'Aangepast op',
71+
],
6372
],
6473
'tags' => [
6574
'navigation_group' => 'Instellingen',
6675
'tag_plural_lbl' => 'tags',
6776
'tag_lbl' => 'tag',
6877
'tag_type_lbl' => 'Tag type',
6978
'tag_type_hint' => 'Je kunt een type toewijzen om deze tag alleen op bepaalde paginatypes te gebruiken.',
79+
'table' => [
80+
'created_at_col' => 'Aangemaakt op',
81+
'updated_at_col' => 'Aangepast op',
82+
],
7083
],
7184
'menus' => [
7285
'lbl' => 'menu',
@@ -92,6 +105,7 @@
92105
'default_depth' => 'Standaard',
93106
'items_count_col' => 'Items',
94107
'created_at_col' => 'Aangemaakt op',
108+
'updated_at_col' => 'Aangepast op',
95109
],
96110
'actions' => [
97111
'manage_items' => 'Items beheren',

src/Models/Concerns/HasSearchFilterTrait.php renamed to src/Models/Concerns/HasDatabaseSearchTrait.php

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,17 @@
22

33
namespace Statikbe\FilamentFlexibleContentBlockPages\Models\Concerns;
44

5-
trait HasSearchFilterTrait
5+
use Illuminate\Database\Eloquent\Builder;
6+
7+
trait HasDatabaseSearchTrait
68
{
7-
public function scopeSearch($query, string $search): void
9+
/**
10+
* Searches in database on different fields with LIKE queries.
11+
* @param $query
12+
* @param string $search
13+
* @return void
14+
*/
15+
public function scopeSearch(Builder $query, string $search): void
816
{
917
$search = strtolower($search);
1018
$query->when($search, function ($query, $search) {

src/Models/Page.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
use Illuminate\Database\Eloquent\Model;
88
use Spatie\MediaLibrary\HasMedia;
99
use Statikbe\FilamentFlexibleContentBlockPages\Facades\FilamentFlexibleContentBlockPages;
10-
use Statikbe\FilamentFlexibleContentBlockPages\Models\Concerns\HasSearchFilterTrait;
10+
use Statikbe\FilamentFlexibleContentBlockPages\Models\Concerns\HasDatabaseSearchTrait;
1111
use Statikbe\FilamentFlexibleContentBlockPages\Models\Concerns\HasTitleMenuLabelTrait;
1212
use Statikbe\FilamentFlexibleContentBlockPages\Models\Contracts\HasMenuLabel;
1313
use Statikbe\FilamentFlexibleContentBlockPages\Observers\PageObserver;
@@ -46,7 +46,7 @@ class Page extends Model implements HasCode, HasContentBlocks, HasHeroCallToActi
4646
use HasFactory;
4747
use HasHeroCallToActionsTrait;
4848
use HasParentTrait;
49-
use HasSearchFilterTrait;
49+
use HasDatabaseSearchTrait;
5050
use HasTitleMenuLabelTrait;
5151
use HasTranslatedContentBlocksTrait;
5252
use HasTranslatedHeroImageAttributesTrait;

src/Resources/MenuResource.php

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
use Statikbe\FilamentFlexibleContentBlockPages\Resources\MenuResource\Pages\ListMenus;
2121
use Statikbe\FilamentFlexibleContentBlockPages\Resources\MenuResource\Pages\ManageMenuItems;
2222
use Statikbe\FilamentFlexibleContentBlocks\Filament\Form\Fields\CodeField;
23+
use Statikbe\FilamentFlexibleContentBlocks\FilamentFlexibleBlocksConfig;
2324

2425
class MenuResource extends Resource
2526
{
@@ -131,6 +132,17 @@ public static function table(Table $table): Table
131132
->badge()
132133
->color('gray')
133134
->visible(fn () => count(FilamentFlexibleContentBlockPages::config()->getMenuStyles()) > 1),
135+
136+
TextColumn::make('created_at')
137+
->label(flexiblePagesTrans('menus.table.created_at_col'))
138+
->dateTime(FilamentFlexibleBlocksConfig::getPublishingDateFormatting())
139+
->sortable()
140+
->toggleable(isToggledHiddenByDefault: true),
141+
TextColumn::make('updated_at')
142+
->label(flexiblePagesTrans('menus.table.updated_at_col'))
143+
->dateTime(FilamentFlexibleBlocksConfig::getPublishingDateFormatting())
144+
->sortable()
145+
->toggleable(isToggledHiddenByDefault: true),
134146
])
135147
->filters([
136148
//

src/Resources/PageResource.php

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
use Illuminate\Support\Str;
1717
use Statikbe\FilamentFlexibleContentBlockPages\Actions\LinkedToMenuItemBulkDeleteAction;
1818
use Statikbe\FilamentFlexibleContentBlockPages\Facades\FilamentFlexibleContentBlockPages;
19+
use Statikbe\FilamentFlexibleContentBlockPages\Models\Page;
1920
use Statikbe\FilamentFlexibleContentBlockPages\Resources\PageResource\Pages\CreatePage;
2021
use Statikbe\FilamentFlexibleContentBlockPages\Resources\PageResource\Pages\EditPage;
2122
use Statikbe\FilamentFlexibleContentBlockPages\Resources\PageResource\Pages\ListPages;
@@ -195,7 +196,13 @@ public static function table(Table $table): Table
195196
TextColumn::make('created_at')
196197
->label(flexiblePagesTrans('pages.table.created_at_col'))
197198
->dateTime(FilamentFlexibleBlocksConfig::getPublishingDateFormatting())
198-
->sortable(),
199+
->sortable()
200+
->toggleable(isToggledHiddenByDefault: true),
201+
TextColumn::make('updated_at')
202+
->label(flexiblePagesTrans('pages.table.updated_at_col'))
203+
->dateTime(FilamentFlexibleBlocksConfig::getPublishingDateFormatting())
204+
->sortable()
205+
->toggleable(isToggledHiddenByDefault: true),
199206
PublishedColumn::create()
200207
->sortable(),
201208
])
@@ -255,16 +262,15 @@ public static function getGlobalSearchResultTitle(Model $record): string
255262

256263
public static function getGlobalSearchResultDetails(Model $record): array
257264
{
258-
$published = trans('filament-flexible-content-blocks::filament-flexible-content-blocks.columns.is_published_state_unpublished');
265+
/** @var Page $record */
266+
$published = flexiblePagesTrans('columns.is_published_state_unpublished');
259267
if ($record->isPublished()) {
260-
$published = trans(
261-
'filament-flexible-content-blocks::filament-flexible-content-blocks.columns.is_published_state_published'
262-
);
268+
$published = flexiblePagesTrans('columns.is_published_state_published');
263269
}
264270

265271
return [
266-
trans('filament-flexible-content-blocks::filament-flexible-content-blocks.form_component.intro_lbl') => Str::limit(strip_tags($record->intro)),
267-
trans('filament-flexible-content-blocks::filament-flexible-content-blocks.columns.is_published') => $published,
272+
flexiblePagesTrans('form_component.intro_lbl') => Str::limit(strip_tags($record->intro)),
273+
flexiblePagesTrans('columns.is_published') => $published,
268274
];
269275
}
270276
}

src/Resources/RedirectResource.php

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,12 @@
88
use Filament\Forms\Form;
99
use Filament\Resources\Resource;
1010
use Filament\Tables;
11+
use Filament\Tables\Columns\TextColumn;
1112
use Filament\Tables\Table;
1213
use Illuminate\Http\Response;
1314
use Statikbe\FilamentFlexibleContentBlockPages\Facades\FilamentFlexibleContentBlockPages;
1415
use Statikbe\FilamentFlexibleContentBlockPages\Resources\RedirectResource\Pages;
16+
use Statikbe\FilamentFlexibleContentBlocks\FilamentFlexibleBlocksConfig;
1517

1618
class RedirectResource extends Resource
1719
{
@@ -80,6 +82,16 @@ public static function table(Table $table): Table
8082
->searchable(),
8183
Tables\Columns\TextColumn::make('status_code')
8284
->label(flexiblePagesTrans('redirects.redirect_status_code')),
85+
TextColumn::make('created_at')
86+
->label(flexiblePagesTrans('redirects.table.created_at_col'))
87+
->dateTime(FilamentFlexibleBlocksConfig::getPublishingDateFormatting())
88+
->sortable()
89+
->toggleable(isToggledHiddenByDefault: true),
90+
TextColumn::make('updated_at')
91+
->label(flexiblePagesTrans('redirects.table.updated_at_col'))
92+
->dateTime(FilamentFlexibleBlocksConfig::getPublishingDateFormatting())
93+
->sortable()
94+
->toggleable(isToggledHiddenByDefault: true),
8395
])
8496
->defaultSort('created_at', 'desc')
8597
->filters([

src/Resources/TagResource.php

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
use Statikbe\FilamentFlexibleContentBlockPages\Resources\TagResource\Pages\CreateTag;
1919
use Statikbe\FilamentFlexibleContentBlockPages\Resources\TagResource\Pages\EditTag;
2020
use Statikbe\FilamentFlexibleContentBlockPages\Resources\TagResource\Pages\ListTags;
21+
use Statikbe\FilamentFlexibleContentBlocks\FilamentFlexibleBlocksConfig;
2122

2223
class TagResource extends Resource
2324
{
@@ -97,6 +98,16 @@ public static function table(Table $table): Table
9798
TextColumn::make('tagType.name')
9899
->label(flexiblePagesTrans('tags.tag_type_lbl'))
99100
->badge(),
101+
TextColumn::make('created_at')
102+
->label(flexiblePagesTrans('tags.table.created_at_col'))
103+
->dateTime(FilamentFlexibleBlocksConfig::getPublishingDateFormatting())
104+
->sortable()
105+
->toggleable(isToggledHiddenByDefault: true),
106+
TextColumn::make('updated_at')
107+
->label(flexiblePagesTrans('tags.table.updated_at_col'))
108+
->dateTime(FilamentFlexibleBlocksConfig::getPublishingDateFormatting())
109+
->sortable()
110+
->toggleable(isToggledHiddenByDefault: true),
100111
])
101112
->filters([
102113
//

src/Resources/TagTypeResource.php

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
use Statikbe\FilamentFlexibleContentBlockPages\Resources\TagTypeResource\Pages\EditTagType;
2525
use Statikbe\FilamentFlexibleContentBlockPages\Resources\TagTypeResource\Pages\ListTagTypes;
2626
use Statikbe\FilamentFlexibleContentBlocks\Filament\Form\Fields\CodeField;
27+
use Statikbe\FilamentFlexibleContentBlocks\FilamentFlexibleBlocksConfig;
2728

2829
class TagTypeResource extends Resource
2930
{
@@ -103,6 +104,16 @@ public static function table(Table $table): Table
103104
->label(flexiblePagesTrans('tag_types.tag_type_is_default_type_lbl')),
104105
IconColumn::make('icon')
105106
->label(flexiblePagesTrans('form_component.icon_lbl')),
107+
TextColumn::make('created_at')
108+
->label(flexiblePagesTrans('menu_items.table.created_at_col'))
109+
->dateTime(FilamentFlexibleBlocksConfig::getPublishingDateFormatting())
110+
->sortable()
111+
->toggleable(isToggledHiddenByDefault: true),
112+
TextColumn::make('updated_at')
113+
->label(flexiblePagesTrans('menu_items.table.updated_at_col'))
114+
->dateTime(FilamentFlexibleBlocksConfig::getPublishingDateFormatting())
115+
->sortable()
116+
->toggleable(isToggledHiddenByDefault: true),
106117
])
107118
->filters([
108119
//

0 commit comments

Comments
 (0)