{
addRelation({ target: { name, value } });
}}
id={name}
isDisabled={!editable}
isLoading={isLoading}
isClearable
mainField={mainField}
move={moveRelation}
name={name}
nextSearch={nextSearch}
options={options}
onChange={value => {
onChange({ target: { name, value: value ? value.value : value } });
}}
onInputChange={onInputChange}
onMenuClose={() => {
setState(prevState => ({ ...prevState, _q: '', _start: 0 }));
}}
onMenuScrollToBottom={onMenuScrollToBottom}
onRemove={onRemove}
placeholder={
isEmpty(placeholder) ? (
) : (
placeholder
)
}
source={source}
targetModel={targetModel}
value={value}
/>
);
}
SelectWrapper.defaultProps = {
editable: true,
description: '',
label: '',
plugin: '',
placeholder: '',
value: null,
};
SelectWrapper.propTypes = {
editable: PropTypes.bool,
description: PropTypes.string,
label: PropTypes.string,
mainField: PropTypes.string.isRequired,
name: PropTypes.string.isRequired,
placeholder: PropTypes.string,
plugin: PropTypes.string,
relationType: PropTypes.string.isRequired,
targetModel: PropTypes.string.isRequired,
value: PropTypes.oneOfType([PropTypes.object, PropTypes.array]),
};
export default memo(SelectWrapper);