fix: 품목기준관리 타입 에러 및 무한 로딩 버그 수정
- 55개 타입 에러 수정 (MasterOption/UnitOption 타입 통일) - 다이얼로그 컴포넌트 import 누락 수정 (15개) - useInitialDataLoading 무한 로딩 버그 수정 (useRef 적용) - 미사용 변수 _ prefix 처리 - 미사용 ItemMasterDialogs export 제거 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -18,6 +18,23 @@ import { Button } from '@/components/ui/button';
|
||||
import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card';
|
||||
import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs';
|
||||
|
||||
// 다이얼로그 컴포넌트 import
|
||||
import { TabManagementDialogs } from './ItemMasterDataManagement/dialogs/TabManagementDialogs';
|
||||
import { OptionDialog } from './ItemMasterDataManagement/dialogs/OptionDialog';
|
||||
import { ColumnManageDialog } from './ItemMasterDataManagement/dialogs/ColumnManageDialog';
|
||||
import { PathEditDialog } from './ItemMasterDataManagement/dialogs/PathEditDialog';
|
||||
import { PageDialog } from './ItemMasterDataManagement/dialogs/PageDialog';
|
||||
import { SectionDialog } from './ItemMasterDataManagement/dialogs/SectionDialog';
|
||||
import { FieldDialog } from './ItemMasterDataManagement/dialogs/FieldDialog';
|
||||
import { FieldDrawer } from './ItemMasterDataManagement/dialogs/FieldDrawer';
|
||||
import { ColumnDialog } from './ItemMasterDataManagement/dialogs/ColumnDialog';
|
||||
import { MasterFieldDialog } from './ItemMasterDataManagement/dialogs/MasterFieldDialog';
|
||||
import { SectionTemplateDialog } from './ItemMasterDataManagement/dialogs/SectionTemplateDialog';
|
||||
import { TemplateFieldDialog } from './ItemMasterDataManagement/dialogs/TemplateFieldDialog';
|
||||
import { LoadTemplateDialog } from './ItemMasterDataManagement/dialogs/LoadTemplateDialog';
|
||||
import { ImportSectionDialog } from './ItemMasterDataManagement/dialogs/ImportSectionDialog';
|
||||
import { ImportFieldDialog } from './ItemMasterDataManagement/dialogs/ImportFieldDialog';
|
||||
|
||||
// 커스텀 훅 import
|
||||
import {
|
||||
usePageManagement,
|
||||
@@ -54,30 +71,30 @@ const INPUT_TYPE_OPTIONS = [
|
||||
export function ItemMasterDataManagement() {
|
||||
const {
|
||||
itemPages,
|
||||
loadItemPages,
|
||||
loadItemPages: _loadItemPages,
|
||||
updateItemPage,
|
||||
deleteItemPage,
|
||||
deleteItemPage: _deleteItemPage,
|
||||
updateSection,
|
||||
deleteSection,
|
||||
reorderFields,
|
||||
deleteSection: _deleteSection,
|
||||
reorderFields: _reorderFields,
|
||||
itemMasterFields,
|
||||
loadItemMasterFields,
|
||||
loadItemMasterFields: _loadItemMasterFields,
|
||||
sectionTemplates,
|
||||
loadSectionTemplates,
|
||||
resetAllData,
|
||||
loadSectionTemplates: _loadSectionTemplates,
|
||||
resetAllData: _resetAllData,
|
||||
// 2025-11-26 추가: 독립 엔티티 관리
|
||||
independentSections,
|
||||
loadIndependentSections,
|
||||
loadIndependentFields,
|
||||
loadIndependentSections: _loadIndependentSections,
|
||||
loadIndependentFields: _loadIndependentFields,
|
||||
refreshIndependentSections,
|
||||
refreshIndependentFields,
|
||||
linkSectionToPage,
|
||||
linkFieldToSection,
|
||||
unlinkFieldFromSection,
|
||||
linkSectionToPage: _linkSectionToPage,
|
||||
linkFieldToSection: _linkFieldToSection,
|
||||
unlinkFieldFromSection: _unlinkFieldFromSection,
|
||||
getSectionUsage,
|
||||
getFieldUsage,
|
||||
cloneSection,
|
||||
reorderSections,
|
||||
cloneSection: _cloneSection,
|
||||
reorderSections: _reorderSections,
|
||||
// 2025-11-27 추가: BOM 항목 API 함수
|
||||
addBOMItem,
|
||||
updateBOMItem,
|
||||
@@ -368,10 +385,10 @@ export function ItemMasterDataManagement() {
|
||||
|
||||
// 2025-12-24: 신규 훅에서 가져온 핸들러 래퍼
|
||||
const handleImportSection = async () => handleImportSectionFromHook(selectedPageId);
|
||||
const handleImportField = async () => handleImportFieldFromHook(selectedPage);
|
||||
const moveSection = async (dragIndex: number, hoverIndex: number) => moveSectionFromHook(selectedPage, dragIndex, hoverIndex);
|
||||
const moveField = async (sectionId: number, dragFieldId: number, hoverFieldId: number) => moveFieldFromHook(selectedPage, sectionId, dragFieldId, hoverFieldId);
|
||||
const handleResetAllData = () => handleResetAllDataFromHook(
|
||||
const handleImportField = async () => handleImportFieldFromHook(selectedPage ?? null);
|
||||
const moveSection = async (dragIndex: number, hoverIndex: number) => moveSectionFromHook(selectedPage ?? null, dragIndex, hoverIndex);
|
||||
const moveField = async (sectionId: number, dragFieldId: number, hoverFieldId: number) => moveFieldFromHook(selectedPage ?? null, sectionId, dragFieldId, hoverFieldId);
|
||||
const _handleResetAllData = () => handleResetAllDataFromHook(
|
||||
setUnitOptions,
|
||||
setMaterialOptions,
|
||||
setSurfaceTreatmentOptions,
|
||||
|
||||
Reference in New Issue
Block a user