[agent-pipeline] pipe-20260317054958-cypk round-1
This commit is contained in:
parent
4ba931dc70
commit
4db5d73817
|
|
@ -211,12 +211,11 @@ export const V2PropertiesPanel: React.FC<V2PropertiesPanelProps> = ({
|
|||
// 현재 화면의 테이블명 가져오기
|
||||
const currentTableName = tables?.[0]?.tableName;
|
||||
|
||||
// DB input_type 가져오기 (columnMetaCache에서 최신값 조회)
|
||||
// DB input_type만 조회 (saved config와 분리하여 전달)
|
||||
const colName = selectedComponent.columnName || currentConfig.fieldKey || currentConfig.columnName;
|
||||
const tblName = selectedComponent.tableName || currentTable?.tableName || currentTableName;
|
||||
const dbMeta = colName && tblName && !colName.includes(".") ? columnMetaCache[tblName]?.[colName] : undefined;
|
||||
const dbInputType = dbMeta ? (() => { const raw = dbMeta.input_type || dbMeta.inputType; return raw === "direct" || raw === "auto" ? undefined : raw; })() : undefined;
|
||||
const inputType = dbInputType || currentConfig.inputType || currentConfig.webType || (selectedComponent as any).inputType;
|
||||
|
||||
// 컴포넌트별 추가 props
|
||||
const extraProps: Record<string, any> = {};
|
||||
|
|
@ -224,7 +223,8 @@ export const V2PropertiesPanel: React.FC<V2PropertiesPanelProps> = ({
|
|||
const resolvedColumnName = selectedComponent.columnName || currentConfig.fieldKey || currentConfig.columnName;
|
||||
|
||||
if (componentId === "v2-input" || componentId === "v2-select") {
|
||||
extraProps.inputType = inputType;
|
||||
extraProps.componentType = componentId;
|
||||
extraProps.inputType = dbInputType;
|
||||
extraProps.tableName = resolvedTableName;
|
||||
extraProps.columnName = resolvedColumnName;
|
||||
extraProps.screenTableName = resolvedTableName;
|
||||
|
|
|
|||
|
|
@ -77,9 +77,9 @@ interface CategoryValueOption {
|
|||
valueLabel: string;
|
||||
}
|
||||
|
||||
// ─── 하위 호환: 기존 config에서 fieldType 추론 ───
|
||||
// ─── 하위 호환: 기존 config에서 fieldType 추론 (우선순위: DB값 > 사용자 fieldType > 컴포넌트구조 > saved config > 기본값) ───
|
||||
function resolveFieldType(config: Record<string, any>, componentType?: string, metaInputType?: string): FieldType {
|
||||
// DB input_type이 전달된 경우 (데이터타입관리에서 변경 시) 우선 적용
|
||||
// (a) metaInputType: DB 전용 (undefined면 스킵, V2PropertiesPanel에서 dbInputType만 전달)
|
||||
if (metaInputType && metaInputType !== "direct" && metaInputType !== "auto") {
|
||||
const dbType = metaInputType as FieldType;
|
||||
if (["text", "number", "textarea", "numbering", "select", "category", "entity"].includes(dbType)) {
|
||||
|
|
@ -87,9 +87,10 @@ function resolveFieldType(config: Record<string, any>, componentType?: string, m
|
|||
}
|
||||
}
|
||||
|
||||
// (b) 사용자가 설정 패널에서 직접 선택한 fieldType
|
||||
if (config.fieldType) return config.fieldType as FieldType;
|
||||
|
||||
// v2-select 계열
|
||||
// (c) v2-select 계열: componentType 또는 config.source 기반
|
||||
if (componentType === "v2-select" || config.source) {
|
||||
const source = config.source === "code" ? "category" : config.source;
|
||||
if (source === "entity") return "entity";
|
||||
|
|
@ -97,11 +98,13 @@ function resolveFieldType(config: Record<string, any>, componentType?: string, m
|
|||
return "select";
|
||||
}
|
||||
|
||||
// v2-input 계열
|
||||
// (d) saved config fallback (config.inputType / config.type)
|
||||
const it = config.inputType || config.type;
|
||||
if (it === "number") return "number";
|
||||
if (it === "textarea") return "textarea";
|
||||
if (it === "numbering") return "numbering";
|
||||
|
||||
// (e) 최종 기본값
|
||||
return "text";
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue