- Notion 스타일 좌우 드래그로 계층 이동 방식 변경
- → 오른쪽 드래그: 상위 메뉴의 하위로 이동 (파란색 하이라이트)
- ← 왼쪽 드래그: 상위 레벨로 이동 (주황색 하이라이트)
- 드래그 인디케이터 툴팁 추가 (인덴트/아웃덴트/순서변경)
- CSS 펄스 애니메이션으로 타겟 행 강조
- updateRowHighlight 함수 수정: 아웃덴트 시 드래그 중인 행 하이라이트
- MenuService.moveMenu() 메서드 추가 (부모 변경 + 하위 메뉴 유지)
- POST /api/admin/menus/move API 엔드포인트 추가
- 순환 참조 방지 로직 구현
- Shift+드래그로 위 메뉴의 하위로 이동 가능
- 사용법 안내 UI 추가
- MenuService.reorderMenus() 메서드 추가
- MenuController.reorder() API 엔드포인트 추가
- POST /api/admin/menus/reorder 라우트 추가
- SortableJS 기반 드래그 앤 드롭 UI 구현
- 같은 부모 메뉴 내에서만 순서 변경 가능 (계층 구조 유지)
- public/js/menu-tree.js 공통 스크립트 생성
- 테이블(tr.menu-row) / div(.menu-item) 둘 다 지원
- toggleChildren, hideChildren, showChildren 함수 통합
- 권한 관리 페이지들 메뉴 트리 디자인 통일
- role-permissions, department-permissions, user-permissions
- 폴더/파일 아이콘, 접기/펼치기 버튼, chevron 아이콘
- menu-row 클래스 및 data 속성 추가
- permission-analyze 접기/펼치기 기능 추가
- data-parent-id, data-depth 속성 추가
- 폴더 버튼 클릭으로 하위 메뉴 토글
- menus 페이지 스크립트 공통화
- 각 페이지 중복 코드 제거 및 공통 menu-tree.js 로드
- 테넌트 선택을 각 페이지에서 헤더로 통합 이동
- 페이지 제목 이모지 제거 및 상단 여백(mt-6) 축소
- 역할 권한 관리 페이지 레이아웃을 다른 페이지와 통일
- 메뉴명 스타일 개선 (depth 들여쓰기, └ 기호 적용)
- 상위 메뉴 컬럼 제거로 테이블 간소화
- RolePermissionService에 depth 계산 로직 추가
- pagination.js를 body 끝으로 이동하여 로딩 오류 해결
- 역할 선택 UI를 셀렉트박스에서 버튼 형태로 변경
- 역할 버튼 hover 효과 개선 (선택된 버튼 가독성 향상)
변경된 파일:
- resources/views/partials/header.blade.php: 테넌트 선택 UI 추가
- resources/views/dashboard|menus|users|departments|permissions|roles/index.blade.php: tenant-selector 제거, 여백 축소
- resources/views/layouts/app.blade.php: pagination.js 위치 변경
- app/Services/RolePermissionService.php: depth 계산 로직 추가
- resources/views/role-permissions/: 역할 권한 관리 페이지 개선
- routes/web.php, routes/api.php: 역할 권한 관리 라우트 추가
- 트리 구조 정렬 및 표시 (무제한 depth 지원)
- 접기/펼치기 기능 추가 (재귀적 처리)
- 활성/숨김 상태 토글 기능 (실시간 업데이트)
- 테넌트 필터링 (전체 선택 시 마스터 메뉴만 표시)
- UI 개선 (토글 버튼, 외부 메뉴 표시)
추가된 파일:
- MenuService: 비즈니스 로직 처리
- MenuController (API/Web): 라우트 처리
- MenuRequest: 유효성 검증
- views/menus/: 메뉴 관리 뷰
수정된 파일:
- routes/api.php, web.php: 메뉴 라우트 추가