Skip to content

Commit 1955b66

Browse files
committed
Merge branch 'main' into custom-input-v2
2 parents 7b12629 + 0570f92 commit 1955b66

31 files changed

+229
-245
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"private": true,
55
"homepage": "/dashboard",
66
"dependencies": {
7-
"@devtron-labs/devtron-fe-common-lib": "0.0.45-beta-24",
7+
"@devtron-labs/devtron-fe-common-lib": "0.0.47",
88
"@rjsf/core": "^5.13.3",
99
"@rjsf/utils": "^5.13.3",
1010
"@rjsf/validator-ajv8": "^5.13.3",

src/components/CIPipelineN/CustomInputOutputVariables.tsx

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -219,10 +219,9 @@ function CustomInputOutputVariables({ type }: { type: PluginVariableType }) {
219219
type="text"
220220
placeholder="Variable name"
221221
value={variable.name}
222-
autoComplete="off"
223222
name="name"
224223
onChange={(e) => handleInputOutputValueChange(e, index)}
225-
handleOnBlur={(e) => handleBlur()}
224+
handleOnBlur={handleBlur}
226225
/>
227226
</div>
228227

@@ -305,7 +304,7 @@ function CustomInputOutputVariables({ type }: { type: PluginVariableType }) {
305304
value={variable.description}
306305
name="description"
307306
onChange={(e) => handleInputOutputValueChange(e, index)}
308-
handleOnBlur={(e) => handleBlur()}
307+
handleOnBlur={handleBlur}
309308
/>
310309
</div>
311310

src/components/CIPipelineN/MountFromHost.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ function MountFromHost() {
5757
return (
5858
<>
5959
<div className="mount-row mb-4 mt-4">
60+
<div className="fw-6 fs-13 lh-32 cn-7 "></div>
6061
<CustomInput
6162
data-testid="script-mount-host-file-path-host"
6263
rootClassName="bcn-1 en-2 bw-1 pl-10 pr-10 pt-6 pb-6 dc__left-radius-4 dc__no-right-border"

src/components/CIPipelineN/TaskDetailComponent.tsx

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -94,33 +94,32 @@ export function TaskDetailComponent() {
9494
setFormData(_formData)
9595
}
9696

97+
const renderTaskNameError = (): string => {
98+
if (
99+
formDataErrorObj[activeStageName].steps[selectedTaskIndex]?.name &&
100+
!formDataErrorObj[activeStageName].steps[selectedTaskIndex]?.name.isValid
101+
) {
102+
return formDataErrorObj[activeStageName].steps[selectedTaskIndex]?.name.message
103+
}
104+
}
105+
97106
return (
98107
<div>
99108
<div>
100109
<div className="row-container mb-12">
101110
<div className="fw-6 fs-13 lh-32 cn-7 dc__required-field">Task name</div>
102-
<div>
103111
<CustomInput
104112
rootClassName="w-100 br-4 en-2 bw-1 pl-10 pr-10 pt-5-imp pb-5-imp"
105113
data-testid="preBuild-task-name-textbox"
106114
type="text"
107115
onChange={(e) => handleNameChange(e)}
108116
value={formData[activeStageName].steps[selectedTaskIndex].name}
109117
name="task-name"
118+
error={renderTaskNameError()}
110119
/>
111-
{formDataErrorObj[activeStageName].steps[selectedTaskIndex]?.name &&
112-
!formDataErrorObj[activeStageName].steps[selectedTaskIndex]?.name.isValid && (
113-
<span className="flexbox cr-5 mt-4 fw-5 fs-11 flexbox">
114-
<AlertTriangle className="icon-dim-14 mr-5 ml-5 mt-2" />
115-
<span>
116-
{formDataErrorObj[activeStageName].steps[selectedTaskIndex]?.name.message}
117-
</span>
118-
</span>
119-
)}
120-
</div>
121120
</div>
122121
<div className="row-container mb-12">
123-
<div className="fw-6 fs-13 lh-32 cn-7 ">Description</div>{' '}
122+
<div className="fw-6 fs-13 lh-32 cn-7 ">Description</div>
124123
<CustomInput
125124
rootClassName="w-100 br-4 en-2 bw-1 pl-10 pr-10 pt-5-imp pb-5-imp"
126125
data-testid="preBuild-task-description-textbox"

src/components/CIPipelineN/TaskTypeDetailComponent.tsx

Lines changed: 12 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -304,14 +304,12 @@ export function TaskTypeDetailComponent() {
304304
formData[activeStageName].steps[selectedTaskIndex].inlineStepDetail
305305
.storeScriptAt
306306
}
307+
error={
308+
errorObj?.storeScriptAt &&
309+
!errorObj.storeScriptAt.isValid &&
310+
errorObj?.storeScriptAt.message
311+
}
307312
/>
308-
309-
{errorObj?.storeScriptAt && !errorObj.storeScriptAt.isValid && (
310-
<span className="flexbox cr-5 mt-4 fw-5 fs-11 flexbox">
311-
<AlertTriangle className="icon-dim-14 mr-5 ml-5 mt-2" />
312-
<span>{errorObj?.storeScriptAt.message}</span>
313-
</span>
314-
)}
315313
</div>
316314
</div>
317315
</>
@@ -324,21 +322,20 @@ export function TaskTypeDetailComponent() {
324322
<CustomInput
325323
data-testid="custom-script-container-image-command-textbox"
326324
rootClassName="w-100 br-4 en-2 bw-1 pl-10 pr-10 pt-5-imp pb-5-imp"
327-
autoComplete="off"
325+
name="command"
328326
placeholder="Eg. “echo”"
329-
type="text"
330327
onChange={(e) => handleCommandArgs(e, TaskFieldLabel.COMMAND)}
331328
value={
332329
formData[activeStageName].steps[selectedTaskIndex].inlineStepDetail.commandArgsMap?.[0][
333330
TaskFieldLabel.COMMAND
334331
]
335332
}
336-
name='command'
337333
/>
338334
</div>
339335
<div className="row-container mb-12">
340336
<TaskFieldTippyDescription taskField={'Args'} contentDescription={TaskFieldDescription.ARGS} />
341337
<CustomInput
338+
name="args"
342339
data-testid="custom-script-container-image-args-textbox"
343340
rootClassName="w-100 br-4 en-2 bw-1 pl-10 pr-10 pt-5-imp pb-5-imp"
344341
placeholder='Eg. "HOSTNAME", "KUBERNETES_PORT"'
@@ -348,7 +345,6 @@ export function TaskTypeDetailComponent() {
348345
TaskFieldLabel.ARGS
349346
]
350347
}
351-
name="args"
352348
/>
353349
</div>
354350
<MultiplePort />
@@ -385,25 +381,20 @@ export function TaskTypeDetailComponent() {
385381
<CustomInput
386382
name="mountCodeToContainerPath"
387383
rootClassName="w-100 br-4 en-2 bw-1 pl-10 pr-10 pt-5 pb-5"
388-
autoComplete="off"
389384
data-testid="script-mount-container-textbox"
390385
placeholder="Eg file/folder"
391-
type="text"
392386
onChange={(e) => handleCustomChange(e, 'mountCodeToContainerPath')}
393387
value={
394388
formData[activeStageName].steps[selectedTaskIndex].inlineStepDetail
395389
.mountCodeToContainerPath
396390
}
391+
error={
392+
errorObj['mountCodeToContainerPath'] &&
393+
!errorObj['mountCodeToContainerPath'].isValid &&
394+
errorObj['mountCodeToContainerPath'].message
395+
}
397396
/>
398397
</div>
399-
<div className="pl-220">
400-
{errorObj['mountCodeToContainerPath'] && !errorObj['mountCodeToContainerPath'].isValid && (
401-
<span className="flexbox cr-5 mt-4 fw-5 fs-11 flexbox">
402-
<AlertTriangle className="icon-dim-14 mr-5 ml-5 mt-2" />
403-
<span>{errorObj['mountCodeToContainerPath'].message}</span>
404-
</span>
405-
)}
406-
</div>
407398
</div>
408399
)}
409400
<div className="row-container mb-12">

src/components/ConfigMapSecret/ConfigMapSecret.components.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,15 +57,15 @@ export const KeyValueInput: React.FC<KeyValueInputInterface> = React.memo(
5757
)}
5858
<div className="form__field">
5959
<label>
60-
{keyLabel}
6160
<CustomInput
6261
name="key"
62+
label={keyLabel}
6363
data-testid={`secrets-gui-key-textbox-${index}`}
6464
value={k}
6565
onChange={(e) => onChange(index, e.target.value, v)}
6666
disabled={typeof onChange !== 'function'}
67+
error={keyError}
6768
/>
68-
{keyError ? <span className="form__error">{keyError}</span> : <div />}
6969
</label>
7070
</div>
7171
<div className="form__field">

src/components/ConfigMapSecret/ConfigMapSecretForm.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -856,12 +856,13 @@ export const ConfigMapSecretForm = React.memo(
856856
name="mountPath"
857857
dataTestid={`${componentType}-volume-path-textbox`}
858858
value={state.volumeMountPath.value}
859-
label="Volume mount path*"
859+
label="Volume mount path"
860860
placeholder="/directory-path"
861861
helperText="Keys are mounted as files to volume"
862862
error={state.volumeMountPath.error}
863863
onChange={onMountPathChange}
864864
disabled={!draftMode && (state.cmSecretState === CM_SECRET_STATE.INHERITED || readonlyView)}
865+
isRequiredField={true}
865866
/>
866867
</div>
867868
{renderSubPath()}

src/components/app/ResourceTreeNodes.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -841,7 +841,7 @@ const PodPopup: React.FC<{appName: string, environmentName: string, name: string
841841
}
842842

843843
export function NoPod({ selectMessage = "Select a pod to view events", style = {} }) {
844-
return <div data-testid="no-pod" className="no-pod no-pod--pod" style={{ ...style }}>
844+
return <div data-testid="no-pod" className="no-pod no-pod-list no-pod--pod" style={{ ...style }}>
845845
<PodIcon color="var(--N400)" style={{ width: '48px', height: '48px', marginBottom: '12px' }} />
846846
<p>{selectMessage}</p>
847847
</div>

src/components/app/details/appDetails/appDetails.scss

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -245,6 +245,12 @@ table.pod__table td:last-child {
245245
padding-right: 20px;
246246
}
247247

248+
.no-pod-list{
249+
display: flex;
250+
align-items: center;
251+
justify-content: center;
252+
}
253+
248254
.no-pod {
249255
width: 100%;
250256
height: 100%;

src/components/cdPipeline/BuildCD.tsx

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -180,13 +180,8 @@ export default function BuildCD({
180180
value={formData.name}
181181
onChange={handlePipelineName}
182182
isRequiredField={true}
183+
error={formDataErrorObj.name && !formDataErrorObj.name.isValid && formDataErrorObj.name.message}
183184
/>
184-
{formDataErrorObj.name && !formDataErrorObj.name.isValid && (
185-
<span className="flexbox cr-5 mt-4 fw-5 fs-11 flexbox">
186-
<AlertTriangle className="icon-dim-14 mr-5 ml-5 mt-2" />
187-
<span>{formDataErrorObj.name.message}</span>
188-
</span>
189-
)}
190185
</div>
191186
)
192187
}

0 commit comments

Comments
 (0)