feature/v2-unified-renewal #379
|
|
@ -34,7 +34,7 @@ export function AggregationWidgetConfigPanel({
|
||||||
onChange,
|
onChange,
|
||||||
screenTableName,
|
screenTableName,
|
||||||
}: AggregationWidgetConfigPanelProps) {
|
}: AggregationWidgetConfigPanelProps) {
|
||||||
const [columns, setColumns] = useState<Array<{ columnName: string; label?: string; dataType?: string }>>([]);
|
const [columns, setColumns] = useState<Array<{ columnName: string; label?: string; dataType?: string; inputType?: string; webType?: string }>>([]);
|
||||||
const [loadingColumns, setLoadingColumns] = useState(false);
|
const [loadingColumns, setLoadingColumns] = useState(false);
|
||||||
const [availableTables, setAvailableTables] = useState<Array<{ tableName: string; displayName?: string }>>([]);
|
const [availableTables, setAvailableTables] = useState<Array<{ tableName: string; displayName?: string }>>([]);
|
||||||
const [loadingTables, setLoadingTables] = useState(false);
|
const [loadingTables, setLoadingTables] = useState(false);
|
||||||
|
|
@ -93,6 +93,8 @@ export function AggregationWidgetConfigPanel({
|
||||||
columnName: col.columnName || col.column_name,
|
columnName: col.columnName || col.column_name,
|
||||||
label: col.displayName || col.columnLabel || col.column_label || col.label || col.columnName || col.column_name,
|
label: col.displayName || col.columnLabel || col.column_label || col.label || col.columnName || col.column_name,
|
||||||
dataType: col.dataType || col.data_type,
|
dataType: col.dataType || col.data_type,
|
||||||
|
inputType: col.inputType || col.input_type,
|
||||||
|
webType: col.webType || col.web_type,
|
||||||
}))
|
}))
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -140,15 +142,19 @@ export function AggregationWidgetConfigPanel({
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
// 숫자형 컬럼만 필터링 (count 제외)
|
// 숫자형 컬럼만 필터링 (count 제외) - 입력 타입(inputType/webType)으로만 확인
|
||||||
const numericColumns = columns.filter(
|
const numericColumns = columns.filter((col) => {
|
||||||
(col) =>
|
const inputType = (col.inputType || col.webType || "")?.toLowerCase();
|
||||||
col.dataType?.toLowerCase().includes("int") ||
|
|
||||||
col.dataType?.toLowerCase().includes("numeric") ||
|
return (
|
||||||
col.dataType?.toLowerCase().includes("decimal") ||
|
inputType === "number" ||
|
||||||
col.dataType?.toLowerCase().includes("float") ||
|
inputType === "decimal" ||
|
||||||
col.dataType?.toLowerCase().includes("double")
|
inputType === "integer" ||
|
||||||
);
|
inputType === "float" ||
|
||||||
|
inputType === "currency" ||
|
||||||
|
inputType === "percent"
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="space-y-4">
|
<div className="space-y-4">
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue