feat: 링크와 백링크 기능 개선 및 겹침 처리 구현
✨ 주요 기능 추가: - 링크 생성 후 즉시 렌더링 (캐시 무효화 수정) - 하이라이트, 링크, 백링크 겹침 시 선택 팝업 메뉴 - 백링크 오프셋 기반 정확한 렌더링 - 링크 렌더링 디버깅 로직 강화 🔧 기술적 개선: - 캐시 무효화 함수 수정 (invalidateRelatedCache 사용) - 텍스트 오프셋 불일치 시 자동 검색 대체 - 겹치는 요소 감지 및 상호작용 처리 - 상세한 디버깅 로그 추가 🎨 UI/UX 개선: - 겹침 메뉴에서 각 요소별 아이콘과 색상 구분 - 클릭된 요소 시각적 표시 - 툴팁과 메뉴 외부 클릭 처리 🐛 버그 수정: - 신규 링크 생성 후 표시되지 않는 문제 해결 - 백링크 렌더링 오프셋 정확성 개선 - 캐시 관련 JavaScript 오류 수정
This commit is contained in:
@@ -1154,6 +1154,13 @@ window.documentViewer = () => ({
|
||||
// 모달 닫기
|
||||
this.showLinkModal = false;
|
||||
|
||||
// 캐시 무효화 (새 링크가 반영되도록)
|
||||
console.log('🗑️ 링크 캐시 무효화 시작...');
|
||||
if (window.cachedApi && window.cachedApi.invalidateRelatedCache) {
|
||||
window.cachedApi.invalidateRelatedCache(`/documents/${this.documentId}/links`, ['links']);
|
||||
console.log('✅ 링크 캐시 무효화 완료');
|
||||
}
|
||||
|
||||
// 링크 목록 새로고침
|
||||
console.log('🔄 링크 목록 새로고침 시작...');
|
||||
await this.linkManager.loadDocumentLinks(this.documentId);
|
||||
@@ -1163,9 +1170,21 @@ window.documentViewer = () => ({
|
||||
|
||||
// 링크 렌더링
|
||||
console.log('🎨 링크 렌더링 시작...');
|
||||
await this.linkManager.renderDocumentLinks();
|
||||
this.linkManager.renderDocumentLinks();
|
||||
console.log('✅ 링크 렌더링 완료');
|
||||
|
||||
// 백링크도 다시 로드하고 렌더링 (새 링크가 다른 문서의 백링크가 될 수 있음)
|
||||
console.log('🔄 백링크 새로고침 시작...');
|
||||
// 백링크 캐시도 무효화
|
||||
if (window.cachedApi && window.cachedApi.invalidateRelatedCache) {
|
||||
window.cachedApi.invalidateRelatedCache(`/documents/${this.documentId}/backlinks`, ['links']);
|
||||
console.log('✅ 백링크 캐시도 무효화 완료');
|
||||
}
|
||||
await this.linkManager.loadBacklinks(this.documentId);
|
||||
this.backlinks = this.linkManager.backlinks || [];
|
||||
this.linkManager.renderBacklinks();
|
||||
console.log('✅ 백링크 새로고침 완료');
|
||||
|
||||
} catch (error) {
|
||||
console.error('링크 생성 실패:', error);
|
||||
console.error('에러 상세:', {
|
||||
|
||||
Reference in New Issue
Block a user