import { state } from '../core/state'; import { renderPcList } from './List/PcListView'; import { renderServerList } from './List/ServerListView'; import { renderStorageList } from './List/StorageListView'; import { renderEquipmentList } from './List/EquipmentListView'; import { renderMobileList } from './List/MobileListView'; import { renderSwList } from './List/SwListView'; import { renderCloudList } from './List/CloudListView'; import { renderDomainList } from './List/DomainListView'; import { renderNetworkList } from './List/NetworkListView'; import { renderPcPartList } from './List/PcPartListView'; import { renderPartsMasterList } from './List/PartsMasterListView'; import { renderSpaceInfoList } from './List/SpaceInfoListView'; import { renderGiftList } from './List/GiftListView'; import { renderFacilityList } from './List/FacilityListView'; import { renderCostList } from './List/CostListView'; import { renderUserList } from './List/UserListView'; import { createIcons, Plus, X, LayoutDashboard, Monitor, Server, Database, Laptop, CalendarClock, Key, Cpu, Layers, Users, Paperclip, Edit2, RefreshCcw, BookOpen, Settings } from 'lucide'; /** * 자산 목록 테이블 렌더링 통합 허브 (Vercel Style Normalized) */ export function renderSWTable(mainContent: HTMLElement) { if (!mainContent) return; console.log(`📂 Rendering Table for: ${state.activeCategory} / ${state.activeSubTab}`); mainContent.innerHTML = `
`; const container = document.getElementById('list-view-container')!; try { const tab = state.activeSubTab; if (state.activeCategory === 'hw') { if (tab === 'PC') renderPcList(container); else if (tab === '서버') renderServerList(container); else if (tab === '스토리지') renderStorageList(container); else if (tab === '업무지원장비') renderEquipmentList(container); else if (tab === '네트워크') renderNetworkList(container); else if (tab === 'PC부품') renderPcPartList(container); else if (tab === '부품 마스터') renderPartsMasterList(container); else if (tab === '공간정보장비') renderSpaceInfoList(container); else { container.innerHTML = `
"${tab}" 탭에 대한 하드웨어 리스트 뷰가 정의되지 않았습니다.
`; } } else if (state.activeCategory === 'sw') { if (tab === '외부SW' || tab === '내부SW') { renderSwList(container); } else { container.innerHTML = `
"${tab}" 탭에 대한 소프트웨어 리스트 뷰가 정의되지 않았습니다.
`; } } else if (state.activeCategory === 'ops') { if (tab === '도메인') renderDomainList(container); else if (tab === '클라우드') renderCloudList(container); else if (tab === '비용관리') renderCostList(container); else if (tab === '사용자') renderUserList(container); else { container.innerHTML = `
"${tab}" 탭에 대한 운영지원 리스트 뷰가 정의되지 않았습니다.
`; } } else if (state.activeCategory === 'vip') { if (tab === '선물') renderGiftList(container); else { container.innerHTML = `
내빈/외빈(${tab}) 관리 기능은 현재 준비 중입니다.
`; } } else if (state.activeCategory === 'fac') { if (tab === '사무가구') renderFacilityList(container); else { container.innerHTML = `
시설자산(${tab}) 관리 기능은 현재 준비 중입니다.
`; } } // 전역 아이콘 초기화 createIcons({ icons: { Plus, X, LayoutDashboard, Monitor, Server, Database, Laptop, CalendarClock, Key, Cpu, Layers, Users, Paperclip, Edit2, RefreshCcw, BookOpen, Settings } }); } catch (err: any) { console.error('❌ Error rendering table view:', err); mainContent.innerHTML = `
목록을 불러오는 중 오류가 발생했습니다: ${err?.message || err}
`; } }