@@ -135,7 +135,6 @@ export default function EnvTriggerView({ filteredAppIds, isVirtualEnv }: AppGrou
135
135
const [ selectAllValue , setSelectAllValue ] = useState < CHECKBOX_VALUE > ( CHECKBOX_VALUE . CHECKED )
136
136
const [ isConfigPresent , setConfigPresent ] = useState < boolean > ( false )
137
137
const [ isDefaultConfigPresent , setDefaultConfig ] = useState < boolean > ( false )
138
- const [ skippedResources , setSkippedResources ] = useState < ResponseRowType [ ] > ( [ ] )
139
138
140
139
// ref to make sure that on initial mount after we fetch workflows we handle modal based on url
141
140
const handledLocation = useRef ( false )
@@ -1010,7 +1009,7 @@ export default function EnvTriggerView({ filteredAppIds, isVirtualEnv }: AppGrou
1010
1009
1011
1010
const changeBranch = ( value ) : void => {
1012
1011
const appIds = [ ]
1013
- const _skippedResources = [ ]
1012
+ const skippedResources = [ ]
1014
1013
const appNameMap = new Map ( )
1015
1014
1016
1015
filteredWorkflows . forEach ( ( wf ) => {
@@ -1024,7 +1023,7 @@ export default function EnvTriggerView({ filteredAppIds, isVirtualEnv }: AppGrou
1024
1023
appNameMap . set ( wf . appId , wf . name )
1025
1024
}
1026
1025
else {
1027
- _skippedResources . push ( {
1026
+ skippedResources . push ( {
1028
1027
appId : wf . appId ,
1029
1028
appName : wf . name ,
1030
1029
statusText : SKIPPED_RESOURCES_STATUS_TEXT ,
@@ -1037,13 +1036,21 @@ export default function EnvTriggerView({ filteredAppIds, isVirtualEnv }: AppGrou
1037
1036
}
1038
1037
} )
1039
1038
1040
- if ( ! appIds . length && ! _skippedResources . length ) {
1039
+ if ( ! appIds . length && ! skippedResources . length ) {
1041
1040
toast . error ( 'No valid application present' )
1042
1041
return
1043
1042
}
1044
-
1045
- setSkippedResources ( _skippedResources )
1046
1043
setIsBranchChangeLoading ( true )
1044
+
1045
+ if ( ! appIds . length ) {
1046
+ updateResponseListData ( skippedResources )
1047
+ setIsBranchChangeLoading ( false )
1048
+ setCDLoading ( false )
1049
+ setCILoading ( false )
1050
+ preventBodyScroll ( true )
1051
+ return
1052
+ }
1053
+
1047
1054
triggerBranchChange ( appIds , + envId , value )
1048
1055
. then ( ( response : any ) => {
1049
1056
const _responseList = [ ]
@@ -1057,14 +1064,13 @@ export default function EnvTriggerView({ filteredAppIds, isVirtualEnv }: AppGrou
1057
1064
message : res . message ,
1058
1065
} )
1059
1066
} )
1060
- updateResponseListData ( _responseList )
1067
+ updateResponseListData ( [ ... _responseList , ... skippedResources ] )
1061
1068
setCDLoading ( false )
1062
1069
setCILoading ( false )
1063
- preventBodyScroll ( false )
1070
+ preventBodyScroll ( true )
1064
1071
} )
1065
1072
. catch ( ( error ) => {
1066
1073
showError ( error )
1067
- setSkippedResources ( [ ] )
1068
1074
} )
1069
1075
. finally ( ( ) => {
1070
1076
setIsBranchChangeLoading ( false )
@@ -1187,7 +1193,6 @@ export default function EnvTriggerView({ filteredAppIds, isVirtualEnv }: AppGrou
1187
1193
setCDLoading ( false )
1188
1194
setShowBulkCDModal ( false )
1189
1195
setResponseList ( [ ] )
1190
- setSkippedResources ( [ ] )
1191
1196
1192
1197
history . push ( {
1193
1198
search : '' ,
@@ -1207,7 +1212,6 @@ export default function EnvTriggerView({ filteredAppIds, isVirtualEnv }: AppGrou
1207
1212
setCILoading ( false )
1208
1213
setShowBulkCIModal ( false )
1209
1214
setResponseList ( [ ] )
1210
- setSkippedResources ( [ ] )
1211
1215
}
1212
1216
1213
1217
const onShowBulkCIModal = ( ) => {
@@ -1227,7 +1231,7 @@ export default function EnvTriggerView({ filteredAppIds, isVirtualEnv }: AppGrou
1227
1231
setIsBranchChangeLoading ( false )
1228
1232
setShowBulkSourceChangeModal ( false )
1229
1233
setResponseList ( [ ] )
1230
- setSkippedResources ( [ ] )
1234
+ preventBodyScroll ( false )
1231
1235
}
1232
1236
1233
1237
const onShowChangeSourceModal = ( ) => {
@@ -1346,10 +1350,11 @@ export default function EnvTriggerView({ filteredAppIds, isVirtualEnv }: AppGrou
1346
1350
promiseList : any [ ] ,
1347
1351
triggeredAppList : { appId : number ; envId ?: number ; appName : string } [ ] ,
1348
1352
type : WorkflowNodeType ,
1353
+ skippedResources : ResponseRowType [ ] = [ ] ,
1349
1354
) : void => {
1355
+ const _responseList = skippedResources
1350
1356
if ( promiseList . length ) {
1351
1357
Promise . allSettled ( promiseList ) . then ( ( responses : any ) => {
1352
- const _responseList = [ ]
1353
1358
responses . forEach ( ( response , index ) => {
1354
1359
if ( response . status === 'fulfilled' ) {
1355
1360
const statusType = filterStatusType (
@@ -1421,10 +1426,15 @@ export default function EnvTriggerView({ filteredAppIds, isVirtualEnv }: AppGrou
1421
1426
} )
1422
1427
} else {
1423
1428
setCDLoading ( false )
1424
- setShowBulkCDModal ( false )
1425
1429
setCILoading ( false )
1426
- setShowBulkCIModal ( false )
1427
- setResponseList ( [ ] )
1430
+ if ( ! skippedResources . length ) {
1431
+ setShowBulkCDModal ( false )
1432
+ setShowBulkCIModal ( false )
1433
+ setResponseList ( [ ] )
1434
+ }
1435
+ else {
1436
+ updateResponseListData ( _responseList )
1437
+ }
1428
1438
}
1429
1439
}
1430
1440
@@ -1448,7 +1458,7 @@ export default function EnvTriggerView({ filteredAppIds, isVirtualEnv }: AppGrou
1448
1458
ReactGA . event ( ENV_TRIGGER_VIEW_GA_EVENTS . BulkCITriggered )
1449
1459
setCILoading ( true )
1450
1460
let node
1451
- const _skippedResources = [ ]
1461
+ const skippedResources = [ ]
1452
1462
const nodeList : NodeAttr [ ] = [ ] ,
1453
1463
triggeredAppList : { appId : number ; appName : string } [ ] = [ ]
1454
1464
for ( const _wf of filteredWorkflows ) {
@@ -1461,8 +1471,9 @@ export default function EnvTriggerView({ filteredAppIds, isVirtualEnv }: AppGrou
1461
1471
triggeredAppList . push ( { appId : _wf . appId , appName : _wf . name } )
1462
1472
nodeList . push ( node )
1463
1473
}
1464
- else if ( node && ! isBuildAndBranchTriggerAllowed ( node ) ) {
1465
- _skippedResources . push ( {
1474
+ else if ( node && ! isBuildAndBranchTriggerAllowed ( node ) ) {
1475
+ // skipped can never be in appsToRetry
1476
+ skippedResources . push ( {
1466
1477
appId : _wf . appId ,
1467
1478
appName : _wf . name ,
1468
1479
statusText : SKIPPED_RESOURCES_STATUS_TEXT ,
@@ -1512,17 +1523,14 @@ export default function EnvTriggerView({ filteredAppIds, isVirtualEnv }: AppGrou
1512
1523
_CITriggerPromiseList . push ( triggerCINode ( payload ) )
1513
1524
} )
1514
1525
1515
- if ( ! _CITriggerPromiseList . length && ! appsToRetry && ! _skippedResources . length ) {
1526
+ if ( ! _CITriggerPromiseList . length && ! skippedResources . length ) {
1516
1527
toast . error ( 'No valid CI pipeline found' )
1517
1528
setCDLoading ( false )
1518
1529
setCILoading ( false )
1519
1530
return
1520
1531
}
1521
- if ( ! appsToRetry ) {
1522
- setSkippedResources ( _skippedResources )
1523
- }
1524
1532
1525
- handleBulkTrigger ( _CITriggerPromiseList , triggeredAppList , WorkflowNodeType . CI )
1533
+ handleBulkTrigger ( _CITriggerPromiseList , triggeredAppList , WorkflowNodeType . CI , skippedResources )
1526
1534
}
1527
1535
1528
1536
// Would only set data no need to get data related to materials from it, we will get that in bulk trigger
@@ -1853,7 +1861,7 @@ export default function EnvTriggerView({ filteredAppIds, isVirtualEnv }: AppGrou
1853
1861
webhookPayloads = { webhookPayloads }
1854
1862
isWebhookPayloadLoading = { isWebhookPayloadLoading }
1855
1863
isShowRegexModal = { isShowRegexModal }
1856
- responseList = { [ ... responseList , ... skippedResources ] }
1864
+ responseList = { responseList }
1857
1865
isLoading = { isCILoading }
1858
1866
setLoading = { setCILoading }
1859
1867
/>
@@ -1868,7 +1876,7 @@ export default function EnvTriggerView({ filteredAppIds, isVirtualEnv }: AppGrou
1868
1876
return (
1869
1877
< BulkSourceChange
1870
1878
closePopup = { hideChangeSourceModal }
1871
- responseList = { [ ... responseList , ... skippedResources ] }
1879
+ responseList = { responseList }
1872
1880
changeBranch = { changeBranch }
1873
1881
loading = { isBranchChangeLoading }
1874
1882
selectedAppCount = { selectedAppList . length }
0 commit comments