Skip to content

Commit 7d6e1cb

Browse files
committed
fix: retain release mode tab when loading is completed for new deployment tab
1 parent d68e7cc commit 7d6e1cb

File tree

1 file changed

+25
-18
lines changed

1 file changed

+25
-18
lines changed

src/components/cdPipeline/CDPipeline.tsx

Lines changed: 25 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -356,7 +356,13 @@ export default function CDPipeline({
356356
})
357357
sortObjectArrayAlphabetically(list, 'name')
358358
form.environments = list
359-
setFormData(form)
359+
setFormData((prevState) => {
360+
return {
361+
...form,
362+
// Can retain the release mode since this method is called only when creating a new pipeline
363+
releaseMode: prevState.releaseMode,
364+
}
365+
})
360366
setPageState(ViewType.FORM)
361367
setIsAdvanced(false)
362368
})
@@ -827,6 +833,9 @@ export default function CDPipeline({
827833
setSelectedTaskIndex(_formData[activeStageName].steps.length - 1)
828834
}
829835

836+
/**
837+
* @description This method is called only in case when we render basic view, i.e, CD creation first modal
838+
*/
830839
const handleStrategy = (value: string): void => {
831840
let newSelection
832841
newSelection = {}
@@ -838,10 +847,10 @@ export default function CDPipeline({
838847
newSelection['jsonStr'] = JSON.stringify(allStrategies.current[value], null, 4)
839848
newSelection['yamlStr'] = YAMLStringify(allStrategies.current[value])
840849

841-
const _form = { ...formData }
842-
_form.savedStrategies.push(newSelection)
843-
_form.savedStrategies = [newSelection]
844-
setFormData(_form)
850+
setFormData((prevState) => ({
851+
...prevState,
852+
savedStrategies: [newSelection],
853+
}))
845854
}
846855

847856
const handleValidateMandatoryPlugins: PipelineContext['handleValidateMandatoryPlugins'] = ({
@@ -1411,7 +1420,7 @@ export default function CDPipeline({
14111420
</button>
14121421
</div>
14131422

1414-
{!isAdvanced && (
1423+
{!isAdvanced && !isTemplateView && (
14151424
<div className="px-20">
14161425
<TabGroup
14171426
tabs={[
@@ -1425,18 +1434,16 @@ export default function CDPipeline({
14251434
'data-testid': 'new-deployment-tab',
14261435
},
14271436
},
1428-
...(isTemplateView
1429-
? []
1430-
: [{
1431-
tabType: 'button' as const,
1432-
active: formData.releaseMode === ReleaseMode.MIGRATE_EXTERNAL_APPS,
1433-
label: 'Migrate to Devtron',
1434-
id: ReleaseMode.MIGRATE_EXTERNAL_APPS,
1435-
props: {
1436-
onClick: handleSelectMigrateToDevtron,
1437-
'data-testid': 'migrate-to-devtron-tab',
1438-
},
1439-
}]),
1437+
{
1438+
tabType: 'button' as const,
1439+
active: formData.releaseMode === ReleaseMode.MIGRATE_EXTERNAL_APPS,
1440+
label: 'Migrate to Devtron',
1441+
id: ReleaseMode.MIGRATE_EXTERNAL_APPS,
1442+
props: {
1443+
onClick: handleSelectMigrateToDevtron,
1444+
'data-testid': 'migrate-to-devtron-tab',
1445+
},
1446+
},
14401447
]}
14411448
/>
14421449
</div>

0 commit comments

Comments
 (0)