feat: 링크와 백링크 기능 개선 및 겹침 처리 구현

 주요 기능 추가:
- 링크 생성 후 즉시 렌더링 (캐시 무효화 수정)
- 하이라이트, 링크, 백링크 겹침 시 선택 팝업 메뉴
- 백링크 오프셋 기반 정확한 렌더링
- 링크 렌더링 디버깅 로직 강화

🔧 기술적 개선:
- 캐시 무효화 함수 수정 (invalidateRelatedCache 사용)
- 텍스트 오프셋 불일치 시 자동 검색 대체
- 겹치는 요소 감지 및 상호작용 처리
- 상세한 디버깅 로그 추가

🎨 UI/UX 개선:
- 겹침 메뉴에서 각 요소별 아이콘과 색상 구분
- 클릭된 요소 시각적 표시
- 툴팁과 메뉴 외부 클릭 처리

🐛 버그 수정:
- 신규 링크 생성 후 표시되지 않는 문제 해결
- 백링크 렌더링 오프셋 정확성 개선
- 캐시 관련 JavaScript 오류 수정
This commit is contained in:
Hyungi Ahn
2025-09-02 13:42:01 +09:00
parent 222e5bcb9e
commit 397c63979d
4 changed files with 351 additions and 108 deletions

View File

@@ -235,11 +235,21 @@ class HighlightManager {
span.style.cursor = 'help';
}
// 하이라이트 클릭 이벤트 추가
// 하이라이트 클릭 이벤트 추가 (겹치는 요소 감지)
span.style.cursor = 'pointer';
span.addEventListener('click', (e) => {
e.preventDefault();
e.stopPropagation();
// 겹치는 링크나 백링크가 있는지 확인
if (window.documentViewerInstance && window.documentViewerInstance.linkManager) {
const overlappingElements = window.documentViewerInstance.linkManager.findOverlappingElements(span);
if (overlappingElements.length > 0) {
window.documentViewerInstance.linkManager.showOverlapMenu(e, span, overlappingElements, 'highlight');
return;
}
}
this.showHighlightModal(highlights);
});