feat: 메뉴 드래그 앤 드롭 정렬 기능 추가
- MenuService.reorderMenus() 메서드 추가 - MenuController.reorder() API 엔드포인트 추가 - POST /api/admin/menus/reorder 라우트 추가 - SortableJS 기반 드래그 앤 드롭 UI 구현 - 같은 부모 메뉴 내에서만 순서 변경 가능 (계층 구조 유지)
This commit is contained in:
@@ -321,4 +321,23 @@ public function toggleHidden(int $id): bool
|
||||
|
||||
return $menu->save();
|
||||
}
|
||||
|
||||
/**
|
||||
* 메뉴 순서 변경 (드래그앤드롭)
|
||||
* 같은 parent_id 내에서만 순서 변경
|
||||
*/
|
||||
public function reorderMenus(array $items): bool
|
||||
{
|
||||
return \DB::transaction(function () use ($items) {
|
||||
foreach ($items as $item) {
|
||||
Menu::where('id', $item['id'])
|
||||
->update([
|
||||
'sort_order' => $item['sort_order'],
|
||||
'updated_by' => auth()->id(),
|
||||
]);
|
||||
}
|
||||
|
||||
return true;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user