1
1
import React , { Component } from 'react'
2
2
import {
3
3
AddCDPositions ,
4
- WorkflowNodeType ,
5
- PipelineType ,
6
4
AddPipelineType ,
7
5
AddCDButton ,
8
6
Point ,
9
7
EdgeNodeType ,
8
+ EdgeEndNodeType ,
9
+ handleAddCD ,
10
10
} from '@devtron-labs/devtron-fe-common-lib'
11
11
import { nodeColors } from './colors'
12
12
@@ -18,7 +18,7 @@ interface Line {
18
18
interface EdgeProps {
19
19
// type should not be any but WorkflowNodeType, but node type is something else have to look into it
20
20
startNode : Point & EdgeNodeType
21
- endNode : Point & EdgeNodeType
21
+ endNode : Point & EdgeEndNodeType
22
22
onClickEdge : ( event : any ) => void
23
23
deleteEdge : ( ) => void
24
24
onMouseOverEdge : ( startID : any , endID : any ) => void
@@ -134,31 +134,17 @@ export default class Edge extends Component<EdgeProps> {
134
134
}
135
135
}
136
136
137
- getPipelineType = ( ) => {
138
- if ( this . props . isWebhookCD ) {
139
- return PipelineType . WEBHOOK
140
- }
141
-
142
- if ( this . props . startNode . type === WorkflowNodeType . CI ) {
143
- return PipelineType . CI_PIPELINE
144
- }
145
-
146
- return PipelineType . CD_PIPELINE
147
- }
148
-
149
- handleAddCD = ( position : AddCDPositions ) => {
150
- if ( ! this . props . handleCDSelect ) {
151
- return
152
- }
153
- const { handleCDSelect, startNode, endNode, workflowId, ciPipelineId, isWebhookCD } = this . props
154
- const pipelineType = this . getPipelineType ( )
155
- const addPipelineType =
156
- this . props . isParallelEdge && position === AddCDPositions . RIGHT
157
- ? AddPipelineType . PARALLEL
158
- : AddPipelineType . SEQUENTIAL
159
- const endNodeId = ! this . props . isParallelEdge && position === AddCDPositions . RIGHT ? endNode . id : null
160
-
161
- handleCDSelect ( workflowId , ciPipelineId , pipelineType , startNode . id , isWebhookCD , endNodeId , addPipelineType )
137
+ handleAddCDClick = ( position : AddCDPositions ) => {
138
+ handleAddCD ( {
139
+ position,
140
+ handleCDSelect : this . props . handleCDSelect ,
141
+ startNode : this . props . startNode ,
142
+ endNode : this . props . endNode ,
143
+ workflowId : this . props . workflowId ,
144
+ ciPipelineId : this . props . ciPipelineId ,
145
+ isWebhookCD : this . props . isWebhookCD ,
146
+ isParallelEdge : this . props . isParallelEdge ,
147
+ } )
162
148
}
163
149
164
150
render ( ) {
@@ -184,14 +170,14 @@ export default class Edge extends Component<EdgeProps> {
184
170
addCDButtons = { this . props . addCDButtons }
185
171
endNode = { this . props . endNode }
186
172
startNode = { this . props . startNode }
187
- handleAddCD = { this . handleAddCD }
173
+ handleAddCD = { this . handleAddCDClick }
188
174
/>
189
175
< AddCDButton
190
176
position = { AddCDPositions . RIGHT }
191
177
addCDButtons = { this . props . addCDButtons }
192
178
endNode = { this . props . endNode }
193
179
startNode = { this . props . startNode }
194
- handleAddCD = { this . handleAddCD }
180
+ handleAddCD = { this . handleAddCDClick }
195
181
/>
196
182
</ g >
197
183
)
0 commit comments