"use client"; import { createComponentDefinition } from "../../utils/createComponentDefinition"; import { ComponentCategory } from "@/types/component"; import { SimpleRepeaterTableComponent } from "./SimpleRepeaterTableComponent"; import { SimpleRepeaterTableConfigPanel } from "./SimpleRepeaterTableConfigPanel"; /** * ๐Ÿ†• SimpleRepeaterTable ์ปดํฌ๋„ŒํŠธ ์ •์˜ * ๋‹จ์ˆœ ๋ฐ˜๋ณต ํ…Œ์ด๋ธ” - ๊ฒ€์ƒ‰/์ถ”๊ฐ€ ์—†์ด ๋ฐ์ดํ„ฐ ํ‘œ์‹œ ๋ฐ ํŽธ์ง‘๋งŒ * * ์ฃผ์š” ๊ธฐ๋Šฅ: * - ์ดˆ๊ธฐ ๋ฐ์ดํ„ฐ ๋กœ๋“œ: ์–ด๋–ค ํ…Œ์ด๋ธ”์—์„œ ์–ด๋–ค ์กฐ๊ฑด์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ฌ์ง€ ์„ค์ • * - ์ปฌ๋Ÿผ๋ณ„ ์†Œ์Šค ์„ค์ •: ๊ฐ ์ปฌ๋Ÿผ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์–ด๋””์„œ ์กฐํšŒํ• ์ง€ ์„ค์ • (์ง์ ‘ ์กฐํšŒ/์กฐ์ธ ์กฐํšŒ/์ˆ˜๋™ ์ž…๋ ฅ) * - ์ปฌ๋Ÿผ๋ณ„ ํƒ€๊ฒŸ ์„ค์ •: ๊ฐ ์ปฌ๋Ÿผ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์–ด๋А ํ…Œ์ด๋ธ”์˜ ์–ด๋А ์ปฌ๋Ÿผ์— ์ €์žฅํ• ์ง€ ์„ค์ • * - ์ž๋™ ๊ณ„์‚ฐ: ์ˆ˜๋Ÿ‰ * ๋‹จ๊ฐ€ = ๊ธˆ์•ก ๊ฐ™์€ ์ž๋™ ๊ณ„์‚ฐ ์ง€์› * - ์ฝ๊ธฐ ์ „์šฉ ๋ชจ๋“œ: ์ „์ฒด ํ…Œ์ด๋ธ”์„ ๋ณด๊ธฐ ์ „์šฉ์œผ๋กœ ์„ค์ • */ export const SimpleRepeaterTableDefinition = createComponentDefinition({ id: "simple-repeater-table", name: "๋‹จ์ˆœ ๋ฐ˜๋ณต ํ…Œ์ด๋ธ”", nameEng: "Simple Repeater Table", description: "์–ด๋–ค ํ…Œ์ด๋ธ”์—์„œ ์กฐํšŒํ•˜๊ณ  ์–ด๋–ค ํ…Œ์ด๋ธ”์— ์ €์žฅํ• ์ง€ ์ปฌ๋Ÿผ๋ณ„๋กœ ์„ค์ • ๊ฐ€๋Šฅํ•œ ๋ฐ˜๋ณต ํ…Œ์ด๋ธ” (๊ฒ€์ƒ‰/์ถ”๊ฐ€ ์—†์Œ, ์ž๋™ ๊ณ„์‚ฐ ์ง€์›)", category: ComponentCategory.DATA, webType: "table", component: SimpleRepeaterTableComponent, defaultConfig: { columns: [], calculationRules: [], initialDataConfig: undefined, readOnly: false, showRowNumber: true, allowDelete: true, allowAdd: false, addButtonText: "ํ–‰ ์ถ”๊ฐ€", addButtonPosition: "bottom", minRows: 0, maxRows: undefined, summaryConfig: { enabled: false, fields: [], }, maxHeight: "240px", }, defaultSize: { width: 800, height: 400 }, configPanel: SimpleRepeaterTableConfigPanel, icon: "Table", tags: ["ํ…Œ์ด๋ธ”", "๋ฐ˜๋ณต", "ํŽธ์ง‘", "๋ฐ์ดํ„ฐ", "๋ชฉ๋ก", "๊ณ„์‚ฐ", "์กฐํšŒ", "์ €์žฅ"], version: "2.0.0", author: "๊ฐœ๋ฐœํŒ€", }); // ํƒ€์ž… ๋‚ด๋ณด๋‚ด๊ธฐ export type { SimpleRepeaterTableProps, SimpleRepeaterColumnConfig, CalculationRule, ColumnSourceConfig, ColumnTargetConfig, InitialDataConfig, DataFilterCondition, SourceJoinCondition, SummaryConfig, SummaryFieldConfig, } from "./types"; // ์ปดํฌ๋„ŒํŠธ ๋‚ด๋ณด๋‚ด๊ธฐ export { SimpleRepeaterTableComponent } from "./SimpleRepeaterTableComponent"; export { SimpleRepeaterTableConfigPanel } from "./SimpleRepeaterTableConfigPanel"; export { useCalculation } from "./useCalculation";