"use client"; import React from "react"; import { createComponentDefinition } from "../../utils/createComponentDefinition"; import { ComponentCategory } from "@/types/component"; import { RelatedDataButtonsComponent } from "./RelatedDataButtonsComponent"; import { RelatedDataButtonsConfigPanel } from "./RelatedDataButtonsConfigPanel"; /** * RelatedDataButtons 컴포넌트 정의 * 좌측 패널에서 선택한 데이터를 기반으로 연관 테이블의 데이터를 버튼으로 표시 */ export const RelatedDataButtonsDefinition = createComponentDefinition({ id: "related-data-buttons", name: "연관 데이터 버튼", nameEng: "Related Data Buttons", description: "좌측 패널에서 선택한 데이터를 기반으로 연관 테이블의 데이터를 버튼으로 표시합니다. 예: 품목 선택 → 라우팅 버전 버튼들", category: ComponentCategory.DATA, webType: "container", component: RelatedDataButtonsComponent, defaultConfig: { sourceMapping: { sourceTable: "", sourceColumn: "", }, headerDisplay: { show: true, titleColumn: "", subtitleColumn: "", }, buttonDataSource: { tableName: "", filterColumn: "", displayColumn: "", valueColumn: "id", orderColumn: "created_date", orderDirection: "ASC", }, buttonStyle: { variant: "outline", activeVariant: "default", size: "default", defaultIndicator: { column: "", showStar: true, }, }, addButton: { show: false, label: "+ 버전 추가", position: "header", }, events: { targetTable: "", targetFilterColumn: "", }, autoSelectFirst: true, emptyMessage: "데이터가 없습니다", }, defaultSize: { width: 400, height: 120 }, configPanel: RelatedDataButtonsConfigPanel, icon: "LayoutList", tags: ["버튼", "연관데이터", "마스터디테일", "라우팅"], version: "1.0.0", author: "개발팀", }); // 타입 내보내기 export type { RelatedDataButtonsConfig, ButtonItem } from "./types"; export { RelatedDataButtonsComponent } from "./RelatedDataButtonsComponent"; export { RelatedDataButtonsConfigPanel } from "./RelatedDataButtonsConfigPanel";