- 범용 컴포넌트 3종 개발 및 레지스트리 등록: * AutocompleteSearchInput: 자동완성 검색 입력 컴포넌트 * EntitySearchInput: 엔티티 검색 모달 컴포넌트 * ModalRepeaterTable: 모달 기반 반복 테이블 컴포넌트 - 수주등록 전용 컴포넌트: * OrderCustomerSearch: 거래처 검색 (AutocompleteSearchInput 래퍼) * OrderItemRepeaterTable: 품목 관리 (ModalRepeaterTable 래퍼) * OrderRegistrationModal: 수주등록 메인 모달 - 백엔드 API: * Entity 검색 API (멀티테넌시 지원) * 수주 등록 API (자동 채번) - 화면 편집기 통합: * 컴포넌트 레지스트리에 등록 * ConfigPanel을 통한 설정 기능 * 드래그앤드롭으로 배치 가능 - 개발 문서: * 수주등록_화면_개발_계획서.md (상세 설계 문서)
53 lines
1.8 KiB
TypeScript
53 lines
1.8 KiB
TypeScript
"use client";
|
|
|
|
import { createComponentDefinition } from "../../utils/createComponentDefinition";
|
|
import { ComponentCategory } from "@/types/component";
|
|
import { ModalRepeaterTableComponent } from "./ModalRepeaterTableComponent";
|
|
import { ModalRepeaterTableConfigPanel } from "./ModalRepeaterTableConfigPanel";
|
|
|
|
/**
|
|
* ModalRepeaterTable 컴포넌트 정의
|
|
* 모달 검색 + 동적 테이블 (반복기)
|
|
*/
|
|
export const ModalRepeaterTableDefinition = createComponentDefinition({
|
|
id: "modal-repeater-table",
|
|
name: "모달 반복 테이블",
|
|
nameEng: "Modal Repeater Table",
|
|
description: "모달에서 항목을 검색하여 동적으로 추가/편집할 수 있는 테이블 (수주 품목 등)",
|
|
category: ComponentCategory.DATA,
|
|
webType: "table",
|
|
component: ModalRepeaterTableComponent,
|
|
defaultConfig: {
|
|
sourceTable: "item_info",
|
|
sourceColumns: ["item_code", "item_name", "size", "unit_price"],
|
|
sourceSearchFields: ["item_code", "item_name"],
|
|
modalTitle: "항목 검색 및 선택",
|
|
modalButtonText: "항목 검색",
|
|
multiSelect: true,
|
|
columns: [],
|
|
uniqueField: "item_code",
|
|
},
|
|
defaultSize: { width: 800, height: 400 },
|
|
configPanel: ModalRepeaterTableConfigPanel,
|
|
icon: "Table",
|
|
tags: ["테이블", "반복", "동적", "모달", "수주", "품목"],
|
|
version: "1.0.0",
|
|
author: "개발팀",
|
|
});
|
|
|
|
// 타입 내보내기
|
|
export type {
|
|
ModalRepeaterTableProps,
|
|
RepeaterColumnConfig,
|
|
CalculationRule,
|
|
ItemSelectionModalProps,
|
|
} from "./types";
|
|
|
|
// 컴포넌트 내보내기
|
|
export { ModalRepeaterTableComponent } from "./ModalRepeaterTableComponent";
|
|
export { ModalRepeaterTableRenderer } from "./ModalRepeaterTableRenderer";
|
|
export { ItemSelectionModal } from "./ItemSelectionModal";
|
|
export { RepeaterTable } from "./RepeaterTable";
|
|
export { useCalculation } from "./useCalculation";
|
|
|