13
13
use Filament \Resources \Pages \Page ;
14
14
use Illuminate \Support \Facades \Schema ;
15
15
use Statikbe \FilamentFlexibleContentBlockPages \Facades \FilamentFlexibleContentBlockPages ;
16
- use Statikbe \FilamentFlexibleContentBlockPages \Filament \Form \Fields \ MenuItemField ;
16
+ use Statikbe \FilamentFlexibleContentBlockPages \Filament \Form \Forms \ MenuItemForm ;
17
17
use Statikbe \FilamentFlexibleContentBlockPages \Resources \MenuResource ;
18
18
19
19
class ManageMenuItems extends Page implements HasActions, HasForms
@@ -139,7 +139,7 @@ public function editMenuItemAction(): Action
139
139
140
140
protected function getMenuItemFormSchema (): array
141
141
{
142
- return MenuItemField:: create ()-> getSchema ();
142
+ return MenuItemForm:: getSchema ();
143
143
}
144
144
145
145
public function deleteMenuItem (int $ itemId ): void
@@ -148,9 +148,10 @@ public function deleteMenuItem(int $itemId): void
148
148
$ item = $ this ->getMenuItemSecurely ($ itemId );
149
149
150
150
if (! $ item ) {
151
- $ this ->dispatch ('show-error ' , [
152
- 'message ' => flexiblePagesTrans ('menu_items.errors.item_not_found ' ),
153
- ]);
151
+ Notification::make ()
152
+ ->title (flexiblePagesTrans ('menu_items.errors.item_not_found ' ))
153
+ ->danger ()
154
+ ->send ();
154
155
155
156
return ;
156
157
}
@@ -169,16 +170,19 @@ public function deleteMenuItem(int $itemId): void
169
170
$ item ->delete ();
170
171
171
172
$ this ->dispatch ('menu-items-updated ' );
172
- $ this ->dispatch ('show-success ' , [
173
- 'message ' => flexiblePagesTrans ('menu_items.messages.item_deleted ' ),
174
- ]);
173
+
174
+ Notification::make ()
175
+ ->title (flexiblePagesTrans ('menu_items.messages.item_deleted ' ))
176
+ ->success ()
177
+ ->send ();
175
178
176
179
} catch (Exception $ e ) {
177
- $ this -> dispatch ( ' show-error ' , [
178
- ' message ' => flexiblePagesTrans ('menu_items.errors.delete_failed ' , [
180
+ Notification:: make ()
181
+ -> title ( flexiblePagesTrans ('menu_items.errors.delete_failed ' , [
179
182
'error ' => $ e ->getMessage (),
180
- ]),
181
- ]);
183
+ ]))
184
+ ->danger ()
185
+ ->send ();
182
186
}
183
187
}
184
188
@@ -192,21 +196,25 @@ public function confirmDeleteWithChildren(int $itemId): void
192
196
$ item ->delete ();
193
197
194
198
$ this ->dispatch ('menu-items-updated ' );
195
- $ this ->dispatch ('show-success ' , [
196
- 'message ' => flexiblePagesTrans ('menu_items.messages.item_and_children_deleted ' ),
197
- ]);
199
+
200
+ Notification::make ()
201
+ ->title (flexiblePagesTrans ('menu_items.messages.item_and_children_deleted ' ))
202
+ ->success ()
203
+ ->send ();
198
204
} else {
199
- $ this ->dispatch ('show-error ' , [
200
- 'message ' => flexiblePagesTrans ('menu_items.errors.item_not_found ' ),
201
- ]);
205
+ Notification::make ()
206
+ ->title (flexiblePagesTrans ('menu_items.errors.item_not_found ' ))
207
+ ->danger ()
208
+ ->send ();
202
209
}
203
210
204
211
} catch (Exception $ e ) {
205
- $ this -> dispatch ( ' show-error ' , [
206
- ' message ' => flexiblePagesTrans ('menu_items.errors.delete_failed ' , [
212
+ Notification:: make ()
213
+ -> title ( flexiblePagesTrans ('menu_items.errors.delete_failed ' , [
207
214
'error ' => $ e ->getMessage (),
208
- ]),
209
- ]);
215
+ ]))
216
+ ->danger ()
217
+ ->send ();
210
218
}
211
219
}
212
220
@@ -217,9 +225,10 @@ public function reorderMenuItems(array $orderedItems): void
217
225
->getMenuItemModel ();
218
226
219
227
if (empty ($ orderedItems )) {
220
- $ this ->dispatch ('show-error ' , [
221
- 'message ' => flexiblePagesTrans ('menu_items.errors.no_items_to_reorder ' ),
222
- ]);
228
+ Notification::make ()
229
+ ->title (flexiblePagesTrans ('menu_items.errors.no_items_to_reorder ' ))
230
+ ->danger ()
231
+ ->send ();
223
232
224
233
return ;
225
234
}
@@ -231,9 +240,10 @@ public function reorderMenuItems(array $orderedItems): void
231
240
->count ();
232
241
233
242
if ($ validItems !== count ($ itemIds )) {
234
- $ this ->dispatch ('show-error ' , [
235
- 'message ' => flexiblePagesTrans ('menu_items.errors.invalid_items_in_reorder ' ),
236
- ]);
243
+ Notification::make ()
244
+ ->title (flexiblePagesTrans ('menu_items.errors.invalid_items_in_reorder ' ))
245
+ ->danger ()
246
+ ->send ();
237
247
238
248
return ;
239
249
}
@@ -242,16 +252,19 @@ public function reorderMenuItems(array $orderedItems): void
242
252
$ this ->processNestedSetReorder ($ orderedItems );
243
253
244
254
$ this ->dispatch ('menu-items-updated ' );
245
- $ this ->dispatch ('show-success ' , [
246
- 'message ' => flexiblePagesTrans ('menu_items.messages.items_reordered ' ),
247
- ]);
255
+
256
+ Notification::make ()
257
+ ->title (flexiblePagesTrans ('menu_items.messages.items_reordered ' ))
258
+ ->success ()
259
+ ->send ();
248
260
249
261
} catch (Exception $ e ) {
250
- $ this -> dispatch ( ' show-error ' , [
251
- ' message ' => flexiblePagesTrans ('menu_items.errors.reorder_failed ' , [
262
+ Notification:: make ()
263
+ -> title ( flexiblePagesTrans ('menu_items.errors.reorder_failed ' , [
252
264
'error ' => $ e ->getMessage (),
253
- ]),
254
- ]);
265
+ ]))
266
+ ->danger ()
267
+ ->send ();
255
268
}
256
269
}
257
270
@@ -389,28 +402,31 @@ public function moveMenuItem(int $itemId, ?int $newParentId = null, ?int $afterI
389
402
try {
390
403
$ item = $ this ->getMenuItemSecurely ($ itemId );
391
404
if (! $ item ) {
392
- $ this ->dispatch ('show-error ' , [
393
- 'message ' => flexiblePagesTrans ('menu_items.errors.item_not_found ' ),
394
- ]);
405
+ Notification::make ()
406
+ ->title (flexiblePagesTrans ('menu_items.errors.item_not_found ' ))
407
+ ->danger ()
408
+ ->send ();
395
409
396
410
return ;
397
411
}
398
412
399
413
// Validate depth constraints
400
414
if (! $ this ->validateMenuDepth ($ itemId , $ newParentId )) {
401
- $ this ->dispatch ('show-error ' , [
402
- 'message ' => flexiblePagesTrans ('menu_items.errors.max_depth_exceeded ' ),
403
- ]);
415
+ Notification::make ()
416
+ ->title (flexiblePagesTrans ('menu_items.errors.max_depth_exceeded ' ))
417
+ ->danger ()
418
+ ->send ();
404
419
405
420
return ;
406
421
}
407
422
408
423
if ($ newParentId ) {
409
424
$ parent = $ this ->getMenuItemSecurely ($ newParentId );
410
425
if (! $ parent ) {
411
- $ this ->dispatch ('show-error ' , [
412
- 'message ' => flexiblePagesTrans ('menu_items.errors.parent_not_found ' ),
413
- ]);
426
+ Notification::make ()
427
+ ->title (flexiblePagesTrans ('menu_items.errors.parent_not_found ' ))
428
+ ->danger ()
429
+ ->send ();
414
430
415
431
return ;
416
432
}
@@ -440,16 +456,19 @@ public function moveMenuItem(int $itemId, ?int $newParentId = null, ?int $afterI
440
456
}
441
457
442
458
$ this ->dispatch ('menu-items-updated ' );
443
- $ this ->dispatch ('show-success ' , [
444
- 'message ' => flexiblePagesTrans ('menu_items.messages.item_moved ' ),
445
- ]);
459
+
460
+ Notification::make ()
461
+ ->title (flexiblePagesTrans ('menu_items.messages.item_moved ' ))
462
+ ->success ()
463
+ ->send ();
446
464
447
465
} catch (Exception $ e ) {
448
- $ this -> dispatch ( ' show-error ' , [
449
- ' message ' => flexiblePagesTrans ('menu_items.errors.move_failed ' , [
466
+ Notification:: make ()
467
+ -> title ( flexiblePagesTrans ('menu_items.errors.move_failed ' , [
450
468
'error ' => $ e ->getMessage (),
451
- ]),
452
- ]);
469
+ ]))
470
+ ->danger ()
471
+ ->send ();
453
472
}
454
473
}
455
474
@@ -627,8 +646,8 @@ public function createMenuItem(array $data): void
627
646
->success ()
628
647
->send ();
629
648
630
- // Redirect to refresh the page data
631
- redirect ()-> to ( $ this ->getUrl () );
649
+ // Refresh the menu items tree view
650
+ $ this ->dispatch ( ' menu-items-updated ' );
632
651
633
652
} catch (Exception $ e ) {
634
653
Notification::make ()
@@ -676,8 +695,8 @@ public function updateMenuItem(int $itemId, array $data): void
676
695
->success ()
677
696
->send ();
678
697
679
- // Redirect to refresh the page data
680
- redirect ()-> to ( $ this ->getUrl () );
698
+ // Refresh the menu items tree view
699
+ $ this ->dispatch ( ' menu-items-updated ' );
681
700
682
701
} catch (Exception $ e ) {
683
702
Notification::make ()
0 commit comments