그래프방식 조건선택 기능 추가

This commit is contained in:
Macbook
2026-06-16 10:18:30 +09:00
parent 2670c31d37
commit c7b92dbec5
4 changed files with 105 additions and 5 deletions
+7 -2
View File
@@ -40,6 +40,8 @@ export type StrategyFlowNodeData = {
onDeleteStart?: (startId: string) => void;
onDelete?: (id: string) => void;
onUpdateCondition?: (nodeId: string, condition: ConditionDSL) => void;
/** 조건 프리셋(복합) — 노드 전체 교체 (CONDITION → AND 등) */
onReplaceLogicNode?: (nodeId: string, node: LogicNode) => void;
/** Stoch 과열×보조 복합 — 보조지표 변경 */
onUpdateStochPairSecondary?: (nodeId: string, secondaryIndicator: string) => void;
/** 9·20 신고가/신저가 복합 — 필터 강도 변경 */
@@ -480,7 +482,7 @@ function layoutTree(
signalTab: 'buy' | 'sell',
callbacks: Pick<
StrategyFlowNodeData,
'onDelete' | 'onUpdateCondition' | 'onUpdateStochPairSecondary' | 'onUpdatePriceExtremeFilterLevel' | 'onUpdateInflection33FilterLevel' | 'onUpdateStableStrategyFilterLevel' | 'onChangeLogicGateType'
'onDelete' | 'onUpdateCondition' | 'onReplaceLogicNode' | 'onUpdateStochPairSecondary' | 'onUpdatePriceExtremeFilterLevel' | 'onUpdateInflection33FilterLevel' | 'onUpdateStableStrategyFilterLevel' | 'onChangeLogicGateType'
| 'onDropTarget' | 'onDragOverTarget' | 'onDragLeaveTarget'
>,
dragOverId: string | null,
@@ -502,6 +504,7 @@ function layoutTree(
signalTab,
onDelete: callbacks.onDelete,
onUpdateCondition: callbacks.onUpdateCondition,
onReplaceLogicNode: callbacks.onReplaceLogicNode,
onUpdateStochPairSecondary: callbacks.onUpdateStochPairSecondary,
onUpdatePriceExtremeFilterLevel: callbacks.onUpdatePriceExtremeFilterLevel,
onUpdateInflection33FilterLevel: callbacks.onUpdateInflection33FilterLevel,
@@ -635,7 +638,7 @@ function appendOrphanFlowNodes(
signalTab: 'buy' | 'sell',
callbacks: Pick<
StrategyFlowNodeData,
'onDelete' | 'onUpdateCondition' | 'onUpdateStochPairSecondary' | 'onUpdatePriceExtremeFilterLevel' | 'onUpdateInflection33FilterLevel' | 'onUpdateStableStrategyFilterLevel' | 'onChangeLogicGateType'
'onDelete' | 'onUpdateCondition' | 'onReplaceLogicNode' | 'onUpdateStochPairSecondary' | 'onUpdatePriceExtremeFilterLevel' | 'onUpdateInflection33FilterLevel' | 'onUpdateStableStrategyFilterLevel' | 'onChangeLogicGateType'
| 'onDropTarget' | 'onDragOverTarget' | 'onDragLeaveTarget'
>,
): void {
@@ -657,6 +660,7 @@ function appendOrphanFlowNodes(
signalTab,
onDelete: callbacks.onDelete,
onUpdateCondition: callbacks.onUpdateCondition,
onReplaceLogicNode: callbacks.onReplaceLogicNode,
onUpdateStochPairSecondary: callbacks.onUpdateStochPairSecondary,
onUpdatePriceExtremeFilterLevel: callbacks.onUpdatePriceExtremeFilterLevel,
onUpdateInflection33FilterLevel: callbacks.onUpdateInflection33FilterLevel,
@@ -684,6 +688,7 @@ export function logicNodeToFlow(
StrategyFlowNodeData,
| 'onDelete'
| 'onUpdateCondition'
| 'onReplaceLogicNode'
| 'onUpdateStochPairSecondary'
| 'onUpdatePriceExtremeFilterLevel'
| 'onUpdateInflection33FilterLevel'