diff --git a/app/Http/Controllers/Api/Admin/DepartmentController.php b/app/Http/Controllers/Api/Admin/DepartmentController.php index a0980b64..66bc3345 100644 --- a/app/Http/Controllers/Api/Admin/DepartmentController.php +++ b/app/Http/Controllers/Api/Admin/DepartmentController.php @@ -18,20 +18,16 @@ public function __construct( /** * 부서 목록 조회 */ - public function index(Request $request): JsonResponse + public function index(Request $request): JsonResponse|\Illuminate\View\View { $departments = $this->departmentService->getDepartments( $request->all(), $request->integer('per_page', 10) ); - // HTMX 요청 시 HTML 반환 + // HTMX 요청 시 HTML 직접 반환 if ($request->header('HX-Request')) { - $html = view('departments.partials.table', compact('departments'))->render(); - - return response()->json([ - 'html' => $html, - ]); + return view('departments.partials.table', compact('departments')); } // 일반 요청 시 JSON 반환 diff --git a/app/Http/Controllers/Api/Admin/MenuController.php b/app/Http/Controllers/Api/Admin/MenuController.php index d3d03fac..9d207b43 100644 --- a/app/Http/Controllers/Api/Admin/MenuController.php +++ b/app/Http/Controllers/Api/Admin/MenuController.php @@ -34,11 +34,9 @@ public function index(Request $request): JsonResponse|\Illuminate\Http\Response ); } - // HTMX 요청인 경우 HTML 직접 반환 (JSON 래핑 없이) + // HTMX 요청인 경우 HTML 직접 반환 if ($request->header('HX-Request')) { - $html = view('menus.partials.table', compact('menus', 'importMode'))->render(); - - return response($html)->header('Content-Type', 'text/html'); + return view('menus.partials.table', compact('menus', 'importMode')); } // 일반 API 요청인 경우 JSON 반환 diff --git a/resources/views/departments/index.blade.php b/resources/views/departments/index.blade.php index cbc023e6..f48eb6eb 100644 --- a/resources/views/departments/index.blade.php +++ b/resources/views/departments/index.blade.php @@ -70,16 +70,6 @@ class="bg-white rounded-lg shadow-sm overflow-hidden"> htmx.trigger('#department-table', 'filterSubmit'); }); - // HTMX 응답 처리 - document.body.addEventListener('htmx:afterSwap', function(event) { - if (event.detail.target.id === 'department-table') { - const response = JSON.parse(event.detail.xhr.response); - if (response.html) { - event.detail.target.innerHTML = response.html; - } - } - }); - // 삭제 확인 window.confirmDelete = function(id, name) { showDeleteConfirm(name, () => { diff --git a/resources/views/partials/sidebar.blade.php b/resources/views/partials/sidebar.blade.php index 52b7628a..81b3b22f 100644 --- a/resources/views/partials/sidebar.blade.php +++ b/resources/views/partials/sidebar.blade.php @@ -63,7 +63,12 @@ class="w-full border-gray-300 rounded-lg text-sm focus:ring-primary focus:border -