dev #46

Merged
kjs merged 344 commits from dev into main 2025-09-22 18:17:24 +09:00
7 changed files with 20 additions and 13 deletions
Showing only changes of commit 8dec80fe22 - Show all commits

View File

@ -185,6 +185,9 @@ export const ConnectionSetupModal: React.FC<ConnectionSetupModalProps> = ({
// 모달이 열릴 때 기본값 설정
useEffect(() => {
if (isOpen && connection) {
// 모달이 열릴 때마다 캐시 초기화 (라벨 업데이트 반영)
setTableColumnsCache({});
const fromTableName = connection.fromNode.tableName;
const toTableName = connection.toNode.tableName;
const fromDisplayName = connection.fromNode.displayName;
@ -283,8 +286,8 @@ export const ConnectionSetupModal: React.FC<ConnectionSetupModalProps> = ({
}, [selectedFromColumns, selectedToColumns]);
// 테이블 컬럼 로드 함수 (캐시 활용)
const loadTableColumns = async (tableName: string): Promise<ColumnInfo[]> => {
if (tableColumnsCache[tableName]) {
const loadTableColumns = async (tableName: string, forceReload = false): Promise<ColumnInfo[]> => {
if (tableColumnsCache[tableName] && !forceReload) {
return tableColumnsCache[tableName];
}

View File

@ -172,7 +172,7 @@ export const ConditionRenderer: React.FC<ConditionRendererProps> = ({
<SelectContent>
{fromTableColumns.map((column) => (
<SelectItem key={column.columnName} value={column.columnName}>
{column.columnName}
{column.displayName || column.columnLabel || column.columnName}
</SelectItem>
))}
</SelectContent>

View File

@ -214,13 +214,13 @@ export const ActionConditionRenderer: React.FC<ActionConditionRendererProps> = (
{condition.tableType === "from" &&
fromTableColumns.map((column) => (
<SelectItem key={column.columnName} value={column.columnName}>
{column.columnName}
{column.displayName || column.columnLabel || column.columnName}
</SelectItem>
))}
{condition.tableType === "to" &&
toTableColumns.map((column) => (
<SelectItem key={column.columnName} value={column.columnName}>
{column.columnName}
{column.displayName || column.columnLabel || column.columnName}
</SelectItem>
))}
</SelectContent>

View File

@ -154,7 +154,7 @@ export const ActionFieldMappings: React.FC<ActionFieldMappingsProps> = ({
tableColumnsCache[mapping.sourceTable]?.map((column) => (
<SelectItem key={column.columnName} value={column.columnName}>
<div className="truncate" title={column.columnName}>
{column.columnName}
{column.displayName || column.columnLabel || column.columnName}
</div>
</SelectItem>
))}
@ -200,7 +200,7 @@ export const ActionFieldMappings: React.FC<ActionFieldMappingsProps> = ({
tableColumnsCache[mapping.targetTable]?.map((column) => (
<SelectItem key={column.columnName} value={column.columnName}>
<div className="truncate" title={column.columnName}>
{column.columnName}
{column.displayName || column.columnLabel || column.columnName}
</div>
</SelectItem>
))}

View File

@ -90,7 +90,7 @@ export const ActionSplitConfig: React.FC<ActionSplitConfigProps> = ({
<SelectContent>
{fromTableColumns.map((column) => (
<SelectItem key={column.columnName} value={column.columnName}>
{column.columnName}
{column.displayName || column.columnLabel || column.columnName}
</SelectItem>
))}
</SelectContent>
@ -117,7 +117,7 @@ export const ActionSplitConfig: React.FC<ActionSplitConfigProps> = ({
<SelectContent>
{toTableColumns.map((column) => (
<SelectItem key={column.columnName} value={column.columnName}>
{column.columnName}
{column.displayName || column.columnLabel || column.columnName}
</SelectItem>
))}
</SelectContent>

View File

@ -198,7 +198,9 @@ export const ColumnTableSection: React.FC<ColumnTableSectionProps> = ({
<div className="flex items-start justify-between gap-2">
<div className="min-w-0 flex-1">
<div className="flex items-center gap-2">
<span className="truncate font-medium">{column.columnName}</span>
<span className="truncate font-medium">
{column.displayName || column.columnLabel || column.columnName}
</span>
{isSelected && <span className="flex-shrink-0 text-blue-500"></span>}
{isMapped && <span className="flex-shrink-0 text-green-500"></span>}
{oppositeSelectedColumn && !isTypeCompatible && (
@ -264,7 +266,9 @@ export const ColumnTableSection: React.FC<ColumnTableSectionProps> = ({
>
<div className="flex min-w-0 flex-col justify-between">
<div className="flex items-center gap-2">
<span className="truncate font-medium">{column.columnName}</span>
<span className="truncate font-medium">
{column.displayName || column.columnLabel || column.columnName}
</span>
{isSelected && <span className="flex-shrink-0 text-green-500"></span>}
{oppositeSelectedColumn && !isTypeCompatible && (
<span className="flex-shrink-0 text-red-500" title="데이터 타입이 호환되지 않음">

View File

@ -83,7 +83,7 @@ export const SimpleKeySettings: React.FC<SimpleKeySettingsProps> = ({
}}
className="rounded"
/>
<span>{column.columnName}</span>
<span>{column.displayName || column.columnLabel || column.columnName}</span>
<span className="text-xs text-gray-500">({column.dataType})</span>
</label>
))}
@ -112,7 +112,7 @@ export const SimpleKeySettings: React.FC<SimpleKeySettingsProps> = ({
}}
className="rounded"
/>
<span>{column.columnName}</span>
<span>{column.displayName || column.columnLabel || column.columnName}</span>
<span className="text-xs text-gray-500">({column.dataType})</span>
</label>
))}