From aa7770bb56a9b33d586059b1ce88c1958ef674bb Mon Sep 17 00:00:00 2001 From: Amit Kumar Das Date: Thu, 22 Apr 2021 18:14:02 +0530 Subject: [PATCH 1/2] Added validation in probes modal and fixed the type issue while probes creation Signed-off-by: Amit Kumar Das --- .../TuneWorkflow/AddProbe/ProbeDetails.tsx | 22 ++++-- .../TuneWorkflow/AddProbe/index.tsx | 72 +++++++++++-------- .../TuneWorkflowSteps/SteadyState.tsx | 15 ++-- .../TuneWorkflowSteps/TargetApplication.tsx | 1 - 4 files changed, 69 insertions(+), 41 deletions(-) diff --git a/litmus-portal/frontend/src/views/CreateWorkflow/TuneWorkflow/AddProbe/ProbeDetails.tsx b/litmus-portal/frontend/src/views/CreateWorkflow/TuneWorkflow/AddProbe/ProbeDetails.tsx index c244110710d..3ebb4853fc5 100644 --- a/litmus-portal/frontend/src/views/CreateWorkflow/TuneWorkflow/AddProbe/ProbeDetails.tsx +++ b/litmus-portal/frontend/src/views/CreateWorkflow/TuneWorkflow/AddProbe/ProbeDetails.tsx @@ -37,11 +37,7 @@ const ProbeDetails: React.FC = ({ | { name?: string | undefined; value: unknown } > ) => { - if ( - e.target.name === 'url' || - e.target.name === 'insecureSkipVerify' || - e.target.name === 'responseTimeout' - ) { + if (e.target.name === 'url' || e.target.name === 'responseTimeout') { setProbeData({ ...probeData, 'httpProbe/inputs': { @@ -50,6 +46,15 @@ const ProbeDetails: React.FC = ({ }, }); } + if (e.target.name === 'insecureSkipVerify') { + setProbeData({ + ...probeData, + 'httpProbe/inputs': { + ...probeData['httpProbe/inputs'], + [e.target.name]: e.target.value === 'true', + }, + }); + } }; const handleCmd = ( @@ -150,7 +155,12 @@ const ProbeDetails: React.FC = ({ {t('createWorkflow.tuneWorkflow.addProbe.inputLabels.insecure')} { + <> + option.namespace)} + freeSolo + value={targetApp.appns} + defaultValue={targetApp.appns} + className={classes.autoCompleteText} + onChange={(_, v: any) => { setTargetApp({ ...targetApp, - appkind: event.target.value as string, + appns: v, }); handleLabelChange(); - if (event.target.value === constants.deployment) { - setGVRObj({ - group: constants.apps, - version: constants.v1, - resource: constants.deployments, - }); - } else if (event.target.value === constants.statefulset) { - setGVRObj({ - group: constants.apps, - version: constants.v1, - resource: constants.statefulsets, - }); - } else if (event.target.value === constants.daemonset) { - setGVRObj({ - group: constants.apps, - version: constants.v1, - resource: constants.daemonsets, - }); - } else if ( - event.target.value === constants.deploymentconfig - ) { - setGVRObj({ - group: constants.openshift, - version: constants.v1, - resource: constants.deploymentconfigs, - }); - } else if (event.target.value === constants.rollout) { - setGVRObj({ - group: constants.argoproj, - version: constants.v1alpha1, - resource: constants.rollouts, - }); - } else { - setGVRObj({ - group: '', - version: '', - resource: '', - }); - } }} - label={constants.appKind} - > - - {applicationKind.map((kind) => { - return ( - - {kind} - - ); - })} - - + renderInput={(params) => ( + { + setTargetApp({ + ...targetApp, + appns: event.target.value, + }); + }} + {...params} + label={constants.appns} + helperText={ + appinfoData.filter( + (data) => data.namespace === targetApp.appns + ).length === 0 ? ( + + {t( + 'createWorkflow.tuneWorkflow.verticalStepper.nsError' + )} + + ) : ( + '' + ) + } + /> + )} + /> +
+ )} -
- {/* AutoComplete textfield for applabel */} - {engineManifest.spec.appinfo?.applabel && ( - { - setTargetApp({ - ...targetApp, - applabel: v, - }); - }} - renderInput={(params) => ( - + + + {t('createWorkflow.tuneWorkflow.verticalStepper.appkind')} + + + +
+ + )} + + {/* AutoComplete textfield for applabel */} + {engineManifest.spec.appinfo?.applabel && ( + <> + { + setTargetApp({ + ...targetApp, + applabel: v, + }); + }} + renderInput={(params) => ( + { + setTargetApp({ + ...targetApp, + applabel: event.target.value, + }); + }} + helperText={ + appLabel.filter((data) => data === targetApp.applabel) + .length === 0 ? ( + + {t( + 'createWorkflow.tuneWorkflow.verticalStepper.labelError' + )} + + ) : ( + '' + ) + } + {...params} + label={constants.appLabel} + /> + )} + /> +
+ )} -
{/* JobCleanUpPolicy textfield */}