@@ -213,7 +213,7 @@ const EditableSingleSelect = (props: EditableSingleSelectProps) => {
213213field,
214214metadataField,
215215text,
216- form : { setFieldValue } ,
216+ form,
217217isFirstField,
218218focused,
219219setFocused,
@@ -224,26 +224,16 @@ const EditableSingleSelect = (props: EditableSingleSelectProps) => {
224224return < EditableSingleSelectSeries { ...props } /> ;
225225}
226226
227- return (
228- < DropDown
229- ref = { ref }
230- value = { field . value as string }
231- text = { text }
232- options = { metadataField . collection
233- ? metadataField . collection . map ( item => ( { label : item . label ?? item . name , value : item . value , order : item . order } ) )
234- : [ ] }
235- required = { metadataField . required }
236- handleChange = { element => element && setFieldValue ( field . name , element . value ) }
237- placeholder = { focused
238- ? `-- ${ t ( "SELECT_NO_OPTION_SELECTED" ) } --`
239- : `${ t ( "SELECT_NO_OPTION_SELECTED" ) } `
240- }
241- customCSS = { { isMetadataStyle : focused ? false : true } }
242- handleMenuIsOpen = { ( open : boolean ) => setFocused ( open ) }
243- openMenuOnFocus
244- autoFocus = { isFirstField }
245- />
246- ) ;
227+ return < EditableSingleSelectDropDown
228+ field = { field }
229+ metadataField = { metadataField }
230+ text = { text }
231+ form = { form }
232+ isFirstField = { isFirstField }
233+ focused = { focused }
234+ setFocused = { setFocused }
235+ ref = { ref }
236+ /> ;
247237} ;
248238
249239// Renders editable text area
@@ -338,8 +328,7 @@ const EditableSingleValueTime = ({
338328const EditableSingleSelectSeries = ( {
339329field,
340330metadataField,
341- text,
342- form : { setFieldValue } ,
331+ form,
343332isFirstField,
344333focused,
345334setFocused,
@@ -371,19 +360,50 @@ const EditableSingleSelectSeries = ({
371360return transformListProvider ( data ) ;
372361} ;
373362
363+ return < EditableSingleSelectDropDown
364+ field = { field }
365+ metadataField = { metadataField }
366+ text = { label }
367+ form = { form }
368+ isFirstField = { isFirstField }
369+ focused = { focused }
370+ setFocused = { setFocused }
371+ ref = { ref }
372+ fetchOptions = { fetchOptions }
373+ /> ;
374+ } ;
375+
376+ const EditableSingleSelectDropDown = ( {
377+ field,
378+ metadataField,
379+ text,
380+ form : { setFieldValue } ,
381+ options,
382+ fetchOptions,
383+ isFirstField,
384+ focused,
385+ setFocused,
386+ ref,
387+ } : EditableSingleSelectProps & Pick <
388+ Parameters < typeof DropDown > [ 0 ] ,
389+ "options" | "fetchOptions"
390+ > ) => {
391+ const { t } = useTranslation ( ) ;
392+
374393return (
375394< DropDown
376395ref = { ref }
377396value = { field . value as string }
378- text = { label }
397+ text = { text }
398+ options = { options }
379399fetchOptions = { fetchOptions }
380400required = { metadataField . required }
381401handleChange = { element => element && setFieldValue ( field . name , element . value ) }
382402placeholder = { focused
383403? `-- ${ t ( "SELECT_NO_OPTION_SELECTED" ) } --`
384404: `${ t ( "SELECT_NO_OPTION_SELECTED" ) } `
385405}
386- customCSS = { { isMetadataStyle : focused ? false : true } }
406+ customCSS = { { isMetadataStyle : focused ? false : true , width : "100%" } }
387407handleMenuIsOpen = { ( open : boolean ) => setFocused ( open ) }
388408openMenuOnFocus
389409autoFocus = { isFirstField }
0 commit comments