File tree Expand file tree Collapse file tree 1 file changed +19
-3
lines changed
site/src/modules/workspaces/DynamicParameter Expand file tree Collapse file tree 1 file changed +19
-3
lines changed Original file line number Diff line number Diff line change @@ -198,18 +198,34 @@ const ParameterField: FC<ParameterFieldProps> = ({
198
198
) ;
199
199
200
200
case "multi-select" : {
201
+ let values : string [ ] = [ ] ;
202
+
203
+ if ( value ) {
204
+ try {
205
+ const parsed = JSON . parse ( value ) ;
206
+ if ( Array . isArray ( parsed ) ) {
207
+ values = parsed ;
208
+ }
209
+ } catch ( e ) {
210
+ console . error ( "Error parsing parameter value with form_type multi-select" , e ) ;
211
+ }
212
+ }
213
+
201
214
// Map parameter options to MultiSelectCombobox options format
202
215
const options : Option [ ] = parameter . options . map ( ( opt ) => ( {
203
216
value : opt . value . value ,
204
217
label : opt . name ,
205
218
disable : false ,
206
219
} ) ) ;
207
220
208
- const selectedOptions : Option [ ] = JSON . parse ( value ) . map ( ( val : string ) => {
209
- const option = parameter . options . find ( ( o ) => o . value . value === val ) ;
221
+ const optionMap = new Map (
222
+ parameter . options . map ( opt => [ opt . value . value , opt . name ] )
223
+ ) ;
224
+
225
+ const selectedOptions : Option [ ] = values . map ( ( val ) => {
210
226
return {
211
227
value : val ,
212
- label : option ?. name || val ,
228
+ label : optionMap . get ( val ) || val ,
213
229
disable : false ,
214
230
} ;
215
231
} ) ;
You can’t perform that action at this time.
0 commit comments