feat: enhance v2 components and entity join functionality
- Add entity join controller/routes enhancements - Improve table management and category value services - Update v2 table list, card display, search widget components - Improve split panel layout responsiveness Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1613,12 +1613,20 @@ export const SplitPanelLayoutComponent: React.FC<SplitPanelLayoutComponentProps>
|
||||
|
||||
if (response.data.success && response.data.data) {
|
||||
const valueMap: Record<string, { label: string; color?: string }> = {};
|
||||
response.data.data.forEach((item: any) => {
|
||||
valueMap[item.value_code || item.valueCode] = {
|
||||
label: item.value_label || item.valueLabel,
|
||||
color: item.color,
|
||||
};
|
||||
});
|
||||
const flattenCategoryTree = (items: any[], parentLabel: string = "") => {
|
||||
items.forEach((item: any) => {
|
||||
const rawLabel = item.value_label || item.valueLabel;
|
||||
const displayLabel = parentLabel ? `${parentLabel} / ${rawLabel}` : rawLabel;
|
||||
valueMap[item.value_code || item.valueCode] = {
|
||||
label: displayLabel,
|
||||
color: item.color,
|
||||
};
|
||||
if (item.children && Array.isArray(item.children) && item.children.length > 0) {
|
||||
flattenCategoryTree(item.children, rawLabel);
|
||||
}
|
||||
});
|
||||
};
|
||||
flattenCategoryTree(response.data.data);
|
||||
mappings[columnName] = valueMap;
|
||||
console.log(`✅ 좌측 카테고리 매핑 로드 [${columnName}]:`, valueMap);
|
||||
}
|
||||
@@ -1675,12 +1683,20 @@ export const SplitPanelLayoutComponent: React.FC<SplitPanelLayoutComponentProps>
|
||||
|
||||
if (response.data.success && response.data.data) {
|
||||
const valueMap: Record<string, { label: string; color?: string }> = {};
|
||||
response.data.data.forEach((item: any) => {
|
||||
valueMap[item.value_code || item.valueCode] = {
|
||||
label: item.value_label || item.valueLabel,
|
||||
color: item.color,
|
||||
};
|
||||
});
|
||||
const flattenCategoryTree = (items: any[], parentLabel: string = "") => {
|
||||
items.forEach((item: any) => {
|
||||
const rawLabel = item.value_label || item.valueLabel;
|
||||
const displayLabel = parentLabel ? `${parentLabel} / ${rawLabel}` : rawLabel;
|
||||
valueMap[item.value_code || item.valueCode] = {
|
||||
label: displayLabel,
|
||||
color: item.color,
|
||||
};
|
||||
if (item.children && Array.isArray(item.children) && item.children.length > 0) {
|
||||
flattenCategoryTree(item.children, rawLabel);
|
||||
}
|
||||
});
|
||||
};
|
||||
flattenCategoryTree(response.data.data);
|
||||
|
||||
// 조인된 테이블의 경우 "테이블명.컬럼명" 형태로 저장
|
||||
const mappingKey = tableName === rightTableName ? columnName : `${tableName}.${columnName}`;
|
||||
|
||||
Reference in New Issue
Block a user