@@ -8,13 +8,7 @@ import fnToString from '@data-driven-forms/common/utils/fn-to-string';
88import { Select as CarbonSelect , MultiSelect , SelectItem , ComboBox } from 'carbon-components-react' ;
99import prepareProps from '../prepare-props' ;
1010
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 ) ;
1812
1913export const getMultiValue = ( value , options ) =>
2014 ( Array . isArray ( value ) ? value : value ? [ value ] : [ ] ) . map ( ( item ) =>
@@ -43,7 +37,7 @@ const ClearedMultiSelectFilterable = ({
4337 disabled = { isDisabled }
4438 { ...rest }
4539 placeholder = { carbonLabel || placeholder }
46- onChange = { originalOnChange }
40+ onChange = { onChangeWrapper ( onChange ) }
4741 titleText = { rest . labelText }
4842 id = { rest . name }
4943 invalid = { Boolean ( invalidText ) }
@@ -94,7 +88,7 @@ const ClearedMultiSelect = ({
9488 disabled = { isDisabled }
9589 { ...rest }
9690 label = { carbonLabel || placeholder }
97- onChange = { originalOnChange }
91+ onChange = { onChangeWrapper ( onChange ) }
9892 titleText = { rest . labelText }
9993 id = { rest . name }
10094 invalid = { Boolean ( invalidText ) }
@@ -206,6 +200,7 @@ const ClearedSelectSearchable = ({
206200 originalOnChange,
207201 placeholder,
208202 labelText,
203+ onChange,
209204 ...rest
210205} ) => (
211206 < ComboBox
@@ -218,7 +213,7 @@ const ClearedSelectSearchable = ({
218213 items = { options }
219214 placeholder = { placeholder }
220215 titleText = { labelText }
221- onChange = { originalOnChange }
216+ onChange = { onChangeWrapper ( onChange ) }
222217 />
223218) ;
224219
@@ -273,7 +268,6 @@ const Select = (props) => {
273268 loadOptions = { loadOptions }
274269 invalidText = { invalidText }
275270 loadOptionsChangeCounter = { loadOptionsChangeCounter }
276- originalOnChange = { multiOnChange ( input , rest . simpleValue ) }
277271 helperText = { text }
278272 />
279273 ) ;
0 commit comments