From 1405a19d1cc5fa7e1e08a7450e1a883a068b7a1d Mon Sep 17 00:00:00 2001 From: DDD1542 Date: Sun, 29 Mar 2026 23:12:23 +0900 Subject: [PATCH] [agent-pipeline] pipe-20260329112709-ncml round-2 --- .../text-display/TextDisplayComponent.tsx | 2 +- .../text-input/TextInputComponent.tsx | 16 ++++---- .../text-input/TextInputConfigPanel.tsx | 6 +-- frontend/lib/utils/buttonActions.ts | 20 +++++----- frontend/lib/utils/formValidation.ts | 26 ++++++------ frontend/lib/utils/gridUtils.ts | 1 + .../lib/utils/improvedButtonActionExecutor.ts | 40 ++++++++++++------- frontend/lib/utils/multilang.ts | 10 ----- frontend/lib/utils/multilangLabelExtractor.ts | 1 + frontend/lib/utils/nodeFlowButtonExecutor.ts | 4 +- frontend/lib/utils/responsiveDefaults.ts | 40 +++++++++---------- frontend/lib/utils/webTypeConfigConverter.ts | 9 +++-- frontend/lib/zplGenerator.ts | 14 +++---- 13 files changed, 96 insertions(+), 93 deletions(-) diff --git a/frontend/lib/registry/components/text-display/TextDisplayComponent.tsx b/frontend/lib/registry/components/text-display/TextDisplayComponent.tsx index 38a42a75..84e82032 100644 --- a/frontend/lib/registry/components/text-display/TextDisplayComponent.tsx +++ b/frontend/lib/registry/components/text-display/TextDisplayComponent.tsx @@ -1,7 +1,7 @@ "use client"; import React from "react"; -import { ComponentRendererProps } from "../../types"; +import { ComponentRendererProps } from "@/types/component"; import { TextDisplayConfig } from "./types"; import { getAdaptiveLabelColor } from "@/lib/utils/darkModeColor"; import { filterDOMProps } from "@/lib/utils/domPropsFilter"; diff --git a/frontend/lib/registry/components/text-input/TextInputComponent.tsx b/frontend/lib/registry/components/text-input/TextInputComponent.tsx index 153f35f1..2827bcaa 100644 --- a/frontend/lib/registry/components/text-input/TextInputComponent.tsx +++ b/frontend/lib/registry/components/text-input/TextInputComponent.tsx @@ -116,8 +116,8 @@ export const TextInputComponent: React.FC = ({ // ๐Ÿ†• ์ฑ„๋ฒˆ ๊ทœ์น™์ด ์„ค์ •๋˜์–ด ์žˆ์œผ๋ฉด ํ•ญ์ƒ _numberingRuleId๋ฅผ formData์— ์„ค์ • // (๊ฐ’ ์ƒ์„ฑ ์„ฑ๊ณต ์—ฌ๋ถ€์™€ ๊ด€๊ณ„์—†์ด, ์ €์žฅ ์‹œ์ ์— allocateCode๋ฅผ ํ˜ธ์ถœํ•˜๊ธฐ ์œ„ํ•จ) - if (testAutoGeneration.type === "numbering_rule" && testAutoGeneration.options?.numberingRuleId) { - const ruleId = testAutoGeneration.options.numberingRuleId; + if (testAutoGeneration.type === "numbering_rule" && testAutoGeneration.options?.numbering_rule_id) { + const ruleId = testAutoGeneration.options.numbering_rule_id; if (ruleId && ruleId !== "undefined" && ruleId !== "null" && ruleId !== "") { const ruleIdKey = `${component.columnName}_numberingRuleId`; // formData์— ์•„์ง ์„ค์ •๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ์—๋งŒ ์„ค์ • @@ -135,7 +135,7 @@ export const TextInputComponent: React.FC = ({ // ์ฑ„๋ฒˆ ๊ทœ์น™์€ ๋น„๋™๊ธฐ๋กœ ์ฒ˜๋ฆฌ if (testAutoGeneration.type === "numbering_rule") { - const ruleId = testAutoGeneration.options?.numberingRuleId; + const ruleId = testAutoGeneration.options?.numbering_rule_id; if (ruleId && ruleId !== "undefined" && ruleId !== "null") { try { const { previewNumberingCode } = await import("@/lib/api/numberingRule"); @@ -154,7 +154,7 @@ export const TextInputComponent: React.FC = ({ } } else { // ๊ธฐํƒ€ ํƒ€์ž…์€ ๋™๊ธฐ๋กœ ์ฒ˜๋ฆฌ - generatedValue = AutoGenerationUtils.generateValue(testAutoGeneration, component.columnName); + generatedValue = await AutoGenerationUtils.generateValue(testAutoGeneration, component.columnName); isGeneratingRef.current = false; } @@ -168,13 +168,13 @@ export const TextInputComponent: React.FC = ({ onFormDataChange(component.columnName, generatedValue); // ์ฑ„๋ฒˆ ๊ทœ์น™ ID๋„ ํ•จ๊ป˜ ์ €์žฅ (์ €์žฅ ์‹œ์ ์— ์‹ค์ œ ํ• ๋‹นํ•˜๊ธฐ ์œ„ํ•จ) - if (testAutoGeneration.type === "numbering_rule" && testAutoGeneration.options?.numberingRuleId) { + if (testAutoGeneration.type === "numbering_rule" && testAutoGeneration.options?.numbering_rule_id) { const ruleIdKey = `${component.columnName}_numberingRuleId`; - onFormDataChange(ruleIdKey, testAutoGeneration.options.numberingRuleId); + onFormDataChange(ruleIdKey, testAutoGeneration.options.numbering_rule_id); } } } - } else if (!autoGeneratedValue && testAutoGeneration.type !== "none") { + } else if (!autoGeneratedValue) { // ๋””์ž์ธ ๋ชจ๋“œ์—์„œ๋„ ๋ฏธ๋ฆฌ๋ณด๊ธฐ์šฉ ์ž๋™์ƒ์„ฑ ๊ฐ’ ํ‘œ์‹œ const previewValue = AutoGenerationUtils.generatePreviewValue(testAutoGeneration); setAutoGeneratedValue(previewValue); @@ -844,7 +844,7 @@ export const TextInputComponent: React.FC = ({ // ์ฑ„๋ฒˆ ๊ทœ์น™ ID ๋ณต๊ตฌ if (isInteractive && onFormDataChange && component.columnName) { - const ruleId = testAutoGeneration.options?.numberingRuleId; + const ruleId = testAutoGeneration.options?.numbering_rule_id; if (ruleId) { const ruleIdKey = `${component.columnName}_numberingRuleId`; onFormDataChange(ruleIdKey, ruleId); diff --git a/frontend/lib/registry/components/text-input/TextInputConfigPanel.tsx b/frontend/lib/registry/components/text-input/TextInputConfigPanel.tsx index 126e6899..b44d6064 100644 --- a/frontend/lib/registry/components/text-input/TextInputConfigPanel.tsx +++ b/frontend/lib/registry/components/text-input/TextInputConfigPanel.tsx @@ -34,7 +34,7 @@ export const TextInputConfigPanel: React.FC = ({ conf // useState ์ดˆ๊ธฐ๊ฐ’์—์„œ ์ €์žฅ๋œ ๊ฐ’ ๋ณต์› (์šฐ์„ ์ˆœ์œ„: ์ €์žฅ๋œ ๊ฐ’ > menuObjid prop) const [selectedMenuObjid, setSelectedMenuObjid] = useState(() => { - return config.autoGeneration?.selectedMenuObjid || menuObjid; + return (config.autoGeneration as any)?.selectedMenuObjid || menuObjid; }); const [loadingMenus, setLoadingMenus] = useState(false); @@ -250,14 +250,14 @@ export const TextInputConfigPanel: React.FC = ({ conf ์ฑ„๋ฒˆ ๊ทœ์น™ ์„ ํƒ *