Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into feature/screen-management
This commit is contained in:
@@ -63,7 +63,7 @@ export const OptimizedButtonComponent: React.FC<OptimizedButtonProps> = ({
|
||||
const startTime = performance.now();
|
||||
|
||||
try {
|
||||
console.log(`🔘 Button clicked: ${component.id} (${config?.actionType})`);
|
||||
// console.log(`🔘 Button clicked: ${component.id} (${config?.actionType})`);
|
||||
|
||||
// 🔥 확장된 컨텍스트 데이터 수집
|
||||
const contextData = {
|
||||
@@ -89,14 +89,14 @@ export const OptimizedButtonComponent: React.FC<OptimizedButtonProps> = ({
|
||||
// 🔥 제어 전용 액션인지 확인
|
||||
const isControlOnlyAction = config?.actionType === "control";
|
||||
|
||||
console.log("🎯 OptimizedButtonComponent 실행:", {
|
||||
actionType: config?.actionType,
|
||||
isControlOnlyAction,
|
||||
enableDataflowControl: config?.enableDataflowControl,
|
||||
hasDataflowConfig: !!config?.dataflowConfig,
|
||||
selectedRows,
|
||||
selectedRowsData,
|
||||
});
|
||||
// console.log("🎯 OptimizedButtonComponent 실행:", {
|
||||
// actionType: config?.actionType,
|
||||
// isControlOnlyAction,
|
||||
// enableDataflowControl: config?.enableDataflowControl,
|
||||
// hasDataflowConfig: !!config?.dataflowConfig,
|
||||
// selectedRows,
|
||||
// selectedRowsData,
|
||||
// });
|
||||
|
||||
if (config?.enableDataflowControl && config?.dataflowConfig) {
|
||||
// 🆕 노드 플로우 방식 실행
|
||||
@@ -169,7 +169,7 @@ export const OptimizedButtonComponent: React.FC<OptimizedButtonProps> = ({
|
||||
await executeOriginalAction(config?.actionType || "save", contextData);
|
||||
}
|
||||
} catch (error) {
|
||||
console.error("Button execution failed:", error);
|
||||
// console.error("Button execution failed:", error);
|
||||
toast.error("버튼 실행 중 오류가 발생했습니다.");
|
||||
setLastResult({ success: false, error: error.message });
|
||||
} finally {
|
||||
@@ -180,9 +180,9 @@ export const OptimizedButtonComponent: React.FC<OptimizedButtonProps> = ({
|
||||
|
||||
// 성능 로깅
|
||||
if (totalTime > 200) {
|
||||
console.warn(`🐌 Slow button execution: ${totalTime.toFixed(2)}ms`);
|
||||
// console.warn(`🐌 Slow button execution: ${totalTime.toFixed(2)}ms`);
|
||||
} else {
|
||||
console.log(`⚡ Button execution: ${totalTime.toFixed(2)}ms`);
|
||||
// console.log(`⚡ Button execution: ${totalTime.toFixed(2)}ms`);
|
||||
}
|
||||
}
|
||||
}, [isExecuting, disabled, component.id, config?.actionType, config?.enableDataflowControl, formData, clickCount]);
|
||||
@@ -250,22 +250,22 @@ export const OptimizedButtonComponent: React.FC<OptimizedButtonProps> = ({
|
||||
|
||||
switch (actionType) {
|
||||
case "save":
|
||||
console.log("💾 Save action completed:", result);
|
||||
// console.log("💾 Save action completed:", result);
|
||||
break;
|
||||
case "delete":
|
||||
console.log("🗑️ Delete action completed:", result);
|
||||
// console.log("🗑️ Delete action completed:", result);
|
||||
break;
|
||||
case "search":
|
||||
console.log("🔍 Search action completed:", result);
|
||||
// console.log("🔍 Search action completed:", result);
|
||||
break;
|
||||
case "add":
|
||||
console.log("➕ Add action completed:", result);
|
||||
// console.log("➕ Add action completed:", result);
|
||||
break;
|
||||
case "edit":
|
||||
console.log("✏️ Edit action completed:", result);
|
||||
// console.log("✏️ Edit action completed:", result);
|
||||
break;
|
||||
default:
|
||||
console.log(`✅ ${actionType} action completed:`, result);
|
||||
// console.log(`✅ ${actionType} action completed:`, result);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -327,7 +327,7 @@ export const OptimizedButtonComponent: React.FC<OptimizedButtonProps> = ({
|
||||
return newSet;
|
||||
});
|
||||
|
||||
console.error("Background job failed:", status.result);
|
||||
// console.error("Background job failed:", status.result);
|
||||
toast.error("백그라운드 처리 중 오류가 발생했습니다.", { duration: 3000 });
|
||||
return;
|
||||
}
|
||||
@@ -336,7 +336,7 @@ export const OptimizedButtonComponent: React.FC<OptimizedButtonProps> = ({
|
||||
if (pollCount < maxPolls && (status.status === "pending" || status.status === "processing")) {
|
||||
setTimeout(pollJobStatus, pollInterval);
|
||||
} else if (pollCount >= maxPolls) {
|
||||
console.warn(`Background job polling timeout: ${jobId}`);
|
||||
// console.warn(`Background job polling timeout: ${jobId}`);
|
||||
setBackgroundJobs((prev) => {
|
||||
const newSet = new Set(prev);
|
||||
newSet.delete(jobId);
|
||||
@@ -344,7 +344,7 @@ export const OptimizedButtonComponent: React.FC<OptimizedButtonProps> = ({
|
||||
});
|
||||
}
|
||||
} catch (error) {
|
||||
console.error("Failed to check job status:", error);
|
||||
// console.error("Failed to check job status:", error);
|
||||
setBackgroundJobs((prev) => {
|
||||
const newSet = new Set(prev);
|
||||
newSet.delete(jobId);
|
||||
@@ -426,7 +426,7 @@ export const OptimizedButtonComponent: React.FC<OptimizedButtonProps> = ({
|
||||
): Promise<any> => {
|
||||
// 🔥 제어 액션은 여기서 처리하지 않음 (이미 위에서 처리됨)
|
||||
if (actionType === "control") {
|
||||
console.warn("제어 액션은 executeOriginalAction에서 처리되지 않아야 합니다.");
|
||||
// console.warn("제어 액션은 executeOriginalAction에서 처리되지 않아야 합니다.");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -513,7 +513,7 @@ export const OptimizedButtonComponent: React.FC<OptimizedButtonProps> = ({
|
||||
className={cn(
|
||||
"transition-all duration-200",
|
||||
isExecuting && "cursor-wait opacity-75",
|
||||
backgroundJobs.size > 0 && "border-blue-200 bg-blue-50",
|
||||
backgroundJobs.size > 0 && "border-primary/20 bg-accent",
|
||||
config?.backgroundColor && { backgroundColor: config.backgroundColor },
|
||||
config?.textColor && { color: config.textColor },
|
||||
config?.borderColor && { borderColor: config.borderColor },
|
||||
|
||||
Reference in New Issue
Block a user