|
1 | 1 | import React, { Component } from 'react'; |
2 | | -import { DialogForm, DialogFormSubmit, showError } from '@devtron-labs/devtron-fe-common-lib' |
| 2 | +import { CustomInput, DialogForm, DialogFormSubmit, showError } from '@devtron-labs/devtron-fe-common-lib' |
3 | 3 | import { ProjectType, ChartGroupEntry, EnvironmentType } from '../charts.types'; |
4 | 4 | import { ReactComponent as Edit } from '../../../assets/icons/ic-edit.svg'; |
5 | 5 | import { ReactComponent as Error } from '../../../assets/icons/ic-warning.svg'; |
6 | | -import { styles, smallMenuList, menuList, DropdownIndicator } from '../charts.util'; |
| 6 | +import { styles, smallMenuList, menuList, DropdownIndicator, renderAdditionalErrorInfo } from '../charts.util'; |
7 | 7 | import { Option } from '../../v2/common/ReactSelect.utils'; |
8 | 8 | import placeHolder from '../../../assets/icons/ic-plc-chart.svg'; |
9 | 9 | import ReactSelect from 'react-select'; |
@@ -192,38 +192,41 @@ function ApplicationNameList({ charts, handleNameChange, showAppNames }) { |
192 | 192 | } |
193 | 193 |
|
194 | 194 | let listClassNames = "deploy-selected-chart__list"; |
195 | | - if (showAppNames) { listClassNames = `${listClassNames} show` }; |
| 195 | + if (showAppNames) { |
| 196 | + listClassNames = `${listClassNames} show` |
| 197 | + } |
| 198 | + |
196 | 199 | return ( |
197 | 200 | <div |
198 | 201 | className={listClassNames}> |
199 | 202 | {charts.map((chart, index) => { |
200 | | - if (chart.isEnabled) return <div key={index} className="form__row deploy-selected-chart__list-item"> |
201 | | - <img onError={handleImageError} src={chart.chartMetaData.icon || ""} alt="" className="dc__chart-grid-item__icon" /> |
202 | | - <div className="w-100"> |
203 | | - <span className="form__label form__label--lower">{chart.chartMetaData.chartRepoName}/{chart.chartMetaData.chartName}</span> |
204 | | - <input autoComplete="off" className={`form__input ${chart?.name?.error ? 'form__input--error' : ''}`} type="text" data-testid={`chart-name-edit-input-${index}`} tabIndex={index + 1} value={chart.name.value} |
205 | | - onChange={(event) => { |
206 | | - handleNameChange(index, event.target.value) |
207 | | - }} /> |
208 | | - <span className={`form__error`}> |
209 | | - {chart.name.error && |
210 | | - <><Error className="form__icon form__icon--error" /> |
211 | | - <>{chart.name.error}. |
212 | | - {chart.name.suggestedName && |
213 | | - <> Suggested Name: |
214 | | - <span className="anchor pointer" |
215 | | - onClick={(e) => handleNameChange(index, chart.name.suggestedName)}> |
216 | | - {chart.name.suggestedName} |
217 | | - </span> |
218 | | - </> |
219 | | - } |
220 | | - </> |
221 | | - <br /> |
222 | | - </> |
223 | | - } |
224 | | - </span> |
| 203 | + if (chart.isEnabled) return ( |
| 204 | + <div key={index} className="form__row deploy-selected-chart__list-item"> |
| 205 | + <img |
| 206 | + onError={handleImageError} |
| 207 | + src={chart.chartMetaData.icon || ''} |
| 208 | + alt="" |
| 209 | + className="dc__chart-grid-item__icon" |
| 210 | + /> |
| 211 | + <div className="w-100"> |
| 212 | + <CustomInput |
| 213 | + name="name" |
| 214 | + label={`${chart.chartMetaData.chartRepoName}/${chart.chartMetaData.chartName}`} |
| 215 | + labelClassName="form__label--lower" |
| 216 | + rootClassName={`form__input ${chart?.name?.error ? 'form__input--error' : ''}`} |
| 217 | + data-testid={`chart-name-edit-input-${index}`} |
| 218 | + tabIndex={index + 1} |
| 219 | + value={chart.name.value} |
| 220 | + onChange={(event) => { |
| 221 | + handleNameChange(index, event.target.value) |
| 222 | + }} |
| 223 | + error={chart.name.error} |
| 224 | + isRequiredField={true} |
| 225 | + additionalErrorInfo={renderAdditionalErrorInfo(handleNameChange, chart.name.suggestedName, index)} |
| 226 | + /> |
| 227 | + </div> |
225 | 228 | </div> |
226 | | - </div> |
| 229 | + ) |
227 | 230 | else return null |
228 | 231 | })} |
229 | 232 | </div> |
|
0 commit comments