Skip to content

Commit 4d5b06c

Browse files
authored
Merge pull request #333 from hossein-zare/dev-5.x
v5.1.18
2 parents a0b92fc + 4895f50 commit 4d5b06c

File tree

3 files changed

+23
-6
lines changed

3 files changed

+23
-6
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "react-native-dropdown-picker",
3-
"version": "5.1.17",
3+
"version": "5.1.18",
44
"description": "A single / multiple, categorizable, customizable, localizable and searchable item picker (drop-down) component for react native which supports both Android & iOS.",
55
"keywords": [
66
"picker",

src/components/Picker.js

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1019,8 +1019,10 @@ function Picker({
10191019
*/
10201020
const _searchContainerStyle = useMemo(() => ([
10211021
RTL_DIRECTION(rtl, THEME.searchContainer),
1022-
...[searchContainerStyle].flat()
1023-
]), [rtl, searchContainerStyle, THEME]);
1022+
...[searchContainerStyle].flat(), ! searchable && listMode === LIST_MODE.MODAL && {
1023+
flexDirection: 'row-reverse'
1024+
}
1025+
]), [rtl, listMode, searchable, searchContainerStyle, THEME]);
10241026

10251027
/**
10261028
* The search text input style.
@@ -1260,6 +1262,7 @@ function Picker({
12601262
disabledItemContainerStyle={_disabledItemContainerStyle}
12611263
disabledItemLabelStyle={_disabledItemLabelStyle}
12621264
categorySelectable={categorySelectable}
1265+
listMode={listMode}
12631266
onPress={onPressItem}
12641267
theme={theme}
12651268
THEME={THEME}
@@ -1287,6 +1290,7 @@ function Picker({
12871290
_value,
12881291
multiple,
12891292
categorySelectable,
1293+
listMode,
12901294
onPressItem,
12911295
theme,
12921296
THEME

src/components/RenderListItem.js

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { LIST_MODE } from 'constants';
12
import React, {
23
useMemo,
34
useCallback,
@@ -6,9 +7,12 @@ import React, {
67

78
import {
89
Text,
10+
TouchableOpacity
911
} from 'react-native';
1012

11-
import { TouchableOpacity } from 'react-native-gesture-handler';
13+
import {
14+
TouchableOpacity as TouchableOpacityGestureHandler
15+
} from 'react-native-gesture-handler';
1216

1317
function RenderListItem({
1418
rtl,
@@ -35,6 +39,7 @@ function RenderListItem({
3539
disabledItemContainerStyle,
3640
disabledItemLabelStyle,
3741
categorySelectable,
42+
listMode,
3843
onPress,
3944
THEME
4045
}) {
@@ -147,14 +152,20 @@ function RenderListItem({
147152
onPress(item, custom);
148153
}, [onPress, parent, categorySelectable, label, value, custom]);
149154

155+
const _TouchableOpacity = useMemo(() => {
156+
if (listMode === LIST_MODE.MODAL)
157+
return TouchableOpacity;
158+
return TouchableOpacityGestureHandler;
159+
}, [listMode]);
160+
150161
return (
151-
<TouchableOpacity style={_listItemContainerStyle} onPress={__onPress} disabled={selectable === false || disabled}>
162+
<_TouchableOpacity style={_listItemContainerStyle} onPress={__onPress} disabled={selectable === false || disabled}>
152163
{IconComponent}
153164
<Text style={_listItemLabelStyle}>
154165
{label}
155166
</Text>
156167
{_TickIconComponent}
157-
</TouchableOpacity>
168+
</_TouchableOpacity>
158169
);
159170
}
160171

@@ -175,6 +186,8 @@ const areEqual = (nextProps, prevProps) => {
175186
return false;
176187
if (nextProps.categorySelectable !== prevProps.categorySelectable)
177188
return false;
189+
if (nextProps.listMode !== prevProps.listMode)
190+
return false;
178191
if (nextProps.rtl !== prevProps.rtl)
179192
return false;
180193
if (nextProps.theme !== prevProps.theme)

0 commit comments

Comments
 (0)