@@ -123,7 +123,8 @@ export function DirectoryItemsInput({
123
123
remove ( getValues ( name ) . findIndex ( ( item : FieldValues ) => item . id === chip ) ) ;
124
124
} ) ;
125
125
}
126
- const currentColors = [ ...elementsMetadata ] ;
126
+
127
+ const currentElementsMetadata = elementsMetadata ? [ ...elementsMetadata ] : [ ] ;
127
128
values . forEach ( ( value ) => {
128
129
const { icon, children, ...otherElementAttributes } = value ;
129
130
@@ -137,7 +138,7 @@ export function DirectoryItemsInput({
137
138
append ( otherElementAttributes ) ;
138
139
if ( equipmentColorsMap && value ?. specificMetadata ?. equipmentType ) {
139
140
const type : EquipmentType = value ?. specificMetadata ?. equipmentType as EquipmentType ;
140
- currentColors . push ( {
141
+ currentElementsMetadata . push ( {
141
142
color : equipmentColorsMap . get ( value . specificMetadata . equipmentType ) ?? '' ,
142
143
translateLabel :
143
144
type !== EquipmentType . HVDC_LINE ? BASE_EQUIPMENTS [ type ] ?. label : 'HvdcLines' ,
@@ -150,7 +151,7 @@ export function DirectoryItemsInput({
150
151
setDirectoryItemSelectorOpen ( false ) ;
151
152
setSelected ( [ ] ) ;
152
153
if ( equipmentColorsMap ) {
153
- setElementsMetadata ( currentColors ) ;
154
+ setElementsMetadata ( currentElementsMetadata ) ;
154
155
}
155
156
} ,
156
157
[
@@ -172,7 +173,7 @@ export function DirectoryItemsInput({
172
173
remove ( index ) ;
173
174
onRowChanged ?.( true ) ;
174
175
onChange ?.( getValues ( name ) ) ;
175
- if ( elementsMetadata . length > 0 ) {
176
+ if ( elementsMetadata ? .length > 0 ) {
176
177
const currentColors = [ ...elementsMetadata . slice ( 0 , index ) , ...elementsMetadata . slice ( index + 1 ) ] ;
177
178
setElementsMetadata ( currentColors ) ;
178
179
}
@@ -225,7 +226,12 @@ export function DirectoryItemsInput({
225
226
< Chip
226
227
key = { item . id }
227
228
size = "small"
228
- sx = { { backgroundColor : elementsMetadata ?. [ index ] . color } }
229
+ sx = { {
230
+ backgroundColor :
231
+ elementsMetadata ?. length > index
232
+ ? elementsMetadata ?. [ index ] ?. color
233
+ : undefined ,
234
+ } }
229
235
onDelete = { ( ) => removeElements ( index ) }
230
236
onClick = { ( ) => handleChipClick ( index ) }
231
237
label = {
@@ -237,7 +243,13 @@ export function DirectoryItemsInput({
237
243
/>
238
244
< FormHelperText >
239
245
{ elementsMetadata ?. [ index ] ?. translateLabel ? (
240
- < FormattedMessage id = { elementsMetadata ?. [ index ] ?. translateLabel } />
246
+ < FormattedMessage
247
+ id = {
248
+ elementsMetadata ?. length > index
249
+ ? elementsMetadata ?. [ index ] ?. translateLabel
250
+ : undefined
251
+ }
252
+ />
241
253
) : (
242
254
''
243
255
) }
0 commit comments