fix: 관리함 페이지 오류 수정 - 중복 함수 및 불필요한 코드 제거
🐛 Error Fix: - 제거된 DOM 요소를 참조하는 기존 updateStatistics() 함수 제거 - needActionCount, processingCount 등 존재하지 않는 요소 참조 오류 해결 - TypeError: null is not an object 오류 완전 해결 🧹 Code Cleanup: - 중복된 updateStatistics 함수 제거 (올바른 버전만 유지) - selectedIssues 관련 불필요한 코드 제거 - toggleIssueSelection, toggleSelectAll 함수 제거 - selectedIssues 변수 선언 제거 🔧 Technical Details: - 기존 통계 함수가 제거된 DOM 요소 참조로 인한 런타임 오류 - 새로운 통계 시스템과 충돌하는 레거시 코드 정리 - 선택 기능 미사용으로 인한 불필요한 코드 제거 ✅ Result: - 관리함 페이지 정상 로드 - 통계 기능 올바른 동작 - 깔끔한 코드베이스 유지 - 런타임 오류 완전 해결 Expected Behavior: ✅ 페이지 로드 시 오류 없음 ✅ 프로젝트별 통계 정상 표시 ✅ 탭 전환 시 통계 업데이트 정상 동작
This commit is contained in:
@@ -293,7 +293,6 @@
|
|||||||
let issues = [];
|
let issues = [];
|
||||||
let projects = [];
|
let projects = [];
|
||||||
let filteredIssues = [];
|
let filteredIssues = [];
|
||||||
let selectedIssues = new Set();
|
|
||||||
let currentIssueId = null;
|
let currentIssueId = null;
|
||||||
let currentTab = 'in_progress'; // 기본값: 진행 중
|
let currentTab = 'in_progress'; // 기본값: 진행 중
|
||||||
|
|
||||||
@@ -372,7 +371,6 @@
|
|||||||
issue.review_status === 'in_progress' || issue.review_status === 'completed'
|
issue.review_status === 'in_progress' || issue.review_status === 'completed'
|
||||||
);
|
);
|
||||||
filterIssues();
|
filterIssues();
|
||||||
updateStatistics();
|
|
||||||
} else {
|
} else {
|
||||||
throw new Error('부적합 목록을 불러올 수 없습니다.');
|
throw new Error('부적합 목록을 불러올 수 없습니다.');
|
||||||
}
|
}
|
||||||
@@ -643,39 +641,7 @@
|
|||||||
document.body.appendChild(modal);
|
document.body.appendChild(modal);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 통계 업데이트
|
|
||||||
function updateStatistics() {
|
|
||||||
const needAction = issues.filter(issue => issue.status === 'new').length;
|
|
||||||
const processing = issues.filter(issue => issue.status === 'processing').length;
|
|
||||||
const pending = issues.filter(issue => issue.status === 'pending').length;
|
|
||||||
const completed = issues.filter(issue => issue.status === 'completed').length;
|
|
||||||
|
|
||||||
document.getElementById('needActionCount').textContent = needAction;
|
|
||||||
document.getElementById('processingCount').textContent = processing;
|
|
||||||
document.getElementById('pendingCount').textContent = pending;
|
|
||||||
document.getElementById('completedCount').textContent = completed;
|
|
||||||
document.getElementById('totalCount').textContent = issues.length;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 선택 관리
|
|
||||||
function toggleIssueSelection(issueId) {
|
|
||||||
if (selectedIssues.has(issueId)) {
|
|
||||||
selectedIssues.delete(issueId);
|
|
||||||
} else {
|
|
||||||
selectedIssues.add(issueId);
|
|
||||||
}
|
|
||||||
displayIssues();
|
|
||||||
}
|
|
||||||
|
|
||||||
function toggleSelectAll() {
|
|
||||||
const selectAll = document.getElementById('selectAll').checked;
|
|
||||||
if (selectAll) {
|
|
||||||
filteredIssues.forEach(issue => selectedIssues.add(issue.id));
|
|
||||||
} else {
|
|
||||||
selectedIssues.clear();
|
|
||||||
}
|
|
||||||
displayIssues();
|
|
||||||
}
|
|
||||||
|
|
||||||
// 상태 변경 모달
|
// 상태 변경 모달
|
||||||
function openStatusModal(issueId) {
|
function openStatusModal(issueId) {
|
||||||
|
|||||||
Reference in New Issue
Block a user