Skip to content

Commit

Permalink
Add disabled
Browse files Browse the repository at this point in the history
  • Loading branch information
Artem committed Feb 26, 2020
1 parent b6517a8 commit 76bda43
Show file tree
Hide file tree
Showing 7 changed files with 50 additions and 84 deletions.
8 changes: 0 additions & 8 deletions .eslintrc.json

This file was deleted.

1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,7 @@ module.exports = MyPicker;
| hideIndicator | - | `boolean` | Hide indicator |
| indicatorWidth | 1 | `number` | Indicator width |
| backgroundColor | transparent | `string` | Wheel Picker background color |
| disabled | undefind | `bool` | Disable picker selection |

# Time Picker

Expand Down
5 changes: 0 additions & 5 deletions index.js → index.tsx
Original file line number Diff line number Diff line change
@@ -1,8 +1,3 @@
/**
* @prettier
* @flow
* */

import WheelPicker from './src/WheelPicker'
import TimePicker from './src/TimePicker'
import DatePicker from './src/DatePicker'
Expand Down
10 changes: 5 additions & 5 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
{
"name": "react-native-wheel-picker-android",
"version": "2.0.6",
"version": "2.0.7",
"description": "Simple Wheel Picker for Android to use with react-native",
"main": "index.js",
"main": "index.tsx",
"repository": {
"type": "git",
"url": "git+https://github.com/ElekenAgency/ReactNativeWheelPicker.git"
"url": "git+https://github.com/kalontech/ReactNativeWheelPicker.git"
},
"keywords": [
"react-component",
Expand All @@ -19,9 +19,9 @@
"author": "Artem Kosiakevych <[email protected]>",
"license": "MIT",
"bugs": {
"url": "https://github.com/ElekenAgency/ReactNativeWheelPicker/issues"
"url": "https://github.com/kalontech/ReactNativeWheelPicker/issues"
},
"homepage": "https://github.com/ElekenAgency/ReactNativeWheelPicker",
"homepage": "https://github.com/kalontech/ReactNativeWheelPicker",
"dependencies": {
"moment": "^2.22.0"
}
Expand Down
19 changes: 12 additions & 7 deletions src/WheelPicker.android.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
* */

import React from 'react'
import { requireNativeComponent } from 'react-native'
import { requireNativeComponent, View } from 'react-native'

const WheelPickerView = requireNativeComponent('WheelPicker', null)

Expand All @@ -20,13 +20,14 @@ type Props = {
itemTextSize?: number,
selectedItem?: number,
backgroundColor?: string,
onItemSelected?: number => void
onItemSelected?: number => void,
disabled?: boolean,
}

export default class WheelPicker extends React.Component<Props> {
static defaultProps = {
style: {
width: 200,
width: 'auto',
height: 150,
},
}
Expand All @@ -38,11 +39,15 @@ export default class WheelPicker extends React.Component<Props> {
}

render() {
const { isCyclic, data } = this.props
return (
<WheelPickerView
{...this.props}
onChange={this.onItemSelected}
/>
<View pointerEvents={this.props.disabled ? "none" : "auto"}>
<WheelPickerView
{...this.props}
isCyclic={data.length > 2 ? isCyclic : false}
onChange={this.onItemSelected}
/>
</View>
)
}
}
59 changes: 0 additions & 59 deletions src/WheelPicker.ios.js

This file was deleted.

32 changes: 32 additions & 0 deletions src/WheelPicker.ios.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
import React, { useState } from "react";
import { Picker, View } from "react-native";

interface Props {
data: Array<string>;
selectedItem?: number;
onItemSelected?: Function;
disabled?: boolean;
}
const WheelPicker: React.FC<Props> = props => {
const [selectedItem, setSelectedItem] = useState(props.selectedItem || 0);
const { data, onItemSelected, disabled } = props;
if (!data || data.length === 0) return null;
return (
<View pointerEvents={disabled ? "none" : "auto"}>
<Picker
{...props}
selectedValue={data[selectedItem]}
onValueChange={(value, index): void => {
if (onItemSelected) onItemSelected(index);
setSelectedItem(index);
}}
>
{data.map((i, index) => (
<Picker.Item key={index} label={i} value={i} />
))}
</Picker>
</View>
);
};

export default WheelPicker;

0 comments on commit 76bda43

Please sign in to comment.