From 5f9a4a618ad2b6726d7628720a5105160508942a Mon Sep 17 00:00:00 2001 From: Viren Rajput Date: Thu, 14 Dec 2017 02:16:19 +0000 Subject: [PATCH 1/9] updated to use `prop-types` package --- lib/SegmentedView.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/lib/SegmentedView.js b/lib/SegmentedView.js index fbd3255..95ce1bb 100644 --- a/lib/SegmentedView.js +++ b/lib/SegmentedView.js @@ -1,8 +1,6 @@ var React = require('react'); -var { - PropTypes -} = React; +var PropTypes = require('prop-types'); var { StyleSheet, From 1c783faef8b8d30d27cead5dd09982988b1bf34d Mon Sep 17 00:00:00 2001 From: Viren Rajput Date: Thu, 14 Dec 2017 02:25:30 +0000 Subject: [PATCH 2/9] added `create-react-class` as dependency --- package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 43de724..541453d 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,8 @@ }, "homepage": "https://github.com/lelandrichardson/react-native-segmented-view", "dependencies": { - "react-tween-state": "0.0.5" + "react-tween-state": "0.0.5", + "create-react-class": "15.6.2" }, "peerDependencies": { "react-native": ">=0.34.1" From c4619e290083976150f544ff324c019729d8ef4e Mon Sep 17 00:00:00 2001 From: Viren Rajput Date: Thu, 14 Dec 2017 02:26:48 +0000 Subject: [PATCH 3/9] added `createReactClass` --- lib/SegmentedView.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/SegmentedView.js b/lib/SegmentedView.js index 95ce1bb..acab03d 100644 --- a/lib/SegmentedView.js +++ b/lib/SegmentedView.js @@ -2,6 +2,8 @@ var React = require('react'); var PropTypes = require('prop-types'); +var createReactClass = require('create-react-class'); + var { StyleSheet, Text, @@ -43,7 +45,7 @@ var styles = StyleSheet.create({ }); -var SegmentedView = React.createClass({ +var SegmentedView = createReactClass({ mixins: [tweenState.Mixin], From ecf0837c72b87534445639d36ec1c0f62b39ad75 Mon Sep 17 00:00:00 2001 From: Viren Rajput Date: Mon, 26 Feb 2018 18:59:17 +0000 Subject: [PATCH 4/9] updated the `setTimeout` to use `TimerMixin` --- lib/SegmentedView.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/SegmentedView.js b/lib/SegmentedView.js index acab03d..becf894 100644 --- a/lib/SegmentedView.js +++ b/lib/SegmentedView.js @@ -4,6 +4,8 @@ var PropTypes = require('prop-types'); var createReactClass = require('create-react-class'); +var TimerMixin = require('react-timer-mixin'); + var { StyleSheet, Text, @@ -47,7 +49,7 @@ var styles = StyleSheet.create({ var SegmentedView = createReactClass({ - mixins: [tweenState.Mixin], + mixins: [tweenState.Mixin, TimerMixin], propTypes: { duration: PropTypes.number, @@ -91,7 +93,7 @@ var SegmentedView = createReactClass({ }, componentDidMount() { - setTimeout(() => this.moveTo(this.props.index), 0); + this.setTimeout(() => this.moveTo(this.props.index), 0); }, componentWillReceiveProps(nextProps) { @@ -113,7 +115,7 @@ var SegmentedView = createReactClass({ onEnd: this.props.onTransitionEnd }); - setTimeout(this.props.onTransitionStart, 0); + this.setTimeout(this.props.onTransitionStart, 0); }, moveTo(index) { From 864430f3bb9dcd8645dc26dbafdcb8c19dd6b5c6 Mon Sep 17 00:00:00 2001 From: Viren Rajput Date: Mon, 26 Feb 2018 19:00:40 +0000 Subject: [PATCH 5/9] added `react-timer-mixin` dependency --- package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 541453d..ce0b170 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,8 @@ "homepage": "https://github.com/lelandrichardson/react-native-segmented-view", "dependencies": { "react-tween-state": "0.0.5", - "create-react-class": "15.6.2" + "create-react-class": "15.6.2", + "react-timer-mixin": "0.13.3" }, "peerDependencies": { "react-native": ">=0.34.1" From a8a757f56dfd4f970b94a4d7ab4af76490ed0234 Mon Sep 17 00:00:00 2001 From: Viren Rajput Date: Mon, 26 Feb 2018 19:01:03 +0000 Subject: [PATCH 6/9] version bump `2.0.1` --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index ce0b170..caef04d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-native-segmented-view", - "version": "2.0.0", + "version": "2.0.1", "description": "Segmented View for React Native (with animation)", "main": "index.js", "scripts": { From 8ab82bf6da271e31b9ab790698091632f3255017 Mon Sep 17 00:00:00 2001 From: Viren Rajput Date: Mon, 26 Feb 2018 19:11:55 +0000 Subject: [PATCH 7/9] updated `react-tween-state` dependency to 0.1.5 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index caef04d..59ced0f 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,7 @@ }, "homepage": "https://github.com/lelandrichardson/react-native-segmented-view", "dependencies": { - "react-tween-state": "0.0.5", + "react-tween-state": "0.1.5", "create-react-class": "15.6.2", "react-timer-mixin": "0.13.3" }, From ffb0aa99d09d5ea08f4ddd641531c0517832c8af Mon Sep 17 00:00:00 2001 From: Viren Rajput Date: Mon, 26 Feb 2018 19:13:42 +0000 Subject: [PATCH 8/9] version bump to 2.0.2 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 59ced0f..74c5048 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-native-segmented-view", - "version": "2.0.1", + "version": "2.0.2", "description": "Segmented View for React Native (with animation)", "main": "index.js", "scripts": { From eacc396cc0415b8a53c0e1ed69833ced55dcbc00 Mon Sep 17 00:00:00 2001 From: shahzaibmuneeb Date: Tue, 13 Mar 2018 20:09:03 +0000 Subject: [PATCH 9/9] Added support for animated bars on Android --- lib/SegmentedView.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/SegmentedView.js b/lib/SegmentedView.js index becf894..5f72cab 100644 --- a/lib/SegmentedView.js +++ b/lib/SegmentedView.js @@ -12,7 +12,8 @@ var { Image, View, TouchableHighlight, - Dimensions + Dimensions, + Platform } = require('react-native'); var screen = Dimensions.get('window'); @@ -101,6 +102,9 @@ var SegmentedView = createReactClass({ }, measureHandler(ox, oy, width) { + if(Platform.OS === 'android'){ + ox = this.props.index * width + } this.tweenState('barLeft', { easing: tweenState.easingTypes.easeInOutQuad, @@ -132,7 +136,7 @@ var SegmentedView = createReactClass({ renderTitle(title, i) { return ( - + this.props.onPress(i)}> {this.props.renderTitle ? this.props.renderTitle(title, i) : this._renderTitle(title, i)}