feat: 사용자 목록 테넌트 컬럼 추가 및 컨텍스트 메뉴 개선

- 사용자 목록에 테넌트 컬럼 추가 (기본 테넌트 인디고 배지)
- UserService: tenants 관계 eager loading 추가
- 컨텍스트 메뉴 우클릭 → 좌클릭 변경 (캡처링 방식)
- 전체 blade 파일 툴팁 통일: '클릭하여 메뉴 열기'
- flow-tester 오류 분석 문구 수정
This commit is contained in:
2025-12-09 10:28:46 +09:00
parent b585369889
commit 428d3d9e83
12 changed files with 52 additions and 30 deletions

View File

@@ -1,6 +1,6 @@
/**
* 컨텍스트 메뉴 (클릭 메뉴)
* 테넌트명, 사용자명 등에서 클릭 시 해당 위치에 메뉴 표시
* 컨텍스트 메뉴 (클릭 메뉴)
* 테넌트명, 사용자명 등에서 클릭 시 해당 위치에 메뉴 표시
*/
class ContextMenu {
@@ -15,11 +15,8 @@ class ContextMenu {
this.menuElement = document.getElementById('context-menu');
if (!this.menuElement) return;
// 클릭 이벤트 등록 (이벤트 위임)
document.addEventListener('contextmenu', (e) => this.handleContextMenu(e));
// 클릭 시 메뉴 닫기
document.addEventListener('click', () => this.hide());
// 클릭 이벤트 등록 (캡처링 - 다른 핸들러보다 먼저 실행)
document.addEventListener('click', (e) => this.handleClick(e), true);
// ESC 키로 메뉴 닫기
document.addEventListener('keydown', (e) => {
@@ -30,11 +27,20 @@ class ContextMenu {
document.addEventListener('scroll', () => this.hide(), true);
}
handleContextMenu(e) {
handleClick(e) {
const trigger = e.target.closest('[data-context-menu]');
if (!trigger) return;
// 메뉴 영역 내 클릭은 무시 (메뉴 항목 클릭 허용)
if (e.target.closest('#context-menu')) return;
// 트리거가 아니면 메뉴 숨기기
if (!trigger) {
this.hide();
return;
}
e.preventDefault();
e.stopPropagation();
const menuType = trigger.dataset.contextMenu;
const entityId = trigger.dataset.entityId;