@@ -73,7 +73,8 @@ import BulkCDTrigger from './BulkCDTrigger'
7373import BulkCITrigger from './BulkCITrigger'
7474import {
7575 AppGroupDetailDefaultType ,
76- BulkCDDetailType , BulkCDDetailTypeResponse ,
76+ BulkCDDetailType ,
77+ BulkCDDetailTypeResponse ,
7778 BulkCIDetailType ,
7879 ProcessWorkFlowStatusType ,
7980 ResponseRowType ,
@@ -139,10 +140,11 @@ export default function EnvTriggerView({ filteredAppIds, isVirtualEnv }: AppGrou
139140 const abortControllerRef = useRef ( new AbortController ( ) )
140141 const [ appReleaseTags , setAppReleaseTags ] = useState < string [ ] > ( [ ] )
141142 const [ tagsEditableVal , setTagsEditable ] = useState < boolean > ( false )
142- const [ hideImageTaggingHardDelete , setHideImageTaggingHardDelete ] = useState < boolean > ( false )
143+ const [ hideImageTaggingHardDelete , setHideImageTaggingHardDelete ] = useState < boolean > ( false )
143144 const { queryParams } = useSearchString ( )
144145 const [ isConfigPresent , setConfigPresent ] = useState < boolean > ( false )
145146 const [ isDefaultConfigPresent , setDefaultConfig ] = useState < boolean > ( false )
147+ const [ searchImageTag , setSearchImageTag ] = useState < string > ( '' )
146148
147149 const setAppReleaseTagsNames = ( appReleaseTags : string [ ] ) => {
148150 setAppReleaseTags ( appReleaseTags )
@@ -164,7 +166,7 @@ export default function EnvTriggerView({ filteredAppIds, isVirtualEnv }: AppGrou
164166 } , [ filteredAppIds ] )
165167
166168 useEffect ( ( ) => {
167- if ( location . search . includes ( 'approval-node' ) && filteredWorkflows ?. length ) {
169+ if ( location . search . includes ( 'approval-node' ) && filteredWorkflows ?. length ) {
168170 setShowBulkCDModal ( false )
169171 setShowApprovalModal ( true )
170172 onClickCDMaterial ( queryParams . get ( 'approval-node' ) , DeploymentNodeType . CD , true )
@@ -173,13 +175,12 @@ export default function EnvTriggerView({ filteredAppIds, isVirtualEnv }: AppGrou
173175 } , [ location . search ] )
174176
175177 const getConfigs = ( ) => {
176- getDefaultConfig ( )
177- . then ( ( response ) => {
178- let isConfigPresent = response . result . isConfigured
179- let _isDefaultConfig = response . result . is_default_configured
180- setDefaultConfig ( _isDefaultConfig )
181- setConfigPresent ( isConfigPresent )
182- } )
178+ getDefaultConfig ( ) . then ( ( response ) => {
179+ let isConfigPresent = response . result . isConfigured
180+ let _isDefaultConfig = response . result . is_default_configured
181+ setDefaultConfig ( _isDefaultConfig )
182+ setConfigPresent ( isConfigPresent )
183+ } )
183184 }
184185
185186 const preserveSelection = ( _workflows : WorkflowType [ ] ) => {
@@ -314,7 +315,7 @@ export default function EnvTriggerView({ filteredAppIds, isVirtualEnv }: AppGrou
314315 preNodeAvailable : false ,
315316 postNodeAvailable : false ,
316317 appReleaseTags : wf . appReleaseTags ,
317- tagsEditable : wf . tagsEditable
318+ tagsEditable : wf . tagsEditable ,
318319 }
319320 for ( const node of wf . nodes ) {
320321 if ( node . environmentId === + envId && node . type === WorkflowNodeType . CD ) {
@@ -756,7 +757,12 @@ export default function EnvTriggerView({ filteredAppIds, isVirtualEnv }: AppGrou
756757 } )
757758 }
758759
759- const onClickCDMaterial = ( cdNodeId , nodeType : DeploymentNodeType , isApprovalNode ?: boolean ) => {
760+ const onClickCDMaterial = (
761+ cdNodeId ,
762+ nodeType : DeploymentNodeType ,
763+ isApprovalNode : boolean = false ,
764+ searchText ?: string ,
765+ ) : void => {
760766 ReactGA . event (
761767 isApprovalNode ? ENV_TRIGGER_VIEW_GA_EVENTS . ApprovalNodeClicked : ENV_TRIGGER_VIEW_GA_EVENTS . ImageClicked ,
762768 )
@@ -770,6 +776,7 @@ export default function EnvTriggerView({ filteredAppIds, isVirtualEnv }: AppGrou
770776 isApprovalNode ? DeploymentNodeType . APPROVAL : nodeType ,
771777 abortControllerRef . current . signal ,
772778 isApprovalNode ,
779+ searchText ,
773780 )
774781 . then ( ( data ) => {
775782 let _selectedNode
@@ -922,6 +929,7 @@ export default function EnvTriggerView({ filteredAppIds, isVirtualEnv }: AppGrou
922929 setErrorCode ( response . code )
923930 preventBodyScroll ( false )
924931 getWorkflowStatusData ( workflows )
932+ setSearchImageTag ( '' )
925933 }
926934 } )
927935 . catch ( ( errors : ServerErrors ) => {
@@ -1064,7 +1072,6 @@ export default function EnvTriggerView({ filteredAppIds, isVirtualEnv }: AppGrou
10641072 setIsBranchChangeLoading ( true )
10651073 triggerBranchChange ( appIds , + envId , value )
10661074 . then ( ( response : any ) => {
1067- console . log ( response )
10681075 const _responseList = [ ]
10691076 response . result . apps . map ( ( res ) => {
10701077 _responseList . push ( {
@@ -1118,7 +1125,10 @@ export default function EnvTriggerView({ filteredAppIds, isVirtualEnv }: AppGrou
11181125 const nodes = workflow . nodes . map ( ( node ) => {
11191126 if (
11201127 ( selectedCDDetail && selectedCDDetail . id === + node . id && selectedCDDetail . type === node . type ) ||
1121- ( ! showBulkCDModal && selectedCDNode && selectedCDNode . id == + node . id && node . type === selectedCDNode . type )
1128+ ( ! showBulkCDModal &&
1129+ selectedCDNode &&
1130+ selectedCDNode . id == + node . id &&
1131+ node . type === selectedCDNode . type )
11221132 ) {
11231133 const artifacts = node [ materialType ] . map ( ( artifact , i ) => {
11241134 return {
@@ -1275,13 +1285,14 @@ export default function EnvTriggerView({ filteredAppIds, isVirtualEnv }: AppGrou
12751285 preventBodyScroll ( false )
12761286 setCDLoading ( false )
12771287 setShowCDModal ( false )
1288+ setSearchImageTag ( '' )
12781289 }
12791290
12801291 const closeApprovalModal = ( e ) : void => {
12811292 preventBodyScroll ( false )
12821293 setShowApprovalModal ( false )
12831294 history . push ( {
1284- search : ''
1295+ search : '' ,
12851296 } )
12861297 }
12871298
@@ -1369,7 +1380,7 @@ export default function EnvTriggerView({ filteredAppIds, isVirtualEnv }: AppGrou
13691380
13701381 const updateBulkCDInputMaterial = ( cdMaterialResponse : Record < string , CDMaterialResponseType > ) : void => {
13711382 const _workflows = filteredWorkflows . map ( ( wf ) => {
1372- if ( wf . isSelected ) {
1383+ if ( wf . isSelected && cdMaterialResponse [ wf . appId ] ) {
13731384 const _appId = wf . appId
13741385 const _cdNode = wf . nodes . find (
13751386 ( node ) => node . type === WorkflowNodeType . CD && node . environmentId === + envId ,
@@ -1431,7 +1442,7 @@ export default function EnvTriggerView({ filteredAppIds, isVirtualEnv }: AppGrou
14311442 nodeList . forEach ( ( node , index ) => {
14321443 let ciArtifact = null
14331444 node [ materialType ] . forEach ( ( artifact ) => {
1434- if ( artifact . isSelected == true ) ciArtifact = artifact
1445+ if ( artifact . isSelected == true ) ciArtifact = artifact
14351446 } )
14361447 if ( ciArtifact ) {
14371448 _CDTriggerPromiseList . push (
@@ -1618,12 +1629,11 @@ export default function EnvTriggerView({ filteredAppIds, isVirtualEnv }: AppGrou
16181629 filteredWorkflows . forEach ( ( wf ) => {
16191630 if ( wf . isSelected ) {
16201631 //extract unique tags for this workflow
1621- wf . appReleaseTags ?. forEach ( ( tag ) => {
1622- if ( ! uniqueTagsSet . has ( tag ) ) {
1632+ wf . appReleaseTags ?. forEach ( ( tag ) => {
1633+ if ( ! uniqueTagsSet . has ( tag ) ) {
16231634 uniqueReleaseTags . push ( tag )
16241635 }
16251636 uniqueTagsSet . add ( tag )
1626-
16271637 } )
16281638 const _cdNode = wf . nodes . find (
16291639 ( node ) => node . type === WorkflowNodeType . CD && node . environmentId === + envId ,
@@ -1656,7 +1666,7 @@ export default function EnvTriggerView({ filteredAppIds, isVirtualEnv }: AppGrou
16561666 appReleaseTags : wf . appReleaseTags ,
16571667 tagsEditable : wf . tagsEditable ,
16581668 ciPipelineId : _selectedNode . connectingCiPipelineId ,
1659- hideImageTaggingHardDelete : wf . hideImageTaggingHardDelete
1669+ hideImageTaggingHardDelete : wf . hideImageTaggingHardDelete ,
16601670 } )
16611671 } else {
16621672 let warningMessage = ''
@@ -1680,7 +1690,7 @@ export default function EnvTriggerView({ filteredAppIds, isVirtualEnv }: AppGrou
16801690 _selectedAppWorkflowList . sort ( ( a , b ) => sortCallback ( 'name' , a , b ) )
16811691 return {
16821692 bulkCDDetailType : _selectedAppWorkflowList ,
1683- uniqueReleaseTags : uniqueReleaseTags
1693+ uniqueReleaseTags : uniqueReleaseTags ,
16841694 }
16851695 }
16861696
@@ -1932,6 +1942,17 @@ export default function EnvTriggerView({ filteredAppIds, isVirtualEnv }: AppGrou
19321942 )
19331943 }
19341944
1945+
1946+ const handleMaterialFilters = (
1947+ searchText : string ,
1948+ cdNodeId ,
1949+ nodeType : DeploymentNodeType ,
1950+ isApprovalNode : boolean = false ,
1951+ ) => {
1952+ onClickCDMaterial ( cdNodeId , nodeType , isApprovalNode , searchText )
1953+ setSearchImageTag ( searchText )
1954+ }
1955+
19351956 const renderBulkSourchChange = ( ) : JSX . Element | null => {
19361957 if ( ! showBulkSourceChangeModal ) {
19371958 return null
@@ -1963,6 +1984,7 @@ export default function EnvTriggerView({ filteredAppIds, isVirtualEnv }: AppGrou
19631984 }
19641985 }
19651986 const material = node ?. [ materialType ] || [ ]
1987+
19661988 return (
19671989 < VisibleModal className = "" parentClassName = "dc__overflow-hidden" close = { closeCDModal } >
19681990 < div
@@ -2004,16 +2026,18 @@ export default function EnvTriggerView({ filteredAppIds, isVirtualEnv }: AppGrou
20042026 userApprovalConfig = { node ?. userApprovalConfig }
20052027 requestedUserId = { node ?. requestedUserId }
20062028 isVirtualEnvironment = { isVirtualEnv }
2007- ciPipelineId = { node ?. connectingCiPipelineId }
2008- appReleaseTagNames = { appReleaseTags }
2009- setAppReleaseTagNames = { setAppReleaseTagsNames }
2010- tagsEditable = { tagsEditableVal }
2011- setTagsEditable = { setTagsEditableVal }
2012- hideImageTaggingHardDelete = { hideImageTaggingHardDelete }
2029+ ciPipelineId = { node ?. connectingCiPipelineId }
2030+ appReleaseTagNames = { appReleaseTags }
2031+ setAppReleaseTagNames = { setAppReleaseTagsNames }
2032+ tagsEditable = { tagsEditableVal }
2033+ setTagsEditable = { setTagsEditableVal }
2034+ hideImageTaggingHardDelete = { hideImageTaggingHardDelete }
20132035 history = { history }
20142036 location = { location }
20152037 match = { match }
20162038 isApplicationGroupTrigger = { true }
2039+ handleMaterialFilters = { handleMaterialFilters }
2040+ searchImageTag = { searchImageTag }
20172041 />
20182042 ) }
20192043 </ div >
@@ -2053,12 +2077,12 @@ export default function EnvTriggerView({ filteredAppIds, isVirtualEnv }: AppGrou
20532077 onClickCDMaterial = { onClickCDMaterial }
20542078 getModuleInfo = { getModuleInfo }
20552079 GitCommitInfoGeneric = { GitCommitInfoGeneric }
2056- ciPipelineId = { node ?. connectingCiPipelineId }
2057- appReleaseTagNames = { appReleaseTags }
2058- setAppReleaseTagNames = { setAppReleaseTagsNames }
2059- tagsEditable = { tagsEditableVal }
2060- setTagsEditable = { setTagsEditableVal }
2061- hideImageTaggingHardDelete = { hideImageTaggingHardDelete }
2080+ ciPipelineId = { node ?. connectingCiPipelineId }
2081+ appReleaseTagNames = { appReleaseTags }
2082+ setAppReleaseTagNames = { setAppReleaseTagsNames }
2083+ tagsEditable = { tagsEditableVal }
2084+ setTagsEditable = { setTagsEditableVal }
2085+ hideImageTaggingHardDelete = { hideImageTaggingHardDelete }
20622086 configs = { isConfigPresent }
20632087 isDefaultConfigPresent = { isDefaultConfigPresent }
20642088 />
0 commit comments