@@ -8,13 +8,7 @@ import fnToString from '@data-driven-forms/common/utils/fn-to-string';
8
8
import { Select as CarbonSelect , MultiSelect , SelectItem , ComboBox } from 'carbon-components-react' ;
9
9
import prepareProps from '../prepare-props' ;
10
10
11
- export const multiOnChange = ( input , simpleValue ) => ( { selectedItem, selectedItems } ) => {
12
- if ( simpleValue ) {
13
- return input . onChange ( selectedItems ?. map ( ( { value } ) => value ) || selectedItem . value ) ;
14
- } else {
15
- return input . onChange ( selectedItems || selectedItem ) ;
16
- }
17
- } ;
11
+ const onChangeWrapper = ( onChange ) => ( { selectedItem, selectedItems } ) => onChange ( selectedItems || selectedItem ) ;
18
12
19
13
export const getMultiValue = ( value , options ) =>
20
14
( Array . isArray ( value ) ? value : value ? [ value ] : [ ] ) . map ( ( item ) =>
@@ -43,7 +37,7 @@ const ClearedMultiSelectFilterable = ({
43
37
disabled = { isDisabled }
44
38
{ ...rest }
45
39
placeholder = { carbonLabel || placeholder }
46
- onChange = { originalOnChange }
40
+ onChange = { onChangeWrapper ( onChange ) }
47
41
titleText = { rest . labelText }
48
42
id = { rest . name }
49
43
invalid = { Boolean ( invalidText ) }
@@ -94,7 +88,7 @@ const ClearedMultiSelect = ({
94
88
disabled = { isDisabled }
95
89
{ ...rest }
96
90
label = { carbonLabel || placeholder }
97
- onChange = { originalOnChange }
91
+ onChange = { onChangeWrapper ( onChange ) }
98
92
titleText = { rest . labelText }
99
93
id = { rest . name }
100
94
invalid = { Boolean ( invalidText ) }
@@ -206,6 +200,7 @@ const ClearedSelectSearchable = ({
206
200
originalOnChange,
207
201
placeholder,
208
202
labelText,
203
+ onChange,
209
204
...rest
210
205
} ) => (
211
206
< ComboBox
@@ -218,7 +213,7 @@ const ClearedSelectSearchable = ({
218
213
items = { options }
219
214
placeholder = { placeholder }
220
215
titleText = { labelText }
221
- onChange = { originalOnChange }
216
+ onChange = { onChangeWrapper ( onChange ) }
222
217
/>
223
218
) ;
224
219
@@ -273,7 +268,6 @@ const Select = (props) => {
273
268
loadOptions = { loadOptions }
274
269
invalidText = { invalidText }
275
270
loadOptionsChangeCounter = { loadOptionsChangeCounter }
276
- originalOnChange = { multiOnChange ( input , rest . simpleValue ) }
277
271
helperText = { text }
278
272
/>
279
273
) ;
0 commit comments