1313use Filament \Resources \Pages \Page ;
1414use Illuminate \Support \Facades \Schema ;
1515use Statikbe \FilamentFlexibleContentBlockPages \Facades \FilamentFlexibleContentBlockPages ;
16- use Statikbe \FilamentFlexibleContentBlockPages \Filament \Form \Fields \ MenuItemField ;
16+ use Statikbe \FilamentFlexibleContentBlockPages \Filament \Form \Forms \ MenuItemForm ;
1717use Statikbe \FilamentFlexibleContentBlockPages \Resources \MenuResource ;
1818
1919class ManageMenuItems extends Page implements HasActions, HasForms
@@ -139,7 +139,7 @@ public function editMenuItemAction(): Action
139139
140140 protected function getMenuItemFormSchema (): array
141141 {
142- return MenuItemField:: create ()-> getSchema ();
142+ return MenuItemForm:: getSchema ();
143143 }
144144
145145 public function deleteMenuItem (int $ itemId ): void
@@ -148,9 +148,10 @@ public function deleteMenuItem(int $itemId): void
148148 $ item = $ this ->getMenuItemSecurely ($ itemId );
149149
150150 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 ();
154155
155156 return ;
156157 }
@@ -169,16 +170,19 @@ public function deleteMenuItem(int $itemId): void
169170 $ item ->delete ();
170171
171172 $ 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 ();
175178
176179 } 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 ' , [
179182 'error ' => $ e ->getMessage (),
180- ]),
181- ]);
183+ ]))
184+ ->danger ()
185+ ->send ();
182186 }
183187 }
184188
@@ -192,21 +196,25 @@ public function confirmDeleteWithChildren(int $itemId): void
192196 $ item ->delete ();
193197
194198 $ 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 ();
198204 } 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 ();
202209 }
203210
204211 } 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 ' , [
207214 'error ' => $ e ->getMessage (),
208- ]),
209- ]);
215+ ]))
216+ ->danger ()
217+ ->send ();
210218 }
211219 }
212220
@@ -217,9 +225,10 @@ public function reorderMenuItems(array $orderedItems): void
217225 ->getMenuItemModel ();
218226
219227 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 ();
223232
224233 return ;
225234 }
@@ -231,9 +240,10 @@ public function reorderMenuItems(array $orderedItems): void
231240 ->count ();
232241
233242 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 ();
237247
238248 return ;
239249 }
@@ -242,16 +252,19 @@ public function reorderMenuItems(array $orderedItems): void
242252 $ this ->processNestedSetReorder ($ orderedItems );
243253
244254 $ 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 ();
248260
249261 } 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 ' , [
252264 'error ' => $ e ->getMessage (),
253- ]),
254- ]);
265+ ]))
266+ ->danger ()
267+ ->send ();
255268 }
256269 }
257270
@@ -389,28 +402,31 @@ public function moveMenuItem(int $itemId, ?int $newParentId = null, ?int $afterI
389402 try {
390403 $ item = $ this ->getMenuItemSecurely ($ itemId );
391404 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 ();
395409
396410 return ;
397411 }
398412
399413 // Validate depth constraints
400414 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 ();
404419
405420 return ;
406421 }
407422
408423 if ($ newParentId ) {
409424 $ parent = $ this ->getMenuItemSecurely ($ newParentId );
410425 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 ();
414430
415431 return ;
416432 }
@@ -440,16 +456,19 @@ public function moveMenuItem(int $itemId, ?int $newParentId = null, ?int $afterI
440456 }
441457
442458 $ 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 ();
446464
447465 } 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 ' , [
450468 'error ' => $ e ->getMessage (),
451- ]),
452- ]);
469+ ]))
470+ ->danger ()
471+ ->send ();
453472 }
454473 }
455474
@@ -627,8 +646,8 @@ public function createMenuItem(array $data): void
627646 ->success ()
628647 ->send ();
629648
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 ' );
632651
633652 } catch (Exception $ e ) {
634653 Notification::make ()
@@ -676,8 +695,8 @@ public function updateMenuItem(int $itemId, array $data): void
676695 ->success ()
677696 ->send ();
678697
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 ' );
681700
682701 } catch (Exception $ e ) {
683702 Notification::make ()
0 commit comments