From 08e3e7088b2708186918b03a89393717a752cae1 Mon Sep 17 00:00:00 2001 From: Dmitriy Date: Tue, 3 Dec 2019 12:36:36 +0500 Subject: [PATCH 1/4] Add vertical prop --- src/Coverflow.js | 14 +++++++++----- yarn.lock | 31 +++++++++++++++++++++++++++++-- 2 files changed, 38 insertions(+), 7 deletions(-) diff --git a/src/Coverflow.js b/src/Coverflow.js index c252a26..846dd0e 100644 --- a/src/Coverflow.js +++ b/src/Coverflow.js @@ -37,6 +37,7 @@ class Coverflow extends Component { children: PropTypes.arrayOf(PropTypes.element).isRequired, onPress: PropTypes.func, onChange: PropTypes.func.isRequired, + vertical: PropTypes.bool, }; static defaultProps = { @@ -52,6 +53,7 @@ class Coverflow extends Component { scaleDown: 0.8, scaleFurther: 0.75, onPress: undefined, + vertical: false, }; constructor(props) { @@ -78,7 +80,7 @@ class Coverflow extends Component { onMoveShouldSetPanResponder: (evt, gestureState) => ( // Since we want to handle presses on individual items as well // Only start the pan responder when there is some movement - Math.abs(gestureState.dx) > 10 + Math.abs(gestureState[this.props.vertical ? 'dy' : 'dx']) > 10 ), onPanResponderGrant: () => { scrollX.stopAnimation(); @@ -86,7 +88,7 @@ class Coverflow extends Component { }, onPanResponderTerminationRequest: () => true, onPanResponderMove: (evt, gestureState) => { - scrollX.setValue(-(gestureState.dx / sensitivity)); + scrollX.setValue(-(gestureState[this.props.vertical ? 'dy' : 'dx'] / sensitivity)); // scrollX.setValue(offset - (gestureState.dx / sensitivity)); }, onPanResponderRelease: (evt, gestureState) => { @@ -96,9 +98,9 @@ class Coverflow extends Component { const selection = Math.round(this.scrollPos); // Damp out the scroll with certain deceleration - if (selection > 0 && selection < count - 2 && Math.abs(gestureState.vx) > 1) { - const velocity = -Math.sign(gestureState.vx) - * (clamp(Math.abs(gestureState.vx), 3, 5) / sensitivity); + if (selection > 0 && selection < count - 2 && Math.abs(gestureState[this.props.vertical ? 'vy' : 'vx']) > 1) { + const velocity = -Math.sign(gestureState[this.props.vertical ? 'vy' : 'vx']) + * (clamp(Math.abs(gestureState[this.props.vertical ? 'vy' : 'vx']), 3, 5) / sensitivity); const deceleration = this.props.deceleration; Animated.decay(scrollX, { @@ -199,6 +201,7 @@ class Coverflow extends Component { scaleFurther, spacing, wingSpan, + vertical, } = this.props; const count = Children.count(children); @@ -216,6 +219,7 @@ class Coverflow extends Component { scaleDown={scaleDown} scaleFurther={scaleFurther} onSelect={this.onSelect} + vertical={vertical} > {item} diff --git a/yarn.lock b/yarn.lock index b0f3e5e..e5ceaec 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2115,6 +2115,11 @@ js-tokens@^3.0.0: version "3.0.1" resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7" +"js-tokens@^3.0.0 || ^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + js-yaml@^3.5.1, js-yaml@^3.7.0: version "3.8.3" resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.8.3.tgz#33a05ec481c850c8875929166fe1beb61c728766" @@ -2257,6 +2262,13 @@ loose-envify@^1.0.0: dependencies: js-tokens "^3.0.0" +loose-envify@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + makeerror@1.0.x: version "1.0.11" resolved "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" @@ -2411,9 +2423,10 @@ oauth-sign@~0.8.1: version "0.8.2" resolved "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" -object-assign@^4.0.1, object-assign@^4.1.0: +object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: version "4.1.1" - resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= object-keys@^1.0.10, object-keys@^1.0.8: version "1.0.11" @@ -2614,6 +2627,15 @@ progress@^1.1.8: version "1.1.8" resolved "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be" +prop-types@^15.6.0: + version "15.7.2" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" + integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ== + dependencies: + loose-envify "^1.4.0" + object-assign "^4.1.1" + react-is "^16.8.1" + prr@~0.0.0: version "0.0.0" resolved "https://registry.npmjs.org/prr/-/prr-0.0.0.tgz#1a84b85908325501411853d0081ee3fa86e2926a" @@ -2646,6 +2668,11 @@ react-deep-force-update@^1.0.0: version "1.0.1" resolved "https://registry.npmjs.org/react-deep-force-update/-/react-deep-force-update-1.0.1.tgz#f911b5be1d2a6fe387507dd6e9a767aa2924b4c7" +react-is@^16.8.1: + version "16.12.0" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.12.0.tgz#2cc0fe0fba742d97fd527c42a13bec4eeb06241c" + integrity sha512-rPCkf/mWBtKc97aLL9/txD8DZdemK0vkA3JMLShjlJB3Pj3s+lpf1KaBzMfQrAmhMQB0n1cU/SUGgKKBCe837Q== + react-proxy@^1.1.7: version "1.1.8" resolved "https://registry.npmjs.org/react-proxy/-/react-proxy-1.1.8.tgz#9dbfd9d927528c3aa9f444e4558c37830ab8c26a" From 1ba1f8c1e86e508965462e7d34ca120c77cd0885 Mon Sep 17 00:00:00 2001 From: Dmitriy Date: Tue, 3 Dec 2019 12:37:09 +0500 Subject: [PATCH 2/4] Change version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index f5536dc..9f34f22 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-native-coverflow", - "version": "0.1.7", + "version": "0.1.8", "description": "Coverflow component for React Native", "main": "lib/Coverflow.js", "files": [ From 535accc87d542263e34fd9ec5ab3fd32cd19f239 Mon Sep 17 00:00:00 2001 From: Demuzx <30521627+Demuzx@users.noreply.github.com> Date: Tue, 3 Dec 2019 18:41:01 +0500 Subject: [PATCH 3/4] Update package.json --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 9f34f22..2bd16cf 100644 --- a/package.json +++ b/package.json @@ -2,10 +2,10 @@ "name": "react-native-coverflow", "version": "0.1.8", "description": "Coverflow component for React Native", - "main": "lib/Coverflow.js", + "main": "src/Coverflow.js", "files": [ "docs", - "lib" + "src" ], "scripts": { "build": "babel --out-dir lib --ignore __tests__ src --source-maps", From eb7330671e68b875a9e63341334c404f368130f6 Mon Sep 17 00:00:00 2001 From: Demuzx <30521627+Demuzx@users.noreply.github.com> Date: Tue, 3 Dec 2019 18:42:35 +0500 Subject: [PATCH 4/4] Update package.json --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 2bd16cf..9b3b18c 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ }, "repository": { "type": "git", - "url": "git+https://github.com/Bhoos/react-native-coverflow.git" + "url": "git+https://github.com/Demuzx/react-native-coverflow.git" }, "author": "Ranjan Shrestha", "license": "MIT",