Files
jongryangje/docs/기본 개발계획/26-메뉴_드래그_정렬_기능.md
2026-04-08 00:23:55 +09:00

1.3 KiB

메뉴 목록 드래그 정렬 기능

목적

  • 관리자 메뉴 관리 화면에서 상위/하위 메뉴 행을 마우스로 드래그해 순서를 쉽게 변경한다.
  • 변경된 순서를 기존 순서 적용 버튼으로 저장한다.

적용 범위

  • 화면: admin/menus (app/Views/admin/menu/index.php)
  • 서버 정렬 조회: app/Models/MenuModel.php

구현 내용

  • 메뉴 목록 테이블에 드래그 핸들() 컬럼 추가.
  • 각 메뉴 행에 HTML5 DnD(draggable="true") 적용.
  • 드래그 중 마우스 위치 기준으로 행을 실시간 재배치.
  • 행 순서가 바뀌면 화면의 순번(#)을 즉시 갱신.
  • 저장은 기존과 동일하게 mm_idx[] 순서로 POST /admin/menus/move 호출.
  • 목록 조회 정렬을 mm_num ASC 기준으로 변경하여 드래그 저장 결과가 그대로 반영되도록 수정.

사용 방법

  1. 메뉴 관리 화면에서 원하는 행을 드래그한다.
  2. 원하는 위치로 놓는다.
  3. 순서 적용 버튼을 눌러 저장한다.

동작 규칙/제약

  • 드래그는 행 단위 정렬만 수행한다.
  • 부모/자식 관계(mm_pidx, mm_dep)는 변경하지 않는다.
  • 즉, 구조 변경이 아니라 표시/노출 순서(mm_num)만 변경한다.

참고

  • 하위 메뉴의 추가는 1차 메뉴에서만 가능하도록 기존 정책 유지.