메뉴 관리 HTMX 에러 수정 및 개발도구 메뉴 동적 렌더링

- HTMX 응답 에러 수정: JSON 래핑 대신 HTML 직접 반환
  - MenuController, GlobalMenuController의 index 메소드 수정
  - index.blade.php, global-index.blade.php의 JSON 파싱 로직 제거

- 메뉴 options 필드 검증 추가
  - StoreMenuRequest, UpdateMenuRequest에 options 필드 추가
  - section 변경이 정상 저장되도록 수정

- 개발도구 메뉴 하드코딩 제거, DB 기반 동적 렌더링
  - sidebar.blade.php에서 하드코딩된 메뉴 제거
  - tools-menu.blade.php 컴포넌트 신규 생성
  - section=tools 메뉴가 하단 고정 영역에 동적 표시
This commit is contained in:
2025-12-18 11:19:07 +09:00
parent 7205826db1
commit c94e1cff41
8 changed files with 90 additions and 52 deletions

View File

@@ -18,7 +18,7 @@ public function __construct(
/**
* 메뉴 목록 조회
*/
public function index(Request $request): JsonResponse
public function index(Request $request): JsonResponse|\Illuminate\Http\Response
{
$tenantId = session('selected_tenant_id');
$importMode = $request->get('mode') === 'import' && $tenantId;
@@ -34,11 +34,11 @@ public function index(Request $request): JsonResponse
);
}
// HTMX 요청인 경우 HTML 반환
// HTMX 요청인 경우 HTML 직접 반환 (JSON 래핑 없이)
if ($request->header('HX-Request')) {
$html = view('menus.partials.table', compact('menus', 'importMode'))->render();
return response()->json(['html' => $html]);
return response($html)->header('Content-Type', 'text/html');
}
// 일반 API 요청인 경우 JSON 반환